Skip to content

Commit f5960ad

Browse files
apartsinclaude
andcommitted
41-agent pipeline: add bibliography agent, cross-references, skill improvements
- Add Bibliography Agent (#40) with hyperlinked references per chapter - Add ~450 cross-reference hyperlinks across all 28 modules (was 1-4 per module, now 13-19) - Rewrite Cross-Reference Architect (#13) as EDITOR agent with module map - Add idempotency guards to all 6 EDITOR agents for safe re-runs - Clean pipeline numbering: 18 phases (0-17), Phase 12 "Enrich" consolidation - Add Agent Classification section (EDITOR vs REVIEWER) to SKILL.md - Add centralized Book Structure Reference with module map - Add Incremental Agent Pass workflow for running subsets of agents - Add post-integration em-dash validation step - Fix Illustrator mkdir ordering (create dir before generation) - Update team.html: 41 agents, 18 phases, Dr. Margot Reeves bibliography card - Generate avatar for agent #40 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent bf9acf5 commit f5960ad

31 files changed

Lines changed: 452 additions & 414 deletions

File tree

agents/avatars/40-bibliography.png

628 KB
Loading

agents/avatars/generate_all_avatars.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,8 @@
5050
("36-illustrator", "a French female artist named Iris with paint-stained apron, wild colorful hair, surrounded by floating illustrations and paintbrushes"),
5151
("37-epigraph-writer", "a British male poet named Quentin with a quill pen, sitting in a leather armchair, chuckling at his own witty writing"),
5252
("38-application-example", "a Nigerian female business consultant named Nadia with a blazer, holding case study folders, standing in front of industry charts"),
53+
("39-fun-injector", "a charismatic mixed-race male comedian named Ziggy with wild curly hair, colorful suspenders, holding a rubber chicken in one hand and a textbook in the other, winking"),
54+
("40-bibliography", "a distinguished older white female librarian named Margot with silver hair in a French twist, reading glasses on a chain, surrounded by floating hyperlinked book spines and glowing citation marks"),
5355
]
5456

5557
BASE_STYLE = "Digital art avatar portrait, Kurzgesagt-inspired minimal cartoon style, clean vector lines, vibrant flat colors, circular composition, gradient background, friendly and professional, no text"

part-1-foundations/module-00-ml-pytorch-foundations/index.html

Lines changed: 23 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -196,21 +196,27 @@ <h2>Chapter Overview</h2>
196196
This chapter is your launchpad. Before we can understand how Large Language Models work,
197197
we need to build a solid foundation in machine learning, neural networks, and the tools
198198
we will use throughout the course. Think of this chapter as ensuring everyone speaks the
199-
same language before the real journey begins.
199+
same language before the real journey begins, from
200+
<a href="../module-01-foundations-nlp-text-representation/index.html">NLP fundamentals (Module 1)</a>
201+
all the way through to
202+
<a href="../../part-6-agents-applications/module-21-ai-agents/index.html">building AI agents (Module 21)</a>.
200203
</p>
201204
<p>
202205
We start with the core ideas of machine learning: how machines learn patterns from data,
203206
what can go wrong (overfitting), and how to fix it. Then we dive into neural networks
204-
and the magic of backpropagation. Next, we get our hands dirty with PyTorch, the
207+
and the magic of backpropagation, concepts you will see again when we study the
208+
<a href="../module-04-transformer-architecture/index.html">Transformer architecture (Module 4)</a>.
209+
Next, we get our hands dirty with PyTorch, the
205210
framework that powers most modern LLM research and development. Finally, we introduce
206-
reinforcement learning, the paradigm that makes LLMs helpful through RLHF.
211+
reinforcement learning, the paradigm that makes LLMs helpful through RLHF, a topic
212+
explored in full in <a href="../../part-4-training-adapting/module-16-alignment-rlhf-dpo/index.html">Module 16: Alignment, RLHF &amp; DPO</a>.
207213
</p>
208214
</div>
209215

210216
<div class="callout practical-example">
211217
<h4>Practical Example: The Shortcut That Backfired</h4>
212218
<p><strong>Who:</strong> A junior ML engineer at a mid-sized e-commerce company (150 employees)</p>
213-
<p><strong>Situation:</strong> Tasked with building a product recommendation model, she jumped straight into fine-tuning a large pretrained transformer without reviewing ML fundamentals.</p>
219+
<p><strong>Situation:</strong> Tasked with building a product recommendation model, she jumped straight into <a href="../../part-4-training-adapting/module-13-fine-tuning-fundamentals/index.html">fine-tuning</a> a large pretrained transformer without reviewing ML fundamentals.</p>
214220
<p><strong>Problem:</strong> The model achieved 94% accuracy on the training set but only 61% on production data. She had no idea why.</p>
215221
<p><strong>Dilemma:</strong> Ship the underperforming model to meet a deadline, or pause and diagnose the gap between training and production performance.</p>
216222
<p><strong>Decision:</strong> She convinced her manager to allow a one-week pause to revisit overfitting diagnostics and regularization basics.</p>
@@ -222,11 +228,11 @@ <h4>Practical Example: The Shortcut That Backfired</h4>
222228
<div class="objectives">
223229
<h3>Learning Objectives</h3>
224230
<ul>
225-
<li>Explain supervised learning, loss functions, and gradient descent intuitively and mathematically</li>
231+
<li>Explain supervised learning, loss functions, and gradient descent intuitively and mathematically (these resurface in <a href="../../part-4-training-adapting/module-13-fine-tuning-fundamentals/index.html">Module 13: Fine-Tuning Fundamentals</a>)</li>
226232
<li>Describe the bias-variance tradeoff and apply regularization techniques</li>
227233
<li>Build and train neural networks, understanding backpropagation at a mechanical level</li>
228-
<li>Write complete PyTorch training loops with custom datasets and GPU acceleration</li>
229-
<li>Explain the RL framework (agent, policy, reward) and its connection to LLM training</li>
234+
<li>Write complete PyTorch training loops with custom datasets and GPU acceleration, skills applied throughout <a href="../../part-4-training-adapting/module-14-peft/index.html">Part 4: Training &amp; Adapting</a></li>
235+
<li>Explain the RL framework (agent, policy, reward) and its connection to LLM training via <a href="../../part-4-training-adapting/module-16-alignment-rlhf-dpo/index.html">RLHF and DPO (Module 16)</a></li>
230236
</ul>
231237
</div>
232238

@@ -245,7 +251,8 @@ <h2 style="margin-bottom: 1rem; font-size: 1.2rem;">Sections</h2>
245251
<span class="badge" title="Fundamentals">📐</span>
246252
<span class="section-desc">
247253
Supervised learning, loss functions, gradient descent, overfitting, regularization,
248-
bias-variance tradeoff, cross-validation.
254+
bias-variance tradeoff, cross-validation. These optimization concepts carry directly into
255+
<a href="../../part-2-understanding-llms/module-06-pretraining-scaling-laws/index.html" style="color: var(--text-light);">pretraining and scaling (Module 6)</a>.
249256
</span>
250257
</a>
251258
</li>
@@ -257,7 +264,8 @@ <h2 style="margin-bottom: 1rem; font-size: 1.2rem;">Sections</h2>
257264
<span class="badge" title="Fundamentals">📐</span>
258265
<span class="section-desc">
259266
Perceptrons, MLPs, activation functions, backpropagation, batch normalization,
260-
dropout, CNNs, training best practices.
267+
dropout, CNNs, training best practices. The foundation for understanding
268+
<a href="../module-03-sequence-models-attention/index.html" style="color: var(--text-light);">sequence models and attention (Module 3)</a>.
261269
</span>
262270
</a>
263271
</li>
@@ -283,7 +291,9 @@ <h4>Practical Example: Debugging a Silent Gradient Failure</h4>
283291
<span class="badge" title="Lab">🔧</span>
284292
<span class="section-desc">
285293
Tensors, autograd, nn.Module, DataLoader, training loops, saving/loading models,
286-
debugging. Includes hands-on lab: build an image classifier.
294+
debugging. Includes hands-on lab: build an image classifier. You will use these PyTorch skills in every hands-on module, especially
295+
<a href="../../part-4-training-adapting/module-14-peft/index.html" style="color: var(--text-light);">PEFT (Module 14)</a> and
296+
<a href="../../part-2-understanding-llms/module-08-inference-optimization/index.html" style="color: var(--text-light);">inference optimization (Module 8)</a>.
287297
</span>
288298
</a>
289299
</li>
@@ -295,7 +305,8 @@ <h4>Practical Example: Debugging a Silent Gradient Failure</h4>
295305
<span class="badge" title="Fundamentals">📐</span>
296306
<span class="section-desc">
297307
Agent-environment loop, policy, value functions, Bellman equation, policy gradients,
298-
PPO, and how RL connects to LLM training (RLHF).
308+
PPO, and how RL connects to LLM training (RLHF). See also
309+
<a href="../../part-6-agents-applications/module-21-ai-agents/index.html" style="color: var(--text-light);">AI Agents (Module 21)</a> for how RL-trained policies power autonomous systems.
299310
</span>
300311
</a>
301312
</li>
@@ -307,7 +318,7 @@ <h4>Practical Example: Choosing PyTorch Under Pressure</h4>
307318
<p><strong>Situation:</strong> The team needed to prototype a fraud detection model and had two weeks before a board demo. Half the team knew TensorFlow; half knew PyTorch.</p>
308319
<p><strong>Problem:</strong> Framework fragmentation meant code reviews took twice as long, and shared utilities were incompatible across the two codebases.</p>
309320
<p><strong>Dilemma:</strong> Standardize on one framework (slowing down half the team initially) or maintain both and accept long-term maintenance costs.</p>
310-
<p><strong>Decision:</strong> She standardized on PyTorch, citing its dominance in research papers the team needed to reproduce and its more intuitive debugging with eager execution.</p>
321+
<p><strong>Decision:</strong> She standardized on PyTorch, citing its dominance in research papers the team needed to reproduce (see <a href="../../part-2-understanding-llms/module-07-modern-llm-landscape/index.html">Module 7: Modern LLM Landscape</a>) and its more intuitive debugging with eager execution.</p>
311322
<p><strong>How:</strong> She allocated three days for a "PyTorch bootcamp" covering tensors, autograd, and training loops, then paired TensorFlow veterans with PyTorch users for the remaining sprint.</p>
312323
<p><strong>Result:</strong> The team delivered the demo on time. Over the following quarter, code review turnaround dropped by 35%, and onboarding new hires became two days faster.</p>
313324
<p><strong>Lesson:</strong> <strong>Short-term slowdowns from standardizing tools pay compound dividends in team velocity.</strong></p>

part-1-foundations/module-01-foundations-nlp-text-representation/index.html

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -207,15 +207,18 @@ <h2>Chapter Overview</h2>
207207
<p><strong>Every modern AI system that can read, write, or converse began with the ideas in this chapter.</strong></p>
208208
<p>
209209
How do machines learn to read? This chapter traces the evolution of text representation
210-
from counting words to understanding meaning. We start with the fundamental challenge
210+
from counting words to understanding meaning. Building on the neural network and optimization
211+
fundamentals from <a href="../module-00-ml-pytorch-foundations/index.html">Module 0: ML &amp; PyTorch Foundations</a>,
212+
we start with the fundamental challenge
211213
of turning raw human language into numbers, work through classical techniques like
212214
Bag-of-Words and TF-IDF, then explore the revolution sparked by Word2Vec and dense
213215
word embeddings.
214216
</p>
215217
<p>
216218
Along the way, you will build a complete text preprocessing pipeline, train word
217219
embeddings from scratch, explore the famous king/queen analogy, and see how contextual
218-
embeddings (ELMo) paved the road to the transformer models that power every modern LLM.
220+
embeddings (ELMo) paved the road to the transformer models covered in
221+
<a href="../module-04-transformer-architecture/index.html">Module 4: Transformer Architecture</a>.
219222
Understanding this progression is essential: the entire history of NLP is a quest for
220223
better representations of meaning, and each technique you learn here is a building block
221224
for everything that follows.
@@ -231,19 +234,19 @@ <h4>Practical Example: When Bag-of-Words Met Sarcasm</h4>
231234
<p><strong>Decision:</strong> They replaced TF-IDF with pre-trained Word2Vec embeddings, reasoning that dense vectors would capture tonal patterns that sparse counts could not.</p>
232235
<p><strong>How:</strong> They fine-tuned 300-dimensional Word2Vec vectors on their review corpus, then trained a simple logistic regression on the averaged embeddings.</p>
233236
<p><strong>Result:</strong> Sarcasm misclassification dropped from 23% to 9%. Customer response SLA compliance rose from 74% to 91% within two months.</p>
234-
<p><strong>Lesson:</strong> <strong>Representation quality is the ceiling for downstream model performance. Upgrading from sparse to dense embeddings often delivers bigger gains than swapping classifiers.</strong></p>
237+
<p><strong>Lesson:</strong> <strong>Representation quality is the ceiling for downstream model performance. Upgrading from sparse to dense embeddings often delivers bigger gains than swapping classifiers.</strong> For production-scale embedding pipelines, see <a href="../../part-5-retrieval-conversation/module-18-embeddings-vector-db/index.html">Module 18: Embeddings &amp; Vector Databases</a>.</p>
235238
</div>
236239

237240
<div class="objectives">
238241
<h3>Learning Objectives</h3>
239242
<ul>
240-
<li>Explain the evolution of NLP from rule-based systems to modern LLMs and <em>why</em> each transition happened</li>
243+
<li>Explain the evolution of NLP from rule-based systems to modern LLMs (surveyed in <a href="../../part-2-understanding-llms/module-07-modern-llm-landscape/index.html">Module 7: Modern LLM Landscape</a>) and <em>why</em> each transition happened</li>
241244
<li>Build a complete text preprocessing pipeline using spaCy and NLTK</li>
242245
<li>Implement and compare Bag-of-Words, TF-IDF, and one-hot encoding, and articulate their limitations</li>
243246
<li>Explain how Word2Vec, GloVe, and FastText create dense word representations and <em>why</em> they work</li>
244-
<li>Train a Word2Vec model from scratch and explore word analogies</li>
247+
<li>Train a Word2Vec model from scratch (using techniques from <a href="../module-00-ml-pytorch-foundations/index.html">Module 0</a>) and explore word analogies</li>
245248
<li>Explain why static embeddings fail for polysemous words and how ELMo introduced contextual embeddings</li>
246-
<li>Articulate the "big picture" of how text representation evolved toward transformers and LLMs</li>
249+
<li>Articulate the "big picture" of how text representation evolved toward transformers and LLMs (explored further in <a href="../../part-2-understanding-llms/module-06-pretraining-scaling-laws/index.html">Module 6: Pretraining &amp; Scaling Laws</a>)</li>
247250
</ul>
248251
</div>
249252

@@ -275,7 +278,7 @@ <h2 style="margin-bottom: 1rem; font-size: 1.2rem;">Sections</h2>
275278
<span class="badge" title="Lab">&#x1F527;</span>
276279
<span class="section-desc">
277280
The preprocessing pipeline (tokenization, lemmatization, stop words),
278-
Bag-of-Words, TF-IDF, one-hot encoding, n-grams, and their limitations.
281+
Bag-of-Words, TF-IDF, one-hot encoding, n-grams, and their limitations. Tokenization is explored in depth in <a href="../module-02-tokenization-subword-models/index.html">Module 2</a>.
279282
</span>
280283
</a>
281284
</li>
@@ -288,7 +291,7 @@ <h2 style="margin-bottom: 1rem; font-size: 1.2rem;">Sections</h2>
288291
<span class="badge" title="Lab">&#x1F527;</span>
289292
<span class="section-desc">
290293
The distributional hypothesis, Skip-gram, negative sampling, word analogies,
291-
cosine similarity, GloVe co-occurrence matrices, FastText subwords, and t-SNE visualization.
294+
cosine similarity, GloVe co-occurrence matrices, FastText subwords, and t-SNE visualization. These embeddings underpin the retrieval systems in <a href="../../part-5-retrieval-conversation/module-19-rag/index.html">Module 19: RAG</a>.
292295
</span>
293296
</a>
294297
</li>
@@ -300,7 +303,7 @@ <h2 style="margin-bottom: 1rem; font-size: 1.2rem;">Sections</h2>
300303
<span class="badge" title="Fundamentals">&#x1F4D0;</span>
301304
<span class="section-desc">
302305
The polysemy problem, ELMo's bidirectional LSTMs, layer-wise representations,
303-
the pre-train/fine-tune paradigm, and how this led to transformers and LLMs.
306+
the pre-train/fine-tune paradigm, and how this led to transformers and LLMs. Continues into <a href="../module-03-sequence-models-attention/index.html">Module 3: Sequence Models &amp; Attention</a>.
304307
</span>
305308
</a>
306309
</li>
@@ -315,7 +318,7 @@ <h4>Practical Example: The Polysemy Trap in Medical Search</h4>
315318
<p><strong>Decision:</strong> They adopted ELMo embeddings, which generate a different vector for "cold" depending on surrounding words.</p>
316319
<p><strong>How:</strong> They replaced their GloVe-based query encoder with a fine-tuned ELMo model, keeping the same retrieval pipeline and re-indexing their 50K article corpus.</p>
317320
<p><strong>Result:</strong> Relevant-result click-through rate jumped from 34% to 52%. Polysemy-related support tickets dropped by 60% in the first quarter.</p>
318-
<p><strong>Lesson:</strong> <strong>When your domain has words with multiple critical meanings, static embeddings will silently degrade search quality. Contextual embeddings are not a luxury; they are a necessity.</strong></p>
321+
<p><strong>Lesson:</strong> <strong>When your domain has words with multiple critical meanings, static embeddings will silently degrade search quality. Contextual embeddings are not a luxury; they are a necessity.</strong> Modern transformer-based approaches (see <a href="../module-04-transformer-architecture/index.html">Module 4: Transformer Architecture</a>) take this idea even further with full self-attention.</p>
319322
</div>
320323

321324
<div class="callout practical-example">
@@ -327,7 +330,7 @@ <h4>Practical Example: Preprocessing Saves a Recommendation Engine</h4>
327330
<p><strong>Decision:</strong> They built a proper pipeline: HTML stripping, lowercasing, lemmatization, stop-word removal, and boilerplate detection.</p>
328331
<p><strong>How:</strong> Using spaCy, they wrote a five-stage pipeline that reduced the average document from 1,200 tokens to 180 meaningful lemmas, then retrained the same TF-IDF model.</p>
329332
<p><strong>Result:</strong> User engagement with recommendations rose 41%. The "thumbs-down" rate on suggestions fell from 38% to 14%, all without changing the underlying algorithm.</p>
330-
<p><strong>Lesson:</strong> <strong>Before reaching for a more powerful model, audit your preprocessing. Clean input often outperforms a fancy model fed noisy data.</strong></p>
333+
<p><strong>Lesson:</strong> <strong>Before reaching for a more powerful model, audit your preprocessing. Clean input often outperforms a fancy model fed noisy data.</strong> For a deeper look at subword tokenization techniques that modern LLMs use, see <a href="../module-02-tokenization-subword-models/index.html">Module 2: Tokenization &amp; Subword Models</a>.</p>
331334
</div>
332335

333336
<div class="callout fun-note">
@@ -337,7 +340,7 @@ <h4>Practical Example: Preprocessing Saves a Recommendation Engine</h4>
337340
<div class="prereqs">
338341
<h3>Prerequisites</h3>
339342
<ul>
340-
<li>Module 00: ML &amp; PyTorch Foundations (especially sections on neural networks and gradient descent)</li>
343+
<li><a href="../module-00-ml-pytorch-foundations/index.html">Module 00: ML &amp; PyTorch Foundations</a> (especially sections on neural networks and gradient descent)</li>
341344
<li>Python proficiency (functions, classes, list comprehensions)</li>
342345
<li>Basic linear algebra: vectors, dot products, matrix multiplication</li>
343346
<li>Familiarity with NumPy and basic scikit-learn usage</li>

0 commit comments

Comments
 (0)