From f96f1232eeb48215b30abdf475bed89d0b52dceb Mon Sep 17 00:00:00 2001 From: artale Date: Fri, 12 Jun 2026 10:05:12 +0200 Subject: [PATCH] feat: 2 blog posts (agent loops, context window), interactive Quiz component --- site/.vitepress/dist/404.html | 8 +- site/.vitepress/dist/api-keys.html | 8 +- .../dist/assets/blog_index.md.B5nL9faf.js | 1 - .../assets/blog_index.md.B5nL9faf.lean.js | 1 - site/.vitepress/dist/blog/index.html | 12 +- .../dist/blog/posts/cascade-routing.html | 8 +- .../blog/posts/choosing-security-level.html | 8 +- .../dist/blog/posts/mental-models.html | 8 +- .../dist/blog/posts/repo-is-spec.html | 8 +- .../dist/blog/posts/security-ladder.html | 8 +- .../dist/blog/posts/three-x-rule.html | 8 +- .../dist/blog/posts/verifier-pattern.html | 8 +- .../dist/blog/posts/vibe-vs-agentic.html | 8 +- .../dist/blog/posts/what-is-an-agent.html | 8 +- .../dist/blog/posts/why-multi-agent.html | 8 +- site/.vitepress/dist/buy.html | 8 +- site/.vitepress/dist/certificate.html | 12 +- site/.vitepress/dist/free-preview.html | 8 +- site/.vitepress/dist/getting-started.html | 8 +- site/.vitepress/dist/hashmap.json | 2 +- site/.vitepress/dist/index.html | 8 +- site/.vitepress/dist/labs/index.html | 8 +- site/.vitepress/dist/labs/l1-first-agent.html | 8 +- site/.vitepress/dist/labs/l2-context.html | 8 +- site/.vitepress/dist/labs/l2-multi-tool.html | 8 +- site/.vitepress/dist/labs/l3-verifier.html | 8 +- .../dist/labs/l3-whitelist-hook.html | 8 +- site/.vitepress/dist/labs/l4-agent-chain.html | 8 +- site/.vitepress/dist/labs/l4-multi-team.html | 8 +- site/.vitepress/dist/labs/l5-cicd.html | 8 +- .../dist/labs/l5-observability.html | 8 +- .../dist/labs/l6-cost-optimization.html | 8 +- .../.vitepress/dist/labs/l6-eval-harness.html | 8 +- .../.vitepress/dist/labs/l7-autoresearch.html | 8 +- site/.vitepress/dist/labs/l7-meta-agent.html | 8 +- .../dist/modules/competitive-analysis.html | 8 +- site/.vitepress/dist/modules/curriculum.html | 8 +- site/.vitepress/dist/modules/debate.html | 8 +- site/.vitepress/dist/modules/feynman.html | 8 +- .../.vitepress/dist/modules/field-manual.html | 8 +- .../dist/modules/m1-foundations.html | 8 +- .../dist/modules/m2-architecture.html | 8 +- site/.vitepress/dist/modules/m3-safety.html | 8 +- .../dist/modules/m4-orchestration.html | 8 +- .../dist/modules/m5-production.html | 8 +- .../.vitepress/dist/modules/m6-economics.html | 8 +- site/.vitepress/dist/modules/m7-advanced.html | 8 +- site/.vitepress/dist/modules/m8-capstone.html | 8 +- .../dist/modules/non-technical.html | 8 +- .../dist/modules/reference-stack.html | 8 +- .../dist/modules/software-factory.html | 8 +- .../dist/modules/tool-reference.html | 8 +- .../dist/public/certificate/template.html | 8 +- site/.vitepress/dist/resources.html | 8 +- site/.vitepress/dist/skills.html | 8 +- site/.vitepress/dist/troubleshooting.html | 8 +- site/.vitepress/dist/verify.html | 8 +- site/.vitepress/theme/Quiz.vue | 218 ++++++++++++++++++ site/.vitepress/theme/index.js | 2 + site/blog/index.md | 56 ++--- site/blog/posts/agent-loops-complete-guide.md | 146 ++++++++++++ site/blog/posts/context-window-management.md | 141 +++++++++++ 62 files changed, 758 insertions(+), 249 deletions(-) delete mode 100644 site/.vitepress/dist/assets/blog_index.md.B5nL9faf.js delete mode 100644 site/.vitepress/dist/assets/blog_index.md.B5nL9faf.lean.js create mode 100644 site/.vitepress/theme/Quiz.vue create mode 100644 site/blog/posts/agent-loops-complete-guide.md create mode 100644 site/blog/posts/context-window-management.md diff --git a/site/.vitepress/dist/404.html b/site/.vitepress/dist/404.html index 3c88e06..667aca7 100644 --- a/site/.vitepress/dist/404.html +++ b/site/.vitepress/dist/404.html @@ -6,12 +6,12 @@ Page Not Found | Agentic Engineering the Hard Way - + - + - + @@ -29,7 +29,7 @@
- + \ No newline at end of file diff --git a/site/.vitepress/dist/api-keys.html b/site/.vitepress/dist/api-keys.html index 0f84927..fb8fa2c 100644 --- a/site/.vitepress/dist/api-keys.html +++ b/site/.vitepress/dist/api-keys.html @@ -6,12 +6,12 @@ API Key Setup Guide | Agentic Engineering the Hard Way - + - + - + @@ -40,7 +40,7 @@ # Mock (no key needed) python -c "from mock_llm import MockAnthropic; c=MockAnthropic(); print(c.messages.create(messages=[{'role':'user','content':'hi'}]).content[0].text)"

Free Tier Limits

ProviderFree CreditsRate Limit
Anthropic$5-10 signup creditVaries by model
OpenAI$5-18 signup creditVaries by tier
GeminiFree tier (60 req/min)60 requests/minute
OpenRouterVaries by modelVaries

The course uses ~$0.50-2.00 in API costs total with Anthropic, or $0 with the mock LLM.

- + \ No newline at end of file diff --git a/site/.vitepress/dist/assets/blog_index.md.B5nL9faf.js b/site/.vitepress/dist/assets/blog_index.md.B5nL9faf.js deleted file mode 100644 index 154b0c9..0000000 --- a/site/.vitepress/dist/assets/blog_index.md.B5nL9faf.js +++ /dev/null @@ -1 +0,0 @@ -import{c as a,Q as t,j as o,m as n}from"./chunks/framework.BPKcPtvA.js";const d=JSON.parse('{"title":"Blog","description":"","frontmatter":{},"headers":[],"relativePath":"blog/index.md","filePath":"blog/index.md","lastUpdated":1780488472000}'),s={name:"blog/index.md"};function r(i,e,l,h,u,c){return t(),o("div",null,[...e[0]||(e[0]=[n('

Blog

Essays on agentic engineering, security, multi-agent systems, and production deployments.

Latest Posts

What Is an AI Agent, Really? — June 2

LLM + Tools + Loop. The simplest correct explanation.

Why One Agent Is Not Enough — June 3

Context, capability, and reliability ceilings of single-agent systems.

Vibe Coding vs Agentic Engineering — June 4

The 5 hard rules that separate production from prompt gambling.

The Repo Is the Spec — June 5

Why every instruction your agent needs must live in a file.

The 6-Level Security Ladder — June 6

How to stop your AI agents from destroying production. From ACIP to no-bash.

Choosing Your Security Level — June 7

Which L-level you need based on what your agent can access.

The Verifier Pattern — June 8

A read-only verification agent that catches mistakes before production.

Agent Memory: Mental Models — June 9

How agents remember across sessions using self-maintained expertise files.

The 3x Rule of Agent Costs — June 10

Why production agents cost 3x your prototype estimate.

Cascade Routing: Cut API Costs by 66% — June 11

Use cheap models for simple steps, expensive models for complex reasoning.


Posts are based on content from the Agentic Engineering Course. Each topic has a corresponding module with labs and exercises.

',25)])])}const p=a(s,[["render",r]]);export{d as __pageData,p as default}; diff --git a/site/.vitepress/dist/assets/blog_index.md.B5nL9faf.lean.js b/site/.vitepress/dist/assets/blog_index.md.B5nL9faf.lean.js deleted file mode 100644 index 4bae901..0000000 --- a/site/.vitepress/dist/assets/blog_index.md.B5nL9faf.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{c as a,Q as t,j as o,m as n}from"./chunks/framework.BPKcPtvA.js";const d=JSON.parse('{"title":"Blog","description":"","frontmatter":{},"headers":[],"relativePath":"blog/index.md","filePath":"blog/index.md","lastUpdated":1780488472000}'),s={name:"blog/index.md"};function r(i,e,l,h,u,c){return t(),o("div",null,[...e[0]||(e[0]=[n("",25)])])}const p=a(s,[["render",r]]);export{d as __pageData,p as default}; diff --git a/site/.vitepress/dist/blog/index.html b/site/.vitepress/dist/blog/index.html index 256fb78..87b6661 100644 --- a/site/.vitepress/dist/blog/index.html +++ b/site/.vitepress/dist/blog/index.html @@ -6,14 +6,14 @@ Blog | Agentic Engineering the Hard Way - + - + - + - + @@ -28,8 +28,8 @@ -
Skip to content

Blog

Essays on agentic engineering, security, multi-agent systems, and production deployments.

Latest Posts

What Is an AI Agent, Really? — June 2

LLM + Tools + Loop. The simplest correct explanation.

Why One Agent Is Not Enough — June 3

Context, capability, and reliability ceilings of single-agent systems.

Vibe Coding vs Agentic Engineering — June 4

The 5 hard rules that separate production from prompt gambling.

The Repo Is the Spec — June 5

Why every instruction your agent needs must live in a file.

The 6-Level Security Ladder — June 6

How to stop your AI agents from destroying production. From ACIP to no-bash.

Choosing Your Security Level — June 7

Which L-level you need based on what your agent can access.

The Verifier Pattern — June 8

A read-only verification agent that catches mistakes before production.

Agent Memory: Mental Models — June 9

How agents remember across sessions using self-maintained expertise files.

The 3x Rule of Agent Costs — June 10

Why production agents cost 3x your prototype estimate.

Cascade Routing: Cut API Costs by 66% — June 11

Use cheap models for simple steps, expensive models for complex reasoning.


Posts are based on content from the Agentic Engineering Course. Each topic has a corresponding module with labs and exercises.

Last updated:

FDSA Agency — Agentic Engineering Course. Part of the fdsa.ai orchestration platform.

- +
Skip to content

Blog

Essays on agentic engineering, security, multi-agent systems, and production deployments.

Latest Posts

Context Window Management for AI Agents — June 18

Sliding windows, summarization, mental models, and the 80/20 rule of context budget allocation.

Agent Loops: The Complete Guide — June 15

Three loop types, termination conditions, anti-patterns, and the 5 rules of production loops.

Cascade Routing: Cut API Costs by 66% — June 11

Use cheap models for simple steps, expensive models for complex reasoning.

The 3x Rule of Agent Costs — June 10

Why production agents cost 3x your prototype estimate.

Agent Memory: Mental Models — June 9

How agents remember across sessions using self-maintained expertise files.

The Verifier Pattern — June 8

A read-only verification agent that catches mistakes before production.

Choosing Your Security Level — June 7

Which L-level you need based on what your agent can access.

The 6-Level Security Ladder — June 6

How to stop your AI agents from destroying production. From ACIP to no-bash.

The Repo Is the Spec — June 5

Why every instruction your agent needs must live in a file.

Vibe Coding vs Agentic Engineering — June 4

The 5 hard rules that separate production from prompt gambling.

Why One Agent Is Not Enough — June 3

Context, capability, and reliability ceilings of single-agent systems.

What Is an AI Agent, Really? — June 2

LLM + Tools + Loop. The simplest correct explanation.

Posts are based on content from the Agentic Engineering Course. Each topic has a corresponding module with labs and exercises.

Last updated:

FDSA Agency — Agentic Engineering Course. Part of the fdsa.ai orchestration platform.

+ \ No newline at end of file diff --git a/site/.vitepress/dist/blog/posts/cascade-routing.html b/site/.vitepress/dist/blog/posts/cascade-routing.html index 2ef2cb3..9d12b43 100644 --- a/site/.vitepress/dist/blog/posts/cascade-routing.html +++ b/site/.vitepress/dist/blog/posts/cascade-routing.html @@ -6,12 +6,12 @@ Cascade Routing: Cut Your API Costs by 66% | Agentic Engineering the Hard Way - + - + - + @@ -40,7 +40,7 @@ return "claude-opus-4" elif task_complexity == "formatting": return "gemini-2.5-flash"

When Not to Cascade

If your task is a single critical decision, use the best model. Cascade routing shines when you have a pipeline of steps with varying complexity, which is most real-world agent systems.


From Module 6 of the Agentic Engineering Course. The full module includes a cost optimization lab with working code.

- + \ No newline at end of file diff --git a/site/.vitepress/dist/blog/posts/choosing-security-level.html b/site/.vitepress/dist/blog/posts/choosing-security-level.html index cda14a6..7f7829f 100644 --- a/site/.vitepress/dist/blog/posts/choosing-security-level.html +++ b/site/.vitepress/dist/blog/posts/choosing-security-level.html @@ -6,12 +6,12 @@ Choosing Your Security Level | Agentic Engineering the Hard Way - + - + - + @@ -29,7 +29,7 @@
Skip to content

Choosing Your Security Level

June 7, 2026

Not every agent needs Level 5 security. The right level depends on what your agent can access.

The Decision Table

If your agent has access to...Start at...Why
Nothing important (demos, tutorials)L1Blast radius is zero
Your source code and configsL3A bad git push costs a day
Production credentials (AWS, DB)L4-L5There is no acceptable failure
Customer data (PII, financial)L5Compliance requires it

Level 1-2: When You Can Get Away With It

L1 (system prompt rules) and L2 (safe-mode skill) work well for tutorial agents that only touch demo data, personal assistants with no production access, and agents running in isolated environments.

The model will refuse most dangerous requests. "Most" is the problem. At a 1% per-turn failure rate, over 100 turns there is a 63% chance of at least one failure.

Level 3: The Minimum for Production Code

L3 (blacklist hook) catches direct attacks like rm -rf /. But it misses the marquee break: the agent writes a Python script that does the damage, and the blacklist only sees "python cleanup.py" which is not in the blocklist.

Level 4: The Sweet Spot

Whitelist hooks only allow N safelisted commands. The agent cannot run python cleanup.py because python is not safelisted. This prevents the L3 marque break. Use L4 as your default for any agent with access to production systems.

Level 5: The Gold Standard

No bash at all. The agent has only purpose-built tools: Read, Write, Edit, Grep, Glob. Required for any agent handling customer data, financial transactions, or healthcare information.

Rule of Thumb

If the agent can touch anything you cannot easily roll back, start at L4 and plan to get to L5.


From Module 3 of the Agentic Engineering Course. The full module includes runnable code for all 6 security levels.

Last updated:

FDSA Agency — Agentic Engineering Course. Part of the fdsa.ai orchestration platform.

- + \ No newline at end of file diff --git a/site/.vitepress/dist/blog/posts/mental-models.html b/site/.vitepress/dist/blog/posts/mental-models.html index 5c70f16..e6c5344 100644 --- a/site/.vitepress/dist/blog/posts/mental-models.html +++ b/site/.vitepress/dist/blog/posts/mental-models.html @@ -6,12 +6,12 @@ Agent Memory: Mental Models That Compound | Agentic Engineering the Hard Way - + - + - + @@ -39,7 +39,7 @@ - type: failure_pattern observation: "WebSocket reconnection needs backoff" status: unaddressed

The Rules

  1. Agents own their mental models. You do not touch them. The agent reads, writes, and updates its own expertise file.

  2. Self-improve commands validate against the codebase. The agent greps for evidence, checks if its knowledge is still accurate, and updates stale entries.

  3. Read-only expertise for critical knowledge. Billing workflows, deployment procedures, and security policies should never change.

  4. Knowledge compounds across sessions. Session 1: agent learns project structure. Session 2: learns common patterns. Session 3: learns failure modes. By session N, it operates at a senior engineer level for that codebase.

The Self-Improve Loop

bash
just self-improve-backend

This command triggers the agent to scan the codebase, validate its expertise against actual file contents, and update anything that has drifted.

Why This Matters

Without mental models, every agent session is Day 1. The agent rediscovers the same things repeatedly: "Oh, this project uses tRPC. Oh, tests go in the tests directory. Oh, we deploy via Docker." Mental models turn every session into Day 100.


From Module 4 of the Agentic Engineering Course. The full module covers multi-agent systems with domain locking, delegation, and P2P communication.

- + \ No newline at end of file diff --git a/site/.vitepress/dist/blog/posts/repo-is-spec.html b/site/.vitepress/dist/blog/posts/repo-is-spec.html index 663ecfc..cff896b 100644 --- a/site/.vitepress/dist/blog/posts/repo-is-spec.html +++ b/site/.vitepress/dist/blog/posts/repo-is-spec.html @@ -6,12 +6,12 @@ The Repo Is the Spec | Agentic Engineering the Hard Way - + - + - + @@ -36,7 +36,7 @@ +-- tests/ # Expected outcomes as evidence +-- skills/ # Reusable skill definitions +-- .mcp.json # MCP server configuration

Why This Matters for Agents

An agent can only see what you put in front of it. A well-structured repo eliminates tribal knowledge because the agent discovers everything from files. It makes onboarding instant because a new agent reads the same files as the old one. It creates audit trails because every instruction is version-controlled. And it enables multi-agent teams because all agents read from the same source of truth.

The Rule

If an agent needs to know something to do its job, that information must be in a file in the repo. Not in your head. Not in Slack. Not in a README that nobody reads. In a file, checked into version control, readable by any agent at any time.


From Module 1 of the Agentic Engineering Course. The full module covers the agent loop, tool calling, and decision frameworks.

- + \ No newline at end of file diff --git a/site/.vitepress/dist/blog/posts/security-ladder.html b/site/.vitepress/dist/blog/posts/security-ladder.html index 1e47fd4..baae29c 100644 --- a/site/.vitepress/dist/blog/posts/security-ladder.html +++ b/site/.vitepress/dist/blog/posts/security-ladder.html @@ -6,12 +6,12 @@ The 6-Level Security Ladder | Agentic Engineering the Hard Way - + - + - + @@ -42,7 +42,7 @@ L3: Blacklist hook L4: Whitelist hook L5: No bash, custom tools only

Each layer catches what the previous one missed. The agent must bypass ALL six to cause damage — not just one.


This is an excerpt from Module 3 of the Agentic Engineering Course. The full module includes runnable lab code for implementing every level.

- + \ No newline at end of file diff --git a/site/.vitepress/dist/blog/posts/three-x-rule.html b/site/.vitepress/dist/blog/posts/three-x-rule.html index d303be0..c138951 100644 --- a/site/.vitepress/dist/blog/posts/three-x-rule.html +++ b/site/.vitepress/dist/blog/posts/three-x-rule.html @@ -6,12 +6,12 @@ The 3x Rule of Agent Costs | Agentic Engineering the Hard Way - + - + - + @@ -35,7 +35,7 @@ "with_retries": base * 1.5, "production": base * 3.0 }

Budget Accordingly

If your prototype agent costs $0.10 per task, plan for $0.30 in production. At 10,000 tasks per month, that is $3,000 per month, not $1,000. The 3x rule keeps you honest.


From Module 6 of the Agentic Engineering Course. The full module covers cost optimization, cascade routing, and pass@k evaluation.

- + \ No newline at end of file diff --git a/site/.vitepress/dist/blog/posts/verifier-pattern.html b/site/.vitepress/dist/blog/posts/verifier-pattern.html index 8e01b94..4889ecb 100644 --- a/site/.vitepress/dist/blog/posts/verifier-pattern.html +++ b/site/.vitepress/dist/blog/posts/verifier-pattern.html @@ -6,12 +6,12 @@ The Verifier Pattern | Agentic Engineering the Hard Way - + - + - + @@ -34,7 +34,7 @@ session.jsonl session.jsonl | | <--- verifier_prompt (corrective feedback) ----'

The builder doesn't know the verifier exists. The verifier CANNOT write code — it only reads files, greps for evidence, and reports confidence.

The Confidence Ladder

LevelMeaningBar Color
PERFECTEvery claim verified, zero gapsGreen
VERIFIEDAll passed, minor non-blocking gapsGreen
PARTIALNo failures, significant unverifiable gapsOrange
FEEDBACKClaims failed, correction sentOrange
FAILEDCannot verify, escalating to humanRed

Why This Works

  1. Spend tokens to save time — The verifier costs 2-5x more compute but collapses the review constraint from hours to seconds. Tokens are cheap. Your time is not.

  2. Structurally un-promptable — The verifier's input is locked. You can't drop one-off instructions into it. The only way to fix a verification gap is to edit the persona or the prompt template — improvements solve the entire problem class, not one instance.

  3. Defense in depth — The verifier has zero write tools. Even if compromised, it can't modify files. Its bash is restricted to read-only commands. This is the highest level of control you can give an agent.

The Feedback Loop

Every "could not verify" report becomes the next improvement. The verifier teaches you what your verifier is missing. This is how you build the system that builds the system.


This is an excerpt from Module 3 of the Agentic Engineering Course. The full module includes runnable code for setting up the verifier-builder pattern with Unix socket communication and the confidence ladder.

- + \ No newline at end of file diff --git a/site/.vitepress/dist/blog/posts/vibe-vs-agentic.html b/site/.vitepress/dist/blog/posts/vibe-vs-agentic.html index 06e0e36..19179f4 100644 --- a/site/.vitepress/dist/blog/posts/vibe-vs-agentic.html +++ b/site/.vitepress/dist/blog/posts/vibe-vs-agentic.html @@ -6,12 +6,12 @@ Vibe Coding vs Agentic Engineering | Agentic Engineering the Hard Way - + - + - + @@ -29,7 +29,7 @@
Skip to content

Vibe Coding vs Agentic Engineering

June 4, 2026

Vibe coding is prompting and shipping whatever comes out. Agentic engineering is building systems that produce reliable, verifiable results. They are not the same thing.

The 5 Hard Rules

1. Risk compounds with runtime. A 1% per-turn failure rate equals a 63% chance of disaster over 100 turns. Long-running agents are not safer. They are more exposed.

2. If your agent can write AND execute code, you are back at L1 security. The marquee break: agent writes cleanup.py, runs python cleanup.py, your production data is gone. The security hook never fired because it only saw "python cleanup.py."

3. Every turn is a roll of the dice. Modern models refuse well 99% of the time. That last 1% grows with every feature release. Engineer the harness for the 1%, not the 99%.

4. Token costs scale with loop depth, not task complexity. A simple task with a bad loop costs 10x more than a complex task with a clean loop. Optimize the loop first.

5. What you cannot measure, you cannot improve. Every agent system needs: cost per task, success rate, loop efficiency, failure mode tracking.

The Practical Difference

DimensionVibe CodingAgentic Engineering
ApproachPrompt and prayBuild and verify
SecurityTrust the modelTrust the harness
CostUnknown until the bill arrivesTracked and optimized
QualityWhatever comes outMeasured against golden dataset
IterationTry another promptFix the harness

The Karpathy Framing

At Sequoia Ascent 2026, Andrej Karpathy said: "Vibe coding raises the floor. Agentic engineering raises the ceiling." Vibe coding makes mediocre engineers productive. Agentic engineering makes great engineers extraordinary.


From Module 1 of the Agentic Engineering Course. The first module establishes the foundations that the rest of the course builds on.

Last updated:

FDSA Agency — Agentic Engineering Course. Part of the fdsa.ai orchestration platform.

- + \ No newline at end of file diff --git a/site/.vitepress/dist/blog/posts/what-is-an-agent.html b/site/.vitepress/dist/blog/posts/what-is-an-agent.html index 2404289..6a6b4ad 100644 --- a/site/.vitepress/dist/blog/posts/what-is-an-agent.html +++ b/site/.vitepress/dist/blog/posts/what-is-an-agent.html @@ -6,12 +6,12 @@ What Is an AI Agent, Really? | Agentic Engineering the Hard Way - + - + - + @@ -39,7 +39,7 @@ result = execute_tool(tool_name, tool_args) messages.append(response) messages.append(result)

Common Misconception

"The model is the agent." No. The model is the brain. The agent is the whole system: brain plus tools plus loop. A better brain helps, but better tools and a better loop help more.


From Module 1 of the Agentic Engineering Course. The full module includes your first lab: building a single-tool agent from scratch.

- + \ No newline at end of file diff --git a/site/.vitepress/dist/blog/posts/why-multi-agent.html b/site/.vitepress/dist/blog/posts/why-multi-agent.html index 152dfd0..7a14536 100644 --- a/site/.vitepress/dist/blog/posts/why-multi-agent.html +++ b/site/.vitepress/dist/blog/posts/why-multi-agent.html @@ -6,12 +6,12 @@ Why One Agent Is Not Enough | Agentic Engineering the Hard Way - + - + - + @@ -44,7 +44,7 @@ +-- Validation Team Lead +-- QA Engineer (worker) +-- Security Reviewer (worker)

Leads think, plan, and delegate. Workers execute. The orchestrator never touches code.

When to Go Multi-Agent

You need multiple agents when any of these are true:

If none of these are true, a single well-configured agent is simpler and cheaper.


This is an excerpt from Module 4 of the Agentic Engineering Course. The full module includes runnable lab code for building multi-agent systems with domain locking, mental models, and P2P communication.

- + \ No newline at end of file diff --git a/site/.vitepress/dist/buy.html b/site/.vitepress/dist/buy.html index 25ae4c9..5d16db3 100644 --- a/site/.vitepress/dist/buy.html +++ b/site/.vitepress/dist/buy.html @@ -6,12 +6,12 @@ Buy | Agentic Engineering the Hard Way - + - + - + @@ -33,7 +33,7 @@ # If deploying the API separately, set: export STRIPE_SECRET_KEY="sk_live_..."

The checkout API is at api/checkout.js — deployable as a Cloudflare Worker, Vercel function, or standalone Node.js server.


Certificate

Students who complete the capstone project receive a Certificate of Completion. Verify at fdsa.agency/verify.


Questions? Contact artale@fdsa.agency

- + \ No newline at end of file diff --git a/site/.vitepress/dist/certificate.html b/site/.vitepress/dist/certificate.html index aa2414a..8967119 100644 --- a/site/.vitepress/dist/certificate.html +++ b/site/.vitepress/dist/certificate.html @@ -6,14 +6,14 @@ Certificate - Agentic Engineering the Hard Way | Agentic Engineering the Hard Way - + - + - + - + @@ -28,8 +28,8 @@ -
Skip to content
Certificate of Completion
This certifies that
____________________________
has successfully completed all requirements of the
Agentic Engineering
the Hard Way
65 lessons across 8 modules13 hands-on labsProduction-grade capstone
Verify at fdsa.agency/verify

About the Certificate

This certificate verifies completion of the Agentic Engineering the Hard Way course, covering:

  • Agent Harness (M1-M3): Foundations, architecture, safety & security
  • Software Factory (M4): Multi-agent orchestration, teams, chains, P2P
  • Production Systems (M5): CI/CD, observability, deployment, rollback
  • Model Economics (M6): Cascade routing, pass@k evals, cost optimization
  • Advanced Patterns (M7): Autoresearch, meta-agents, beyond MCP
  • Capstone (M8): Production multi-agent system from scratch

How to Get Your Certificate

  1. Complete all 8 modules and 13 labs
  2. Submit your capstone project for review
  3. Email your submission to artale@fdsa.agency
  4. Receive your signed certificate within 48 hours

Verification

Employers can verify certificates at fdsa.agency/verify using the certificate ID provided on each certificate.

Last updated:

FDSA Agency — Agentic Engineering Course. Part of the fdsa.ai orchestration platform.

- +
Skip to content
Certificate of Completion
This certifies that
____________________________
has successfully completed all requirements of the
Agentic Engineering
the Hard Way
65 lessons across 8 modules13 hands-on labsProduction-grade capstone
Verify at fdsa.agency/verify

About the Certificate

This certificate verifies completion of the Agentic Engineering the Hard Way course, covering:

  • Agent Harness (M1-M3): Foundations, architecture, safety & security
  • Software Factory (M4): Multi-agent orchestration, teams, chains, P2P
  • Production Systems (M5): CI/CD, observability, deployment, rollback
  • Model Economics (M6): Cascade routing, pass@k evals, cost optimization
  • Advanced Patterns (M7): Autoresearch, meta-agents, beyond MCP
  • Capstone (M8): Production multi-agent system from scratch

How to Get Your Certificate

  1. Complete all 8 modules and 13 labs
  2. Submit your capstone project for review
  3. Email your submission to artale@fdsa.agency
  4. Receive your signed certificate within 48 hours

Verification

Employers can verify certificates at fdsa.agency/verify using the certificate ID provided on each certificate.

Last updated:

FDSA Agency — Agentic Engineering Course. Part of the fdsa.ai orchestration platform.

+ \ No newline at end of file diff --git a/site/.vitepress/dist/free-preview.html b/site/.vitepress/dist/free-preview.html index 72a0a59..2a1f9f5 100644 --- a/site/.vitepress/dist/free-preview.html +++ b/site/.vitepress/dist/free-preview.html @@ -6,12 +6,12 @@ Free Preview: Lesson 1.1 — What Makes an Agent? | Agentic Engineering the Hard Way - + - + - + @@ -31,7 +31,7 @@
Skip to content

Free Preview: Lesson 1.1 — What Makes an Agent?

This is a sample lesson from Agentic Engineering the Hard Way (Module 1: Foundations). Full course includes 65 lessons, 13 labs, and 20 skill kits — all building from scratch, no black boxes.


Lesson 1.1: What Makes an Agent?

Definition: An AI agent = LLM + Tools + Loop. Without any one of these three, it's not an agent.

Agent = LLM (reasoning engine)
       + Tools (capability surface)
       + Loop (autonomous decision cycle)
  • A single LLM call with no tools = chatbot
  • An LLM with tools but no loop = augmented inference
  • Tools + loop + LLM = agent (it can decide what to do next)

The Three Components

LLM — The reasoning engine. Given context + available tools, it decides which tool to call and with what parameters. The LLM is NOT the agent — it's the brain of the agent. Different models have different reasoning capabilities, but the core function is the same: given a situation and available actions, decide what to do.

Tools — The capability surface. Functions the agent can call: read files, run commands, search the web, query databases, call APIs. Each tool has a name, description, and input schema. The tool surface defines what the agent CAN do — everything outside this surface is something the agent cannot do, no matter how smart the LLM is.

Loop — The autonomous decision cycle. Think (LLM decides) → Act (tool executes) → Observe (result comes back) → Repeat. The loop is what makes it autonomous. Without a loop, you have a single decision. With a loop, you have an agent that can work toward a goal across multiple steps.

Why This Matters

This definition is not academic. Every production agent failure I've seen traces back to one of these three:

FailureRoot Cause
Agent does something unexpectedLoop didn't terminate correctly
Agent can't do the taskTools are insufficient for the task
Agent makes bad decisionsLLM doesn't have enough context
Agent costs too muchLoop runs too many iterations

If you understand these three components and how they interact, you can debug any agent system. If you don't, you're guessing.


What You'll Learn in the Full Course

ModuleTopicLessonsLabs
M1Foundations8 lessons1 lab
M2Agent Architecture7 lessons2 labs
M3Safety & Security7 lessons2 labs
M4Multi-Agent Orchestration11 lessons2 labs
M5Production Systems10 lessons2 labs
M6Model Economics7 lessons2 labs
M7Advanced Patterns8 lessons2 labs
M8Capstone ProjectBuild & deploy

Enroll Now — $97 · View Full Curriculum

Note: This preview shows approximately 30% of a single lesson. Full lessons include code examples, diagrams, quiz questions, and lab exercises.

Last updated:

FDSA Agency — Agentic Engineering Course. Part of the fdsa.ai orchestration platform.

- + \ No newline at end of file diff --git a/site/.vitepress/dist/getting-started.html b/site/.vitepress/dist/getting-started.html index a08623e..acc6f61 100644 --- a/site/.vitepress/dist/getting-started.html +++ b/site/.vitepress/dist/getting-started.html @@ -6,12 +6,12 @@ Student Orientation Guide | Agentic Engineering the Hard Way - + - + - + @@ -49,7 +49,7 @@ # Single kit bash install.sh security
OrderModuleTimeDo This
1M1 Foundations4-6 hrsRead + Lab 1
2M2 Architecture6-8 hrsRead + Labs 2a, 2b
3M3 Safety5-7 hrsRead + Labs 3a, 3b
4M4 Orchestration7-9 hrsRead + Labs 4a, 4b
5M5 Production5-7 hrsRead + Labs 5a, 5b
6M6 Economics4-6 hrsRead + Labs 6a, 6b
7M7 Advanced5-7 hrsRead + Labs 7a, 7b
8M8 Capstone8-12 hrsBuild your project

Common Pitfalls

ProblemSolution
ModuleNotFoundError: anthropicRun pip install anthropic or use mock LLM (automatic fallback)
Lab runs but produces no outputCheck you called run_agent() at the end of the script
Tool loop never terminatesCheck MAX_ITERATIONS is set. Default is 15.
Mock LLM returns "No input provided"Check you're passing messages to create() not just prompt
YAML parse error in skillsCheck indentation — YAML uses 2-space indents

Getting Help


What You'll Learn

By the end of this course, you will be able to:

  1. Build single-tool and multi-tool agents from scratch
  2. Implement the 6-level security ladder (L0-L5) to protect your systems
  3. Design multi-agent systems with teams, chains, and peer-to-peer communication
  4. Deploy agents to production with CI/CD, observability, and rollback
  5. Optimize costs using cascade routing and evaluate performance with pass@k
  6. Build self-improving agents that experiment and learn
- + \ No newline at end of file diff --git a/site/.vitepress/dist/hashmap.json b/site/.vitepress/dist/hashmap.json index f008681..4a5f278 100644 --- a/site/.vitepress/dist/hashmap.json +++ b/site/.vitepress/dist/hashmap.json @@ -1 +1 @@ -{"404.md":"BiCvjdaY","api-keys.md":"D2Kyj8T3","blog_index.md":"B5nL9faf","blog_posts_cascade-routing.md":"DvBM3TSf","blog_posts_choosing-security-level.md":"BYXRZEDN","blog_posts_mental-models.md":"BRY80gtq","blog_posts_repo-is-spec.md":"BxY1cXc_","blog_posts_security-ladder.md":"DQaqn6Yt","blog_posts_three-x-rule.md":"BHO6bhvz","blog_posts_verifier-pattern.md":"Gha_L_u5","blog_posts_vibe-vs-agentic.md":"7mduPfz1","blog_posts_what-is-an-agent.md":"BU2wUq_Y","blog_posts_why-multi-agent.md":"BVRIN2vH","buy.md":"qEifz7WE","certificate.md":"CqjbFJYQ","checkout.md":"Ccj6L__h","checkout_cancel.md":"DwL5mulX","checkout_success.md":"CYTg6xhL","downloads.md":"CEHJXSp0","free-preview.md":"C5BtRucn","getting-started.md":"Boo_V9xC","index.md":"BNS2TR1g","labs_index.md":"sAzXzfkI","labs_l1-first-agent.md":"BwU9yf-G","labs_l2-context.md":"BexGm8_s","labs_l2-multi-tool.md":"Bj3Mb-oj","labs_l3-verifier.md":"xilrGGap","labs_l3-whitelist-hook.md":"DJtbL66Y","labs_l4-agent-chain.md":"D89P8dwJ","labs_l4-multi-team.md":"DmSK8e2P","labs_l5-cicd.md":"Dz1Jl78z","labs_l5-observability.md":"BDpqVYjT","labs_l6-cost-optimization.md":"CabFK4GB","labs_l6-eval-harness.md":"CBwH6xOR","labs_l7-autoresearch.md":"BYlzPLYo","labs_l7-meta-agent.md":"iTswbOPg","modules_competitive-analysis.md":"BHMHacei","modules_curriculum.md":"D7UeKRfo","modules_debate.md":"DWctKMlA","modules_feynman.md":"DBw5sPBP","modules_field-manual.md":"hmt_NLf1","modules_m1-foundations.md":"DHFyTzWj","modules_m2-architecture.md":"DVowtmf9","modules_m3-safety.md":"RiQQ_HWX","modules_m4-orchestration.md":"DFLcAKBv","modules_m5-production.md":"DTkLIrwQ","modules_m6-economics.md":"HihVEOPb","modules_m7-advanced.md":"B_jVHqsw","modules_m8-capstone.md":"CqV39Gzl","modules_non-technical.md":"BnvuUCRo","modules_reference-stack.md":"D9FXitvn","modules_software-factory.md":"C5Yf8Zwe","modules_tool-reference.md":"B40mlgZJ","public_certificate_template.md":"Cg1kPB1b","resources.md":"DcUu1NrK","skills.md":"BX3RBeCK","troubleshooting.md":"B6difx2I","verify.md":"Cl5ZMWNd"} +{"404.md":"BiCvjdaY","api-keys.md":"D2Kyj8T3","blog_index.md":"ej0SMQFJ","blog_posts_agent-loops-complete-guide.md":"DcCNOI9M","blog_posts_cascade-routing.md":"DvBM3TSf","blog_posts_choosing-security-level.md":"BYXRZEDN","blog_posts_context-window-management.md":"Dr1RUj8G","blog_posts_mental-models.md":"BRY80gtq","blog_posts_repo-is-spec.md":"BxY1cXc_","blog_posts_security-ladder.md":"DQaqn6Yt","blog_posts_three-x-rule.md":"BHO6bhvz","blog_posts_verifier-pattern.md":"Gha_L_u5","blog_posts_vibe-vs-agentic.md":"7mduPfz1","blog_posts_what-is-an-agent.md":"BU2wUq_Y","blog_posts_why-multi-agent.md":"BVRIN2vH","buy.md":"qEifz7WE","certificate.md":"DZ26T6CI","checkout.md":"Ccj6L__h","checkout_cancel.md":"DwL5mulX","checkout_success.md":"CYTg6xhL","downloads.md":"CEHJXSp0","free-preview.md":"C5BtRucn","getting-started.md":"Boo_V9xC","index.md":"BNS2TR1g","labs_index.md":"sAzXzfkI","labs_l1-first-agent.md":"BwU9yf-G","labs_l2-context.md":"BexGm8_s","labs_l2-multi-tool.md":"Bj3Mb-oj","labs_l3-verifier.md":"xilrGGap","labs_l3-whitelist-hook.md":"DJtbL66Y","labs_l4-agent-chain.md":"D89P8dwJ","labs_l4-multi-team.md":"DmSK8e2P","labs_l5-cicd.md":"Dz1Jl78z","labs_l5-observability.md":"BDpqVYjT","labs_l6-cost-optimization.md":"CabFK4GB","labs_l6-eval-harness.md":"CBwH6xOR","labs_l7-autoresearch.md":"BYlzPLYo","labs_l7-meta-agent.md":"iTswbOPg","modules_competitive-analysis.md":"BHMHacei","modules_curriculum.md":"D7UeKRfo","modules_debate.md":"DWctKMlA","modules_feynman.md":"DBw5sPBP","modules_field-manual.md":"hmt_NLf1","modules_m1-foundations.md":"DHFyTzWj","modules_m2-architecture.md":"DVowtmf9","modules_m3-safety.md":"RiQQ_HWX","modules_m4-orchestration.md":"DFLcAKBv","modules_m5-production.md":"DTkLIrwQ","modules_m6-economics.md":"HihVEOPb","modules_m7-advanced.md":"B_jVHqsw","modules_m8-capstone.md":"CqV39Gzl","modules_non-technical.md":"BnvuUCRo","modules_reference-stack.md":"D9FXitvn","modules_software-factory.md":"C5Yf8Zwe","modules_tool-reference.md":"B40mlgZJ","public_certificate_template.md":"Cg1kPB1b","resources.md":"DcUu1NrK","skills.md":"BX3RBeCK","troubleshooting.md":"B6difx2I","verify.md":"Cl5ZMWNd"} diff --git a/site/.vitepress/dist/index.html b/site/.vitepress/dist/index.html index 5246f3b..db3b64e 100644 --- a/site/.vitepress/dist/index.html +++ b/site/.vitepress/dist/index.html @@ -6,12 +6,12 @@ Agentic Engineering the Hard Way - + - + - + @@ -29,7 +29,7 @@
Skip to content
THE HARD WAY

Agentic Engineering the Hard Way

Build every component from scratch. 65 lessons, 13 labs, 20 skill kits. No black boxes, no magic SDKs — just you, the harness, and the loop.

AGENT_PLANNER v2.1
> LOADING HARNESS... DONE
> DEPLOYING 8-AGENT SYSTEM
> SECURITY: LEVEL 4 (WHITELIST)
> ALL SYSTEMS OPERATIONAL
65Lessons
13Hands-on Labs
8Modules
20Skill Kits
What You'll Build

Production Systems. From Scratch.

settings_suggest

Agent Harness

Own your harness. 6-level security ladder, verifier pattern, hooks architecture across 5 subsystems.

speed

Software Factory

Systems that build systems. Agent chains, teams, P2P communication, depth-2 delegation.

psychology

Extensible Software

Pluggable, composable, swappable. Beyond MCP, tool design patterns, CI/CD for agent configs.

all_inclusive

Always-On Agents

Run 24/7. Autoresearch loops, heartbeat execution, meta-agents that improve themselves.

terminal

Agentic Access

API-first design. Tool surface design, deployment modes, service connectors, MCP integration.

trending_up

Tokenomics

3 levels of token value. Cascade routing, pass@k evals, the 3x cost rule, production optimization.

Curriculum

8 Modules. From Zero to Production.

01
psychology

Foundations

What agents are, harness vs model, decision frameworks, agent loops.

LLM+Tools+LoopHarnessTrust
02
handyman

Architecture

Tools, context, memory, skills system, codebase patterns, workspace design.

4 PillarsMemorySkills
03
shield

Safety

6-level security ladder, hooks, verifier pattern, defense-in-depth, ACIP.

L0-L5VerifierHooks
04
hub

Orchestration

Multi-agent patterns, P-threads, F-threads, P2P, CEO Board, domain locking.

TeamsChainsP2P
05
rocket_launch

Production

CI/CD for agents, shadow deploys, observability, rollback, 5-tool stack.

DeployMonitorRollback
06
analytics

Economics

Model pricing, cascade routing, pass@k evals, cost optimization per session.

100x Range3x RuleEvals
07
architecture

Advanced

Autoresearch, meta-agents, beyond MCP, always-on employee patterns.

Self-ImprovingMeta
08
trophy

Capstone

Build production multi-agent system. Brand Monitor, CEO Board, or Code Review Pipeline.

ShipDeployRubric
Trusted By

What Engineers Are Saying

"The security ladder alone is worth the price. Finally understand how to safely deploy agents in production — something no other course teaches."
M
Marcus W.
Staff Engineer, SaaS Company
"Went from vibe-coding to actually engineering agents. The harness vs model distinction changed how I think about every agent system I build."
P
Priya S.
Lead ML Engineer, FinTech
"Best practical course on multi-agent systems I've found. The CEO Board pattern alone saved me weeks of architecture work."
T
Tomás R.
CTO, AI Startup
"I've taken TAC and ClaudeFAST. FDSA is the most comprehensive — 65 lessons with actual labs that work offline. No other course has that."
D
Daniel K.
Senior Developer, E-Commerce
Your Instructor

Built by an Engineer, For Engineers

terminal

Artale

Founder, FDSA Agency

I've spent the last two years building production multi-agent systems — from CEO Boards for strategic decision-making to Brand Monitor for always-on reputation tracking, to UI Agents that generate production Vue components. This course distills everything I learned shipping real agent systems, not toy demos.

Every pattern in this course — the 6-level security ladder, P-threads, cascade routing, the verifier pattern — came from building systems that had to work reliably in production. We build everything from scratch. No black boxes, no SDK abstractions. This is Agentic Engineering the Hard Way.

Stay Updated

Get Free Agent Engineering Resources

Compared To

Why FDSA vs Other Courses

FDSA (the Hard Way)
  • check65 lessons + 13 labs
  • check20 skill kits included
  • checkBuild from scratch, no black boxes
  • checkMock LLM for offline work
  • checkTool-agnostic (any CLI)
  • check30-day guarantee
  • closeNewer platform
  • closeNo video content yet
  • closeCommunity still growing
TAC
  • check14 focused lessons
  • check4 reference repos
  • checkActive YouTube channel
  • checkProven track record
  • close$97-147 for less content
  • closeNo skill kits
  • closeNo capstone project
  • closeClaude Code focused only
ClaudeFAST
  • check280 skill files
  • check16 agent definitions
  • check$89 entry price
  • checkActive community
  • close$299 for full access
  • closeNo structured modules
  • closeNo hands-on labs
  • closeClaude Code only
Learn Harness
  • checkFree (Anthropic)
  • check6 projects
  • check11 languages
  • checkOfficial Anthropic
  • closeNo advanced patterns
  • closeNo skill kits
  • closeNo capstone
  • closeNo security ladder
Investment

Choose Your Path

Self-Paced
$97
one-time payment
  • check_circle65 lessons across 8 modules
  • check_circle13 scaffolded labs with solutions
  • check_circle56 quiz questions
  • check_circle20 SKILL.md files (7 kits)
  • check_circleLifetime access + updates
  • check_circleMock LLM for offline labs
Enroll Now
Enterprise
$199
one-time payment
  • check_circleEverything in Self-Paced
  • check_circlePrivate Discord channel
  • check_circle2 custom skills for your stack
  • check_circle1-hour onboarding call
  • check_circlePriority updates for 1 year
  • check_circleEarly access to new kits
Buy Enterprise
Cohort
$247
next cohort TBD
  • check_circleEverything in Enterprise
  • check_circle6-week structured schedule
  • check_circleWeekly live office hours
  • check_circleCapstone peer review
  • check_circleCompletion certificate
  • check_circleAlumni network
Join Cohort
FAQ

Common Questions

Do I need API keys to run the labs? expand_more
What tools/CLIs does this course cover? expand_more
How does FDSA compare to TAC or ClaudeFAST? expand_more
How long does the course take? expand_more
What's the refund policy? expand_more
Can I buy individual skill kits? expand_more

FDSA Agency — Agentic Engineering Course. Part of the fdsa.ai orchestration platform.

- + \ No newline at end of file diff --git a/site/.vitepress/dist/labs/index.html b/site/.vitepress/dist/labs/index.html index f893eaf..3b0f3d3 100644 --- a/site/.vitepress/dist/labs/index.html +++ b/site/.vitepress/dist/labs/index.html @@ -6,12 +6,12 @@ Labs Overview | Agentic Engineering the Hard Way - + - + - + @@ -39,7 +39,7 @@ # Check solution after attempting: python solution.py test.txt "What is this file about?"

Lab Structure

Each lab has:

Offline Mode

All labs include automatic mock LLM fallback. No API keys required. The mock client returns realistic, deterministic responses so you can verify your code logic without paying for API calls.

- + \ No newline at end of file diff --git a/site/.vitepress/dist/labs/l1-first-agent.html b/site/.vitepress/dist/labs/l1-first-agent.html index 94149aa..e669c40 100644 --- a/site/.vitepress/dist/labs/l1-first-agent.html +++ b/site/.vitepress/dist/labs/l1-first-agent.html @@ -6,12 +6,12 @@ L1: Your First Agent | Agentic Engineering the Hard Way - + - + - + @@ -30,7 +30,7 @@
Skip to content

L1: Your First Agent

Build a single-tool agent from scratch.

Module: M1 Foundations
Est. Time: 60 min
Files: starter.py, solution.py

Objective

Create an agent that reads a file and answers questions about its contents.

Concepts

  • LLM + Tools + Loop = Agent
  • Tool definition with input schema
  • The agent loop (think → act → observe → repeat)
  • The reasoning parameter

Starter

bash
cd course/labs/L1-first-agent/
 python starter.py test.txt "What is this file about?"

The starter has TODO markers where you fill in:

  1. Define the read_file tool schema
  2. Implement the execute_tool function
  3. Implement the run_agent loop
  4. Wire up the main entry point

Solution

bash
python solution.py test.txt "What is this file about?"

Compare your implementation against the solution. Key differences to check:

  • Did you set MAX_ITERATIONS?
  • Does every tool call include reasoning?
  • Does the loop terminate on end_turn?

Checkpoints

  1. Tool call is made correctly (schema matches)
  2. Tool result is fed back to the LLM
  3. LLM produces final answer using tool result
  4. Loop terminates (doesn't run forever)

FDSA Agency — Agentic Engineering Course. Part of the fdsa.ai orchestration platform.

- + \ No newline at end of file diff --git a/site/.vitepress/dist/labs/l2-context.html b/site/.vitepress/dist/labs/l2-context.html index 08a0bcc..161c7a9 100644 --- a/site/.vitepress/dist/labs/l2-context.html +++ b/site/.vitepress/dist/labs/l2-context.html @@ -6,12 +6,12 @@ L2b: Context-Aware Agent | Agentic Engineering the Hard Way - + - + - + @@ -30,7 +30,7 @@
Skip to content

L2b: Context-Aware Agent

Module: M2 Architecture
Files: starter.py, solution.py

Objective

Implement sliding window + summarization for long agent sessions.

Concepts

Refer to the corresponding module for full concept explanations.

Starter

bash
cd course/labs/l2-context/
 # Open starter file and fill in the TODOs

Checkpoints

  1. Build a ContextManager class
  2. Implement max_recent_turns sliding window
  3. Summarize old messages when window exceeds limit
  4. Build context from summary + recent messages

Solution

Compare against the solution file after attempting the starter.

FDSA Agency — Agentic Engineering Course. Part of the fdsa.ai orchestration platform.

- + \ No newline at end of file diff --git a/site/.vitepress/dist/labs/l2-multi-tool.html b/site/.vitepress/dist/labs/l2-multi-tool.html index b84bb1b..dec3b8f 100644 --- a/site/.vitepress/dist/labs/l2-multi-tool.html +++ b/site/.vitepress/dist/labs/l2-multi-tool.html @@ -6,12 +6,12 @@ L2a: Multi-Tool Agent | Agentic Engineering the Hard Way - + - + - + @@ -30,7 +30,7 @@
Skip to content

L2a: Multi-Tool Agent

Module: M2 Architecture
Files: starter.py, solution.py

Objective

Add file operations AND web search to your agent.

Concepts

Refer to the corresponding module for full concept explanations.

Starter

bash
cd course/labs/l2-multi-tool/
 # Open starter file and fill in the TODOs

Checkpoints

  1. Define a read_file tool schema
  2. Define a search_web tool (DuckDuckGo or similar)
  3. Define a write_file tool
  4. Implement execute_tool for all three
  5. Run the agent loop with tool result feedback

Solution

Compare against the solution file after attempting the starter.

FDSA Agency — Agentic Engineering Course. Part of the fdsa.ai orchestration platform.

- + \ No newline at end of file diff --git a/site/.vitepress/dist/labs/l3-verifier.html b/site/.vitepress/dist/labs/l3-verifier.html index 035e402..2b936fe 100644 --- a/site/.vitepress/dist/labs/l3-verifier.html +++ b/site/.vitepress/dist/labs/l3-verifier.html @@ -6,12 +6,12 @@ L3b: Verifier Agent | Agentic Engineering the Hard Way - + - + - + @@ -30,7 +30,7 @@
Skip to content

L3b: Verifier Agent

Module: M3 Safety
Files: starter.py, solution.py

Objective

Create a read-only agent that checks the builder's work independently.

Concepts

Refer to the corresponding module for full concept explanations.

Starter

bash
cd course/labs/l3-verifier/
 # Open starter file and fill in the TODOs

Checkpoints

  1. Define read-only tools (read_file, grep_search, list_files)
  2. Implement claim verification logic
  3. Report confidence level (PERFECT through FAILED)
  4. No write/edit/bash tools allowed

Solution

Compare against the solution file after attempting the starter.

FDSA Agency — Agentic Engineering Course. Part of the fdsa.ai orchestration platform.

- + \ No newline at end of file diff --git a/site/.vitepress/dist/labs/l3-whitelist-hook.html b/site/.vitepress/dist/labs/l3-whitelist-hook.html index 5e163cd..9972e97 100644 --- a/site/.vitepress/dist/labs/l3-whitelist-hook.html +++ b/site/.vitepress/dist/labs/l3-whitelist-hook.html @@ -6,12 +6,12 @@ L3a: L4 Whitelist Hook | Agentic Engineering the Hard Way - + - + - + @@ -34,7 +34,7 @@ rm -rf target/ → BLOCK python cleanup.py → BLOCK (L3 marque break) npm test && rm -rf / → BLOCK (compound operator) - + \ No newline at end of file diff --git a/site/.vitepress/dist/labs/l4-agent-chain.html b/site/.vitepress/dist/labs/l4-agent-chain.html index 3beea48..7e5cec7 100644 --- a/site/.vitepress/dist/labs/l4-agent-chain.html +++ b/site/.vitepress/dist/labs/l4-agent-chain.html @@ -6,12 +6,12 @@ L4a: Agent Chain | Agentic Engineering the Hard Way - + - + - + @@ -30,7 +30,7 @@
Skip to content

L4a: Agent Chain

Module: M4 Orchestration
Files: starter.yaml, solution.yaml

Objective

Create a YAML-defined plan-build-review-verify pipeline.

Concepts

Refer to the corresponding module for full concept explanations.

Starter

bash
cd course/labs/l4-agent-chain/
 # Open starter file and fill in the TODOs

Checkpoints

  1. Define planner step with output format requirements
  2. Define builder step with implementation rules
  3. Define reviewer step with checklist criteria
  4. Define verifier step with confidence reporting

Solution

Compare against the solution file after attempting the starter.

FDSA Agency — Agentic Engineering Course. Part of the fdsa.ai orchestration platform.

- + \ No newline at end of file diff --git a/site/.vitepress/dist/labs/l4-multi-team.html b/site/.vitepress/dist/labs/l4-multi-team.html index 4589c42..05deb9f 100644 --- a/site/.vitepress/dist/labs/l4-multi-team.html +++ b/site/.vitepress/dist/labs/l4-multi-team.html @@ -6,12 +6,12 @@ L4b: Multi-Team Config | Agentic Engineering the Hard Way - + - + - + @@ -30,7 +30,7 @@
Skip to content

L4b: Multi-Team Config

Module: M4 Orchestration
Files: starter-config.yaml, solution-config.yaml

Objective

Set up orchestrator + 2 teams with domain locking.

Concepts

Refer to the corresponding module for full concept explanations.

Starter

bash
cd course/labs/l4-multi-team/
 # Open starter file and fill in the TODOs

Checkpoints

  1. Define orchestrator with delegate-only tools
  2. Configure Engineering team with lead + members
  3. Configure Validation team with domain permissions
  4. Set per-agent permissions (read/upsert/delete scope)

Solution

Compare against the solution file after attempting the starter.

FDSA Agency — Agentic Engineering Course. Part of the fdsa.ai orchestration platform.

- + \ No newline at end of file diff --git a/site/.vitepress/dist/labs/l5-cicd.html b/site/.vitepress/dist/labs/l5-cicd.html index 80b198a..3461d6f 100644 --- a/site/.vitepress/dist/labs/l5-cicd.html +++ b/site/.vitepress/dist/labs/l5-cicd.html @@ -6,12 +6,12 @@ L5b: CI/CD Pipeline | Agentic Engineering the Hard Way - + - + - + @@ -30,7 +30,7 @@
Skip to content

L5b: CI/CD Pipeline

Module: M5 Production
Files: starter.py, solution.py

Objective

Create golden dataset + automated regression gate.

Concepts

Refer to the corresponding module for full concept explanations.

Starter

bash
cd course/labs/l5-cicd/
 # Open starter file and fill in the TODOs

Checkpoints

  1. Define golden test cases (input, expected tools, expected output)
  2. Implement score_case evaluation function
  3. Run pass@k evaluation (k=1, 3, 5)
  4. Gate deployment on pass rate threshold

Solution

Compare against the solution file after attempting the starter.

FDSA Agency — Agentic Engineering Course. Part of the fdsa.ai orchestration platform.

- + \ No newline at end of file diff --git a/site/.vitepress/dist/labs/l5-observability.html b/site/.vitepress/dist/labs/l5-observability.html index 60ed0e2..dd76bb9 100644 --- a/site/.vitepress/dist/labs/l5-observability.html +++ b/site/.vitepress/dist/labs/l5-observability.html @@ -6,12 +6,12 @@ L5a: Observability | Agentic Engineering the Hard Way - + - + - + @@ -30,7 +30,7 @@
Skip to content

L5a: Observability

Module: M5 Production
Files: starter.py, solution.py

Objective

Trace every tool call + LLM completion to SQLite.

Concepts

Refer to the corresponding module for full concept explanations.

Starter

bash
cd course/labs/l5-observability/
 # Open starter file and fill in the TODOs

Checkpoints

  1. Define SQLite schema for tool_calls and llm_completions
  2. Implement ObservabilityTracker class
  3. Log tool calls with params, result, duration
  4. Log LLM completions with token counts and cost
  5. Generate session summary report

Solution

Compare against the solution file after attempting the starter.

FDSA Agency — Agentic Engineering Course. Part of the fdsa.ai orchestration platform.

- + \ No newline at end of file diff --git a/site/.vitepress/dist/labs/l6-cost-optimization.html b/site/.vitepress/dist/labs/l6-cost-optimization.html index 5ba8261..9a2c7da 100644 --- a/site/.vitepress/dist/labs/l6-cost-optimization.html +++ b/site/.vitepress/dist/labs/l6-cost-optimization.html @@ -6,12 +6,12 @@ L6b: Cost Optimization | Agentic Engineering the Hard Way - + - + - + @@ -30,7 +30,7 @@
Skip to content

L6b: Cost Optimization

Module: M6 Economics
Files: starter.py, solution.py

Objective

Profile a session, find savings, implement cascade routing.

Concepts

Refer to the corresponding module for full concept explanations.

Starter

bash
cd course/labs/l6-cost-optimization/
 # Open starter file and fill in the TODOs

Checkpoints

  1. Define model cost profiles (input/output $/M tokens)
  2. Calculate all-Opus session cost
  3. Implement cascade routing map (Flash/Sonnet/Opus by task)
  4. Calculate savings percentage

Solution

Compare against the solution file after attempting the starter.

FDSA Agency — Agentic Engineering Course. Part of the fdsa.ai orchestration platform.

- + \ No newline at end of file diff --git a/site/.vitepress/dist/labs/l6-eval-harness.html b/site/.vitepress/dist/labs/l6-eval-harness.html index c74bc21..dabda63 100644 --- a/site/.vitepress/dist/labs/l6-eval-harness.html +++ b/site/.vitepress/dist/labs/l6-eval-harness.html @@ -6,12 +6,12 @@ L6a: Eval Harness | Agentic Engineering the Hard Way - + - + - + @@ -30,7 +30,7 @@
Skip to content

L6a: Eval Harness

Module: M6 Economics
Files: starter.py, solution.py

Objective

Build golden Q&A pairs + pass@k scoring system.

Concepts

Refer to the corresponding module for full concept explanations.

Starter

bash
cd course/labs/l6-eval-harness/
 # Open starter file and fill in the TODOs

Checkpoints

  1. Define 10+ test cases with tool and output expectations
  2. Implement EvalHarness class with score_case
  3. Compute pass@1, pass@3, pass@5 metrics
  4. Support weighted scoring by case importance

Solution

Compare against the solution file after attempting the starter.

FDSA Agency — Agentic Engineering Course. Part of the fdsa.ai orchestration platform.

- + \ No newline at end of file diff --git a/site/.vitepress/dist/labs/l7-autoresearch.html b/site/.vitepress/dist/labs/l7-autoresearch.html index 52a1f66..e90f841 100644 --- a/site/.vitepress/dist/labs/l7-autoresearch.html +++ b/site/.vitepress/dist/labs/l7-autoresearch.html @@ -6,12 +6,12 @@ L7a: Autoresearch Loop | Agentic Engineering the Hard Way - + - + - + @@ -32,7 +32,7 @@ python starter.py

Solution

bash
python solution.py

Experiment Log Format

jsonl
{"run": 1, "status": "baseline", "metric": {"name": "latency", "value": 52, "unit": "ms"}}
 {"run": 2, "status": "keep", "metric": {"name": "latency", "value": 46}, "deltaPct": -11.5}
 {"run": 3, "status": "discard", "metric": {"name": "latency", "value": 53}, "deltaPct": +1.9}

Integrity Guards

ThreatDetectionPrevention
Grinding (same code re-run)Code hash comparisonSkip run
Noise-chasingMedian vs best comparisonUse median, not best
Reward hackingTiming function isolationVerify computation not shortcut
Test set leakageTest data hash verificationAssert data unchanged
- + \ No newline at end of file diff --git a/site/.vitepress/dist/labs/l7-meta-agent.html b/site/.vitepress/dist/labs/l7-meta-agent.html index 4949f50..3f1bce9 100644 --- a/site/.vitepress/dist/labs/l7-meta-agent.html +++ b/site/.vitepress/dist/labs/l7-meta-agent.html @@ -6,12 +6,12 @@ L7b: Meta-Agent | Agentic Engineering the Hard Way - + - + - + @@ -30,7 +30,7 @@
Skip to content

L7b: Meta-Agent

Module: M7 Advanced
Files: starter.py, solution.py

Objective

Generate a new agent persona from documentation.

Concepts

Refer to the corresponding module for full concept explanations.

Starter

bash
cd course/labs/l7-meta-agent/
 # Open starter file and fill in the TODOs

Checkpoints

  1. Parse user description for agent requirements
  2. Infer appropriate tools from domain keywords
  3. Generate system prompt with persona and rules
  4. Create mental model YAML template
  5. Save all files to a named agent directory

Solution

Compare against the solution file after attempting the starter.

FDSA Agency — Agentic Engineering Course. Part of the fdsa.ai orchestration platform.

- + \ No newline at end of file diff --git a/site/.vitepress/dist/modules/competitive-analysis.html b/site/.vitepress/dist/modules/competitive-analysis.html index 3717d4e..e5f6a31 100644 --- a/site/.vitepress/dist/modules/competitive-analysis.html +++ b/site/.vitepress/dist/modules/competitive-analysis.html @@ -6,12 +6,12 @@ Competitive Analysis: Agentic Engineering Course Landscape | Agentic Engineering the Hard Way - + - + - + @@ -41,7 +41,7 @@ ││ │ └────────────────────────────── FRAMEWORK-AGNOSTIC

Your competitive moat: You are framework-agnostic (like Anthropic, unlike LangChain/DL.AI) AND you have hands-on labs (like TAC, unlike Anthropic). No other course occupies both quadrants.

Unique selling points to emphasize:

  1. "From the engineer who reverse-engineered Anthropic's Mythos paper — learn what the frontier models CAN'T do"
  2. "13 runnable labs with starter code AND solutions"
  3. "The only course with a working verifier agent, bash security ladder, and autoresearch loop"
  4. "Based on 25,000+ files of production agent systems — not tutorials, but battle scars"

Pricing recommendation: $97-147 positions you directly against TAC with MORE content. $197-247 positions you as premium (justified by original research + working systems source code).


Validation: ClaudeFAST Articles (Published May 2026)

Fetched both articles to verify our course content against real published material.

Article 1: "The Agent Manager: Who Owns Claude Code?"

Published by: ClaudeFAST, citing Anthropic's May 2026 terminology
Thesis: The Agent Manager role exists because enterprises need someone to own the harness.

Their 3 failure modes without an agent manager:

  1. Tribal knowledge — Every dev evolves a personal AI layer; nothing is shared
  2. Inconsistent results — Same model, same codebase, different output quality
  3. Security drift — Permissions configured ad hoc, MCP servers with unbounded scope

Their 5 areas of ownership (maps to the 5 harness subsystems):

Our coverage in M5: We added the Agent Manager role lesson (5.2c) with the 90-day playbook, plus the 5-tool production stack case study (5.2b). Both align exactly with ClaudeFAST's framing. ✅

Grade: A — Our coverage matches the published standard.

Article 2: "Thread-Based Engineering: Scale Claude Code Sessions"

Published by: ClaudeFAST
Thesis: 6 fundamental thread patterns that scale AI-assisted engineering work.

Their 6 thread types vs our coverage:

ThreadClaudeFAST defines it asOur CoverageGrade
Base ThreadPrompt → Tool Calls → ReviewM1 agent loop✅ A
P-ThreadParallel instances (Boris runs 15)M4, added this session✅ A
L-ThreadLong-running, hours+M7 always-on✅ A
B-ThreadAgents managing agentsM4 delegation✅ A
F-ThreadFusion, N agents 1 winnerM4, added this session✅ A
C-ThreadCheckpoint gatesM5 HITL✅ A

ClaudeFAST explicitly names Boris Cherny (creator of Claude Code) running 5 tmux tabs + 5-10 web instances = 10-15 parallel P-threads. This matches HypeMan's psmux + mprocs stack exactly.

Our coverage in M4: All 6 thread types covered. ✅

What This Validates

  1. REFERENCE-STACK.md is production-accurate — Your stack mirrors Boris Cherny's own setup and ClaudeFAST's documented patterns.
  2. Agent Manager role is real — Anthropic published the terminology May 2026. Our M5 lesson matches.
  3. Thread-based engineering is the standard — Both ClaudeFAST and IndyDevDan teach it. We cover all 6 types.
  4. Your stack is ahead of the course — HypeMan runs exactly what ClaudeFAST teaches. REFERENCE-STACK.md documents it.

Live Comparison: IndyDevDan's Published Content (agenticengineer.com)

I fetched 5 pages from his site. Here's his published intellectual property and what it means for your course.

Page 1: "The Only Claude Code Competitor"

Core framework: 4 dimensions of agent control — context, model, prompt, tools3-tier customization ladder:

Thesis: "Claude Code is the starter pack. Pi is the endgame." He positions Claude Code for beginners (first 100 hours) and Pi for advanced users who need harness control.

Course gap analysis: Your M1-M4 already cover all 3 tiers. His 4-dimensions framing (context, model, prompt, tools) is cleaner than your current 4 pillars. Consider adopting his framing language.

Page 2: "Top 2% Agentic Engineering" — 10 Bets for 2026

Bet #TopicCovered in Your Course?
1Anthropic becomes a monster (ecosystem moat)Not covered as a thesis
2Tool calling is the opportunityCovered in M2
3Custom agents above allCovered in M2, M4
4Multi-agent orchestrationCovered in M4
5Agent sandboxesCovered in M7
6In-loop vs out-loop agentic codingNot framed this way
7Agentic Coding 2.0 (agents conducting agents)Covered in M4, M7
8The benchmark breakdown (skepticism)Not covered
9Agents eating software (market trend)Not covered
10Agent-native architecturePartial in M4

Gap: Bets 1, 6, 8, 9 are market/intellectual framing you don't address. They're opinion/positioning pieces.

Page 3: "Thinking in Threads" — His Signature Framework

ThreadWhat It IsIn Your Course?
Base ThreadPrompt → Tool Calls → ReviewM1 agent loop
P-ThreadRun N agents in parallelNot covered
C-ThreadCheckpoints, human gatesM5 (HITL)
F-ThreadFusion: N agents, 1 winnerNot covered
B-ThreadBranch: agents manage agentsM4 delegation
L-ThreadLong-running (hours/days)M7 always-on
Z-Threadatomic prompt→tools→shipM1 basic loop

Gap: P-threads (parallel) and F-threads (fusion) are missing. These are his most distinctive frameworks.

Page 4: "Engineering with Exponentials"

Thesis: "The prompt is the new fundamental unit of knowledge work programming." 3-part essay series: (1) Engineering with Exponentials, (2) AI Coding is Transitory, (3) Agentic Coding is the Endgame. No direct technical gaps. This is thought-leadership positioning.

Page 5: "Compute Advantage Equation"

Formula: (Compute Scaling × Autonomy) ÷ (Time + Effort + Monetary Cost)Purpose: Interactive calculator to compare AI coding tools. Gap: You don't have a unified "value equation" for agentic engineering.

Summary: His IP vs Your Coverage

His unique IP you should reference or adopt:

  1. 4 dimensions of control (context, model, prompt, tools) — cleaner framing for M1
  2. Thread framework (P-thread, F-thread, C-thread) — add as orchestration patterns in M4
  3. Compute Advantage Equation — add a version in M6 (economics)
  4. "Do you trust your agents?" — use this framing hook in M1

His gaps that you fill (your competitive moat):

Verdict: Dan is a thought leader with strong mental models (threads, 4 dimensions, compute advantage). You are a curriculum builder with more comprehensive technical coverage. The ideal course combines both — his mental models + your technical depth.

- + \ No newline at end of file diff --git a/site/.vitepress/dist/modules/curriculum.html b/site/.vitepress/dist/modules/curriculum.html index 0af23a0..7b0c3e2 100644 --- a/site/.vitepress/dist/modules/curriculum.html +++ b/site/.vitepress/dist/modules/curriculum.html @@ -6,12 +6,12 @@ Curriculum | Agentic Engineering the Hard Way - + - + - + @@ -29,7 +29,7 @@
Skip to content

Curriculum

Module Overview

ModuleTitleHoursWhat You'll Learn
M1Foundations4-6What agents are, harness vs model, decision frameworks, trust
M2Architecture6-8Tools, loops, context, memory, skills, codebase patterns
M3Safety & Security5-76-level security ladder, hooks, verifier pattern, defense-in-depth
M4Orchestration7-9Multi-agent patterns, P-threads, delegation, P2P communication
M5Production5-7CI/CD, shadow deploys, observability, rollback, 5-tool stack
M6Economics4-6Model pricing, cascade routing, pass@k evals, cost optimization
M7Advanced5-7Autoresearch, meta-agents, beyond MCP, always-on agents
M8Capstone8-12Build a production-grade multi-agent system

Total: 44-62 hours, 65 lessons, 13 labs, 56 quizzes


Module 1: Foundations (4-6 hours)

LessonTopic
1.1What Makes an Agent? — Karpathy thesis, Software 3.0
1.2The Harness vs The Model — 5 subsystems, 4 dimensions
1.3The Repository IS the Spec
1.4Decision Framework: "Should I use an agent for this?"
1.5The Agent Loop: Think, Act, Observe, Repeat
1.6Tool Calling Deep Dive
1.7Vibe Coding vs Agentic Engineering
1.8Do You Trust Your Agents? — Hotz critique, Schmidt strategic view
LabYour First Agent (single-tool)

Module 2: Architecture (6-8 hours)

LessonTopic
2.1The Four Pillars: Tools, Loop, Context, Memory
2.2Tool Design Patterns: MCP, CLI, Script, Skills
2.3Agent Loop Variants: 5 levels
2.4Skills System Deep Dive: path-scoped, plugins, LSP
2.5Agent-Readable Workspace: init phase, feature lists
2.6Context Window Management
2.7Memory Patterns: mental models, scratch pads
2.8The Reasoning Parameter
2.9Codebase Architectures: 4 patterns
LabsMulti-Tool Agent + Context-Aware Agent

Module 3: Safety & Security (5-7 hours)

LessonTopic
3.1Prompt Injection (L0) + Why Bash Is the Problem
3.2The 6-Level Security Ladder
3.3The L3 Marque Break
3.4Damage Control: 3 access levels
3.5Hook Architecture: 13 lifecycle events
3.6The Verifier Pattern
3.7Defense-in-Depth Stacking
LabsWhitelist Hook + Verifier Agent

Module 4: Orchestration (7-9 hours)

LessonTopic
4.1Why One Agent Is Not Enough
4.2Orchestration Patterns: Dispatcher, Pipeline, P2P
4.3P-Threads: Parallel Agent Execution
4.4F-Threads: Fusion, N Agents One Winner
4.5Depth-2 Delegation
4.6Agent Experts That Remember
4.7Domain Locking
4.8TillDone Task Discipline
4.9Agent Chains
4.10P2P Communication + MCP Agent Mail
4.11Service Connectors
4.12Conversation Awareness
4.13CEO Board System
4.14UI Agents System
LabsAgent Chain + Multi-Team Config

Module 5: Production (5-7 hours)

LessonTopic
5.1What Production Means for Agents
5.2CI/CD for Agents
5.3The 5-Tool Production Stack
5.4The Agent Manager Role
5.5Shadow Deployments
5.6Rollback Strategies
5.7Observability + Cross-Provider Search
5.8Alerting and Monitoring
5.9Deployment Modes
5.10Cost Control
LabsObservability SQLite + CI/CD Pipeline

Module 6: Economics (4-6 hours)

LessonTopic
6.0The Compute Advantage Equation
6.1Tokenomics: 3 Levels
6.2LLM Pricing Landscape
6.3Cascade Routing
6.4Cost Per Session Math
6.5Agent Evaluation Metrics
6.6Automated Evaluation
6.7A/B Testing Agents
6.8Human Evaluation
LabsEval Harness + Cost Optimization

Module 7: Advanced (5-7 hours)

LessonTopic
7.1Autoresearch: Self-Improving Agents
7.2Integrity: Keeping the Loop Honest
7.3Meta-Agents: Agents That Build Agents
7.4Beyond MCP: Choosing Tool Channels
7.5Mac Mini Agent: Physical Sandbox
7.6Always-On Agents
LabsAutoresearch Loop + Meta-Agent

Module 8: Capstone (8-12 hours)

Build a production-grade multi-agent system. Choose from:

  • Brand Monitor — Multi-LLM brand mention tracking
  • Code Review Pipeline — Plan, Build, Review, Verify
  • Strategic Decision Board — 8-agent CEO board

Reference Documents

FDSA Agency — Agentic Engineering Course. Part of the fdsa.ai orchestration platform.

- + \ No newline at end of file diff --git a/site/.vitepress/dist/modules/debate.html b/site/.vitepress/dist/modules/debate.html index 8b0ed16..3a4a46d 100644 --- a/site/.vitepress/dist/modules/debate.html +++ b/site/.vitepress/dist/modules/debate.html @@ -6,12 +6,12 @@ The Great Agent Debate | Agentic Engineering the Hard Way - + - + - + @@ -29,7 +29,7 @@
Skip to content

The Great Agent Debate

Two opposing views from credible engineers. Both are essential context.

Armin Ronacher — "Building Pi With Pi"

Who: Creator of Flask, Sentry co-founder, Pi maintainer.
Post: lucumr.pocoo.org (May 24, 2026)

Key arguments:

  • Pi is built with Pi (agents building agent tools)
  • The harness matters most
  • We're not at full autonomy yet
  • AI-generated PRs create new OSS maintenance burdens

George Hotz — "The Eternal Sloptember"

Who: Founder of comma.ai, first iPhone jailbreaker.
Post: geohot.github.io (May 24, 2026)

Key arguments:

  • "Agents cannot program" — output is broken in increasingly hard-to-detect ways
  • It's not "you're using it wrong" — he tried all models, harnesses, prompts
  • Agents hurt large organizations more (slow feedback loops)
  • "Golden era for slop, dark age for quality"

The Synthesized View

Armin SaysGeorge SaysWe Teach
Harness is the productOutput is slopThe harness catches slop (M3)
Not at dark factory yetAgents can't programUse agents for what they're good at (M1)
Built with Pi is realSlot machine polish problemVerifier finishes the polish (M3)
OSS maintenance is hardLarge orgs will sufferProduction patterns prevent this (M5)

Both are right. Agents produce slop. The harness, verification, and production patterns turn slop into shipped quality. Without the harness, Hotz wins.

FDSA Agency — Agentic Engineering Course. Part of the fdsa.ai orchestration platform.

- + \ No newline at end of file diff --git a/site/.vitepress/dist/modules/feynman.html b/site/.vitepress/dist/modules/feynman.html index 3b8e51c..e536d74 100644 --- a/site/.vitepress/dist/modules/feynman.html +++ b/site/.vitepress/dist/modules/feynman.html @@ -6,12 +6,12 @@ Feynman-Style Course: Core Concepts in Plain Language | Agentic Engineering the Hard Way - + - + - + @@ -32,7 +32,7 @@ 2. The agent does something (reads a file, runs a command) 3. The agent sees the result 4. The agent decides: "Am I done?" If yes, stop. If no, go back to step 1.

That's it. That's the entire loop. The magic is in what tools you give it and how you tell it to decide when to stop.


4. The Four Things You Control (M1)

Fancy version: Context, Model, Prompt, Tools — the 4 dimensions of control.

Simple version: You can only change four things about any agent:

  1. What it knows (context) — files, instructions, conversation history
  2. How smart it is (model) — which LLM powers it
  3. How you talk to it (prompt) — the system instructions
  4. What it can do (tools) — read, write, search, run commands

The trick: #2 (model) is the least important and most expensive. #4 (tools) is the most important and cheapest. Focus on tools.


5. The Repository IS the Spec (M1)

Fancy version: All necessary context should live in the repository as the single source of truth.

Simple version: Imagine you wake up an engineer at 3AM and drop them into a project. They need to know: What does this project do? How do I run tests? Where do I put new code? What rules should I follow?

If the answer is "ask Bob" — you fail. If the answer is "read CLAUDE.md in the repo" — you win.

An agent can only see what's in files. EVERYTHING the agent needs must be in a file. Not in your head. Not in tribal knowledge. In a file.


6. The Security Ladder (M3)

Fancy version: 6 levels of bash security from L0 to L5.

Simple version: Imagine your agent has a button that says "run any command on your computer." That's the most dangerous button in the world. Here's how to protect it:

The dirty secret: Most people stop at Level 2 and think they're safe. They're not. The math proves it: at a 1% failure rate, there's a 63% chance of disaster over 100 agent turns.


7. Why One Agent Is Not Enough (M4)

Fancy version: Context ceiling, capability ceiling, reliability ceiling.

Simple version: Imagine one person trying to be CEO, engineer, designer, QA, and customer support at the same time. They'd be bad at everything and exhausted.

One agent has the same problem:

The fix: multiple specialized agents. One plans. One codes. One reviews. One verifies. Each one good at its job. If the reviewer breaks, the coder keeps working.


8. Orchestration Patterns (M4)

Fancy version: Dispatcher, Pipeline, P2P — three patterns for multi-agent work.

Simple version:

Pattern 1 — The Manager (Dispatcher): One boss tells specialists what to do. Each specialist works independently. The boss collects results. Like a team lead assigning tickets.

Pattern 2 — The Assembly Line (Pipeline): Step 1 → Step 2 → Step 3. Planner makes a plan. Builder builds it. Reviewer checks it. Each step feeds into the next.

Pattern 3 — The Coworkers (P2P): No boss. Agents talk to each other directly like peers. "Hey, can you check this?" "Sure, here's what I found." Flat, fast, flexible.

Which to use: Manager for complex projects. Assembly line for well-defined workflows. Coworkers for creative collaboration.


9. TillDone — Task Discipline (M4)

Fancy version: Task list gating with live progress tracking.

Simple version: Before an agent can do anything, it must write down what it's going to do. No "just start coding." Write the task list first. Then do each task. Mark it done. If the session ends with incomplete tasks, the agent gets nudged: "Hey, you're not done yet."

This stops the #1 agent failure: starting without a plan and wandering off.


10. The 3x Rule (M6)

Fancy version: Production agent costs 3x your prototype estimate.

Simple version: When you build a quick prototype, the agent works perfectly on the happy path. In production, everything goes wrong:

The rule: Whatever you think the agent will cost, multiply by 3. If your prototype costs $0.10 per task, production will cost $0.30. Budget for it.


11. Cascade Routing (M6)

Fancy version: Use cheap models for simple steps, expensive models for complex steps.

Simple version: Don't use your smartest engineer to sort papers. Use the intern for sorting, the senior for decisions.

For agents:

This saves 66-80% compared to using Opus for everything. The work is the same quality because each model does what it's best at.


12. The Verifier (M3)

Fancy version: Two-agent observer pattern with read-only verification.

Simple version: Imagine you have two engineers. One writes code. The other checks the code. The checker CANNOT write code — they can only read files and point out mistakes.

The builder doesn't even know the checker exists. After every change, the checker automatically reviews it. If they find a problem, they send a note: "Hey, this file says X but the actual code does Y — fix it."

After 3 failed checks, the checker calls you: "I can't verify this, come look."

This catches mistakes BEFORE they hit production. And because the checker can't write code, they can't make things worse.


13. The Confidence Ladder (M3)

Fancy version: PERFECT → VERIFIED → PARTIAL → FEEDBACK → FAILED

Simple version: After the verifier checks the work, they give a grade:

GradeMeaningWhat You Do
PERFECTEverything checks out, no issuesShip it
VERIFIEDMinor non-blocking gapsShip it, note the gaps
PARTIALNo failures, but some things can't be checkedReview the unchecked parts
FEEDBACKSomething failed, correction sentWait for the fix
FAILEDCan't verify at allInvestigate immediately

14. Autoresearch (M7)

Fancy version: Self-improving agents with integrity guards.

Simple version: An agent that experiments on itself. It tries a change, measures if it helped, and keeps it if it did. Like a scientist running experiments.

The problem: Agents cheat. They run the same code 160 times hoping for a lucky result (grinding). They move work outside the timing function (reward hacking). They find and train on the test data (data leakage).

The fix: Integrity guards.


15. The Universal Truth

Fancy version: Deterministic orchestrates non-deterministic. Code is the harness. AI is the engine.

Simple version: Use regular code for things that never change. Use AI for things that need intelligence. Don't ask AI to do what a simple script can do.

Or as Kelsey Hightower put it: "Don't waste tokens on deterministic work."

The practical rule: If you can write a bash command or a Python function that does it, DO THAT. Only use AI when you need judgment, creativity, or adaptation. Every token you save is money and reliability you keep.

- + \ No newline at end of file diff --git a/site/.vitepress/dist/modules/field-manual.html b/site/.vitepress/dist/modules/field-manual.html index 281235b..0fb0506 100644 --- a/site/.vitepress/dist/modules/field-manual.html +++ b/site/.vitepress/dist/modules/field-manual.html @@ -6,12 +6,12 @@ Agentic Engineering — Technical Field Manual | Agentic Engineering the Hard Way - + - + - + @@ -77,7 +77,7 @@ ECONOMICS: CA = (CS × A) ÷ (T + E + MC) 3x rule Cascade 66-80% EVALS: pass@k = 1 - (1-p)^k Cost/task Tool call accuracy TRUST: "Yes, because I've engineered it" — not blind faith - + \ No newline at end of file diff --git a/site/.vitepress/dist/modules/m1-foundations.html b/site/.vitepress/dist/modules/m1-foundations.html index f0fed31..ea3c840 100644 --- a/site/.vitepress/dist/modules/m1-foundations.html +++ b/site/.vitepress/dist/modules/m1-foundations.html @@ -6,12 +6,12 @@ Module 1: Foundations | Agentic Engineering the Hard Way - + - + - + @@ -90,7 +90,7 @@ import json # Your code here...

Checkpoints:

  1. Tool call is made correctly (schema matches)
  2. Tool result is fed back to the LLM
  3. LLM produces final answer using tool result
  4. Loop terminates (doesn't run forever)

Solution: course/labs/L1-first-agent/solution.py


Quiz M1

  1. What three components make an AI agent? (Multiple choice)
  2. True/False: The model quality matters more than the harness design
  3. When should you NOT use an agent? (Scenario-based)
  4. What does the reasoning parameter do?
  5. Calculate: If an agent has a 2% failure rate per turn and runs 50 turns, what's the probability of at least one failure?
- + \ No newline at end of file diff --git a/site/.vitepress/dist/modules/m2-architecture.html b/site/.vitepress/dist/modules/m2-architecture.html index 28abf96..9d35760 100644 --- a/site/.vitepress/dist/modules/m2-architecture.html +++ b/site/.vitepress/dist/modules/m2-architecture.html @@ -6,12 +6,12 @@ Module 2: Agent Architecture | Agentic Engineering the Hard Way - + - + - + @@ -128,7 +128,7 @@ if attempt == MAX_RETRIES - 1: return {"error": "API unavailable after 3 retries", "fallback": "use cached result"} time.sleep(2 ** attempt) # exponential backoff

Lab 2.8: Multi-Tool Agent

Objective: Add file operations + web search tools to the agent from Lab 1.

Starter: course/labs/L2-multi-tool/starter.py
Solution: course/labs/L2-multi-tool/solution.py


Lab 2.9: Context-Aware Agent

Objective: Implement sliding window + summarization for long sessions.

Starter: course/labs/L2-context/starter.py
Solution: course/labs/L2-context/solution.py

- + \ No newline at end of file diff --git a/site/.vitepress/dist/modules/m3-safety.html b/site/.vitepress/dist/modules/m3-safety.html index 04a7dca..ebf9627 100644 --- a/site/.vitepress/dist/modules/m3-safety.html +++ b/site/.vitepress/dist/modules/m3-safety.html @@ -6,12 +6,12 @@ Module 3: Safety & Security | Agentic Engineering the Hard Way - + - + - + @@ -109,7 +109,7 @@ # 3. Check against safelist # 4. Block if not safelisted, allow if matched # 5. Handle the compound shell operator case (&&, ||, ;, |)

Lab 3.9: Build a Verifier Agent

Objective: Create a read-only agent that checks the builder's work.

Starter: course/labs/L3-verifier/starter.py

Checkpoints:

  1. Verifier can read builder's file changes
  2. Verifier can grep/search for evidence
  3. Verifier has NO write/edit/bash tools
  4. Verifier reports confidence level
  5. Builder can receive and act on verifier feedback
- + \ No newline at end of file diff --git a/site/.vitepress/dist/modules/m4-orchestration.html b/site/.vitepress/dist/modules/m4-orchestration.html index e75340f..11698af 100644 --- a/site/.vitepress/dist/modules/m4-orchestration.html +++ b/site/.vitepress/dist/modules/m4-orchestration.html @@ -6,12 +6,12 @@ Module 4: Multi-Agent Orchestration | Agentic Engineering the Hard Way - + - + - + @@ -114,7 +114,7 @@ Connector → authenticates → calls API → returns result Agent → processes result → continues work Orchestrator → synthesizes final output

Lesson 4.10: The CEO Board System

8 specialist agents for strategic decision-making:

Board MemberFocusTime Horizon
RevenueCash flow, short-term wins30-90 days
CompounderTrust, long-term value6-24 months
ContrarianAssumptions, blind spots3x weight on dissent
Technical ArchitectSystem durabilityOngoing
Product StrategistProblem selectionQuarterly
Customer OracleUser behaviorOngoing
Market StrategistPositioningQuarterly
MoonshotAsymmetric upside1-5 years

Flow

  1. CEO frames the decision
  2. Board debates (sources required, no "I think")
  3. Verifier checks facts (2+ sources per claim)
  4. Executor creates execution plan
  5. Tracker logs for quarterly review

Lesson 4.11: UI Agents System

12 agents across 4 teams for brand-consistent UI generation:

Brand → Product → Tree → Branch → Leaf

Each level has its own brand.yaml with CSS custom properties. Zero hardcoded values. Agents generate Vue components that use only CSS custom properties from the brand config.

Lab 4.12: Build an Agent Chain

Objective: Create a plan→build→review pipeline in YAML.

Starter: course/labs/L4-agent-chain/starter.yamlSolution: course/labs/L4-agent-chain/solution.yaml

Checkpoints:

  1. Planner produces structured plan with tasks and file paths
  2. Builder creates code matching the plan
  3. Reviewer identifies issues with severity (critical/major/minor)
  4. Verifier confirms each claim with file:line evidence

Lab 4.13: Deploy a Multi-Team System

Objective: Set up orchestrator + 2 teams with domain locking.

Starter: course/labs/L4-multi-team/starter-config.yamlSolution: course/labs/L4-multi-team/solution-config.yaml

Checkpoints:

  1. Orchestrator delegates, never executes
  2. Each team has lead + members with distinct roles
  3. Domain permissions restrict each agent to its scope
  4. Mental model files exist for each agent
- + \ No newline at end of file diff --git a/site/.vitepress/dist/modules/m5-production.html b/site/.vitepress/dist/modules/m5-production.html index 1492298..a2fa939 100644 --- a/site/.vitepress/dist/modules/m5-production.html +++ b/site/.vitepress/dist/modules/m5-production.html @@ -6,12 +6,12 @@ Module 5: Production Patterns | Agentic Engineering the Hard Way - + - + - + @@ -161,7 +161,7 @@ scope: "global" amount: 200 # $2/session max hard_stop: true

Warning vs Hard Stop


Lab 5.9: Set Up Agent Observability

Objective: Trace every tool call + LLM completion to a local SQLite database.

Starter: course/labs/L5-observability/starter/

Lab 5.10: CI/CD Pipeline

Objective: Create a golden dataset and automated regression gate.

Starter: course/labs/L5-cicd/starter/

- + \ No newline at end of file diff --git a/site/.vitepress/dist/modules/m6-economics.html b/site/.vitepress/dist/modules/m6-economics.html index ab3826a..527bd32 100644 --- a/site/.vitepress/dist/modules/m6-economics.html +++ b/site/.vitepress/dist/modules/m6-economics.html @@ -6,12 +6,12 @@ Module 6: Economics & Evaluation | Agentic Engineering the Hard Way - + - + - + @@ -75,7 +75,7 @@ ├── 288 runs/day × $0.08 = $23.04/day = $691/month ├── With cascade + dedup + scheduling: $4.15/day = $125/month └── Savings: 82%

The 80/20 Rule

90% of cost savings come from three changes:

  1. Model cascade — use cheap models for routine work (saves 50-80%)
  2. Iteration limits — cap loops at 3-5 turns (saves 40-60%)
  3. Deduplication — don't re-read the same context (saves 20-30%)

Do these three first before any other optimization.


Lab 6.8: Build an Eval Harness

Objective: Create golden Q&A pairs + automated pass/fail scoring.

Starter: course/labs/L6-eval-harness/starter.py

Lab 6.9: Cost Optimization

Objective: Profile a session, identify savings, implement cascade routing.

Starter: course/labs/L6-cost-optimization/starter.py

- + \ No newline at end of file diff --git a/site/.vitepress/dist/modules/m7-advanced.html b/site/.vitepress/dist/modules/m7-advanced.html index b4cf0e5..7af7638 100644 --- a/site/.vitepress/dist/modules/m7-advanced.html +++ b/site/.vitepress/dist/modules/m7-advanced.html @@ -6,12 +6,12 @@ Module 7: Advanced Topics | Agentic Engineering the Hard Way - + - + - + @@ -124,7 +124,7 @@ wake_command: "claude -p 'Check brand mentions since last run'" sleep_command: "pkill -f 'claude.*brand-monitor'" log_path: "/var/log/openclaw/brand-monitor.log"

It starts, checks for work, executes if needed, then goes back to sleep. No continuous billing, no context window overflow, no runaway loops. This is the pattern for production always-on agents.

When NOT to Use Always-On

Always-on adds complexity. Before building one, verify you actually need it:

Always-on makes sense when you need adaptive scheduling, dynamic task generation, or autonomous decision-making about what to work on next.


Lab 7.7: Build an Autoresearch Loop

Objective: Agent runs experiment, measures result, logs it, decides keep/discard.

Starter: course/labs/L7-autoresearch/starter.py

Checkpoints:

  1. Run code, measure baseline metric
  2. Modify code (agent makes change)
  3. Re-measure, compare, log
  4. Discard if regression, keep if improvement
  5. Include integrity guard (code hashing)

Lab 7.8: Meta-Agent

Objective: Agent generates a new agent persona from documentation.

Starter: course/labs/L7-meta-agent/starter.py

- + \ No newline at end of file diff --git a/site/.vitepress/dist/modules/m8-capstone.html b/site/.vitepress/dist/modules/m8-capstone.html index 3568df8..ac72e91 100644 --- a/site/.vitepress/dist/modules/m8-capstone.html +++ b/site/.vitepress/dist/modules/m8-capstone.html @@ -6,12 +6,12 @@ Module 8: Capstone — Production Multi-Agent System | Agentic Engineering the Hard Way - + - + - + @@ -107,7 +107,7 @@ [ ] Cost analysis ($/task, optimization opportunities) [ ] Security audit (which L-level, what gaps remain) [ ] Retrospective (max 1 page)

Pass Criteria

CriterionMinimumTarget
System runs without manual intervention
All agents have domain-locked permissions
Each agent has mental model file
pass@k (k=3) on golden dataset>60%>80%
Cost analysis within 2x of optimal
Security audit identifies ≥2 improvements
Observability captures all tool calls
Architecture document submitted

Grading Rubric

AreaWeightPoor (0)Good (1)Excellent (2)
Architecture20%No diagram, unclear designDiagram present, mostly clearClear diagram, justified choices
Implementation25%Agents don't workAgents work on happy pathAgents handle errors gracefully
Security20%L1 onlyL3+ with damage-controlL4+ with verifier
Testing15%No evalpass@k computedpass@k + cost analysis + grind detection
Documentation10%MinimalArchitecture + setupArchitecture + setup + retrospective
Cost Optimization10%Single modelCascade routingCascade + verified savings
- + \ No newline at end of file diff --git a/site/.vitepress/dist/modules/non-technical.html b/site/.vitepress/dist/modules/non-technical.html index c9e213b..e507424 100644 --- a/site/.vitepress/dist/modules/non-technical.html +++ b/site/.vitepress/dist/modules/non-technical.html @@ -6,12 +6,12 @@ Non-Technical Track: Decision Frameworks for AI Agents | Agentic Engineering the Hard Way - + - + - + @@ -75,7 +75,7 @@ ├── <$50/month → Use cheapest model (Gemini Flash) ├── $50-500/month → Cascade routing (mix models) └── >$500/month → Multi-agent with verification - + \ No newline at end of file diff --git a/site/.vitepress/dist/modules/reference-stack.html b/site/.vitepress/dist/modules/reference-stack.html index 2f8e433..7284c51 100644 --- a/site/.vitepress/dist/modules/reference-stack.html +++ b/site/.vitepress/dist/modules/reference-stack.html @@ -6,12 +6,12 @@ Reference Architecture: Production Multi-Agent Stack | Agentic Engineering the Hard Way - + - + - + @@ -90,7 +90,7 @@ # Heartbeat schedule claw schedule --cron "0 */6 * * *" --task "daily-report"

Cost Analysis

ToolBest ForEst. Cost/TaskAutonomy Level
Claude CodeComplex multi-step tasks$0.05-$0.30High (with hooks)
Pi AgentCustom workflows, safety-critical$0.02-$0.15Very high (extensible)
OpenCodeOSS-compatible, budget tasks$0.01-$0.05Medium
GeminiHigh-volume, simple tasks$0.002-$0.01Low
OpenClawScheduled, always-on tasks$0.01-$0.10Autonomous

Key Production Patterns

  1. Model heterogeneity: Different models for different roles. Claude for complex reasoning, Gemini for fast/cheap tasks, Qwen as specialist.

  2. Tool heterogeneity: Not one agent CLI, but five. Each has different strengths. The stack uses each where it excels.

  3. Defense in depth: psmux isolates sessions. dmux isolates files. damage-control restricts commands. mprocs restarts failed processes.

  4. Observability: agent-mux shows live status. mprocs logs output. Session history enables replay debugging.

  5. No single point of failure: If Claude Code fails, Pi or OpenCode can take over. The mprocs supervisor restarts crashed processes.

What This Stack Proves

This architecture demonstrates every concept taught in Modules 1-7:

ConceptWhere It Appears
Agent loopEvery tool follows think→act→observe→repeat
Tool designEach tool provides different tools (read, write, bash, search)
Securitydamage-control, psmux isolation, dmux isolation
Multi-agentteammate-mode, mprocs launching 5 agents
Productionmprocs supervision, cost tracking, worktree isolation
EconomicsCascade routing across 5 tools by task type
Advancedagent-mux as meta-agent controlling other agents
- + \ No newline at end of file diff --git a/site/.vitepress/dist/modules/software-factory.html b/site/.vitepress/dist/modules/software-factory.html index b547d30..22868e1 100644 --- a/site/.vitepress/dist/modules/software-factory.html +++ b/site/.vitepress/dist/modules/software-factory.html @@ -6,12 +6,12 @@ Software Factory: Paperclip Integration | Agentic Engineering the Hard Way - + - + - + @@ -34,7 +34,7 @@ (all JWT authenticated)

Authentication Tiers

TierTrust ModelTokenUse Case
1. LocalSame machineShort-lived JWT (48h)Local dev
2. CLIShell accessLong-lived API keyRemote agents
3. Self-registerAutonomousInvite URL to JWTOpenClaw agents

Quick Start

bash
cd paperclip
 pnpm dev --bind lan
 curl -sS http://127.0.0.1:3100/api/health | jq

Status

Paperclip's auth plan documents all 3 tiers. Tier 1 is partially implemented — env vars are passed but PAPERCLIP_API_KEY (JWT) needs to be added to the env injection. This is the last code change needed to close the factory loop.

- + \ No newline at end of file diff --git a/site/.vitepress/dist/modules/tool-reference.html b/site/.vitepress/dist/modules/tool-reference.html index 0574430..76684af 100644 --- a/site/.vitepress/dist/modules/tool-reference.html +++ b/site/.vitepress/dist/modules/tool-reference.html @@ -6,12 +6,12 @@ Agent CLI Reference: 5-Tool Comparison | Agentic Engineering the Hard Way - + - + - + @@ -96,7 +96,7 @@ ├── Budget constrained → OpenCode + Go models ├── Maximum control → Pi Agent + extensions └── Enterprise rollout → Claude Code + Agent Manager - + \ No newline at end of file diff --git a/site/.vitepress/dist/public/certificate/template.html b/site/.vitepress/dist/public/certificate/template.html index 2896a37..4788f0b 100644 --- a/site/.vitepress/dist/public/certificate/template.html +++ b/site/.vitepress/dist/public/certificate/template.html @@ -6,12 +6,12 @@ Certificate of Completion | Agentic Engineering the Hard Way - + - + - + @@ -29,7 +29,7 @@
Skip to content

Certificate of Completion

This certifies that

________________________

has completed the

FDSA Agentic Engineering Course

65 lessons · 13 labs · 56 quizzes · 20 skill kits

Awarded: ________________


This course covers: agent harnesses, multi-agent orchestration, production deployment, security (6-level ladder), model economics, autoresearch, and meta-agents. Framework-agnostic across Claude Code, Pi Agent, OpenCode, Hermes, and OpenClaw.

Verify at: https://fdsa.agency/verify

Last updated:

FDSA Agency — Agentic Engineering Course. Part of the fdsa.ai orchestration platform.

- + \ No newline at end of file diff --git a/site/.vitepress/dist/resources.html b/site/.vitepress/dist/resources.html index 33e5300..c3f2d07 100644 --- a/site/.vitepress/dist/resources.html +++ b/site/.vitepress/dist/resources.html @@ -6,12 +6,12 @@ Resources | Agentic Engineering the Hard Way - + - + - + @@ -33,7 +33,7 @@ # Mac/Linux bash install.sh - + \ No newline at end of file diff --git a/site/.vitepress/dist/skills.html b/site/.vitepress/dist/skills.html index 128c22a..1a703b3 100644 --- a/site/.vitepress/dist/skills.html +++ b/site/.vitepress/dist/skills.html @@ -6,12 +6,12 @@ Skill Kits | Agentic Engineering the Hard Way - + - + - + @@ -41,7 +41,7 @@ │ ├── observability/ (4 skills) │ └── ceo-board/ (11 agents) └── .claude-plugin/marketplace.json - + \ No newline at end of file diff --git a/site/.vitepress/dist/troubleshooting.html b/site/.vitepress/dist/troubleshooting.html index 0c4562e..7e4f024 100644 --- a/site/.vitepress/dist/troubleshooting.html +++ b/site/.vitepress/dist/troubleshooting.html @@ -6,12 +6,12 @@ Troubleshooting & FAQ | Agentic Engineering the Hard Way - + - + - + @@ -29,7 +29,7 @@
Skip to content

Troubleshooting & FAQ

Installation

Q: pip install anthropic fails with SSL error
A: Update pip: python -m pip install --upgrade pip. If on Windows behind a corporate proxy, set set HTTPS_PROXY=http://proxy:port.

Q: python not found on Windows
A: Install from python.org. Check "Add Python to PATH" during installation.

Q: ModuleNotFoundError: No module named 'yaml'
A: pip install pyyaml

Labs

Q: Lab returns "No input provided"
A: Check you're passing messages parameter, not prompt. The mock LLM expects: messages=[{"role": "user", "content": "your prompt"}]

Q: Agent loops forever
A: MAX_ITERATIONS is not set or is too high. Set it to 10-15 for labs.

Q: Tool call returns empty result
A: The mock LLM generates tool calls based on keyword detection. If your prompt doesn't contain trigger words (read, search, write), it won't generate tool calls.

Q: str_replace_editor not found
A: That's an Anthropic-specific tool type. The mock LLM only supports basic tool_use blocks. Use the standard tool format shown in the labs.

Skills

Q: Installed skills don't appear in /skills menu
A: Restart Claude Code after installation. Skills are loaded at startup.

Q: Skill says "not user-invocable"
A: Check the YAML frontmatter has user-invocable: true. Kit master files intentionally omit this (they're documentation, not invocable skills).

Q: $ARGUMENTS not being replaced
A: $ARGUMENTS is a placeholder. The agent (Claude Code / Pi) replaces it with your input when you invoke the skill via /command.

API Keys

Q: "This model is not available" from Anthropic
A: You might need to request access to Claude Sonnet 4 / Opus 4. Check docs.anthropic.com for available models for your tier.

Q: Mock LLM works but real API returns 401
A: Check ANTHROPIC_API_KEY is set correctly. Test with: python -c "import os; print(os.environ.get('ANTHROPIC_API_KEY', 'NOT SET')[:10])"

Q: OpenRouter returns 402 Payment Required
A: Your free credits may be exhausted. Add payment method or switch to a different provider.

General

Q: The course files use \u2192 characters that show as garbage
A: The course uses Unicode arrows (→) in diagrams. If your terminal doesn't support UTF-8, set $env:PYTHONIOENCODING='utf-8' on Windows or use a UTF-8 capable terminal (Windows Terminal, iTerm2, Ghostty).

Q: How do I cite this course?
A: Reference "Agentic Engineering Course" with the module and lesson number.

Q: Can I teach this course?
A: Course materials are provided for personal study. Contact for teaching license.

Last updated:

FDSA Agency — Agentic Engineering Course. Part of the fdsa.ai orchestration platform.

- + \ No newline at end of file diff --git a/site/.vitepress/dist/verify.html b/site/.vitepress/dist/verify.html index cff4888..f441d6a 100644 --- a/site/.vitepress/dist/verify.html +++ b/site/.vitepress/dist/verify.html @@ -6,12 +6,12 @@ Verify Certificate | Agentic Engineering the Hard Way - + - + - + @@ -29,7 +29,7 @@
Skip to content

Verify Certificate

Enter the certificate ID to verify:

Certificate verification system coming soon. For now, contact artale@fdsa.agency to verify a certificate.


Back to home

Last updated:

FDSA Agency — Agentic Engineering Course. Part of the fdsa.ai orchestration platform.

- + \ No newline at end of file diff --git a/site/.vitepress/theme/Quiz.vue b/site/.vitepress/theme/Quiz.vue new file mode 100644 index 0000000..cbe004b --- /dev/null +++ b/site/.vitepress/theme/Quiz.vue @@ -0,0 +1,218 @@ + + + + + diff --git a/site/.vitepress/theme/index.js b/site/.vitepress/theme/index.js index 1814dcd..2dcfb4f 100644 --- a/site/.vitepress/theme/index.js +++ b/site/.vitepress/theme/index.js @@ -1,6 +1,7 @@ import DefaultTheme from 'vitepress/theme' import Layout from './Layout.vue' import LandingLayout from './LandingLayout.vue' +import Quiz from './Quiz.vue' import './style.css' export default { @@ -8,5 +9,6 @@ export default { Layout, enhanceApp({ app }) { app.component('LandingLayout', LandingLayout) + app.component('Quiz', Quiz) }, } diff --git a/site/blog/index.md b/site/blog/index.md index 56d5ba0..7dea6bc 100644 --- a/site/blog/index.md +++ b/site/blog/index.md @@ -4,36 +4,40 @@ Essays on agentic engineering, security, multi-agent systems, and production dep ## Latest Posts -### [What Is an AI Agent, Really?](/blog/posts/what-is-an-agent) — June 2 -LLM + Tools + Loop. The simplest correct explanation. +### [Context Window Management for AI Agents](/blog/posts/context-window-management) — June 18 +Sliding windows, summarization, mental models, and the 80/20 rule of context budget allocation. -### [Why One Agent Is Not Enough](/blog/posts/why-multi-agent) — June 3 -Context, capability, and reliability ceilings of single-agent systems. - -### [Vibe Coding vs Agentic Engineering](/blog/posts/vibe-vs-agentic) — June 4 -The 5 hard rules that separate production from prompt gambling. - -### [The Repo Is the Spec](/blog/posts/repo-is-spec) — June 5 -Why every instruction your agent needs must live in a file. - -### [The 6-Level Security Ladder](/blog/posts/security-ladder) — June 6 -How to stop your AI agents from destroying production. From ACIP to no-bash. - -### [Choosing Your Security Level](/blog/posts/choosing-security-level) — June 7 -Which L-level you need based on what your agent can access. - -### [The Verifier Pattern](/blog/posts/verifier-pattern) — June 8 -A read-only verification agent that catches mistakes before production. - -### [Agent Memory: Mental Models](/blog/posts/mental-models) — June 9 -How agents remember across sessions using self-maintained expertise files. - -### [The 3x Rule of Agent Costs](/blog/posts/three-x-rule) — June 10 -Why production agents cost 3x your prototype estimate. +### [Agent Loops: The Complete Guide](/blog/posts/agent-loops-complete-guide) — June 15 +Three loop types, termination conditions, anti-patterns, and the 5 rules of production loops. ### [Cascade Routing: Cut API Costs by 66%](/blog/posts/cascade-routing) — June 11 Use cheap models for simple steps, expensive models for complex reasoning. ---- +### [The 3x Rule of Agent Costs](/blog/posts/three-x-rule) — June 10 +Why production agents cost 3x your prototype estimate. + +### [Agent Memory: Mental Models](/blog/posts/mental-models) — June 9 +How agents remember across sessions using self-maintained expertise files. + +### [The Verifier Pattern](/blog/posts/verifier-pattern) — June 8 +A read-only verification agent that catches mistakes before production. + +### [Choosing Your Security Level](/blog/posts/choosing-security-level) — June 7 +Which L-level you need based on what your agent can access. + +### [The 6-Level Security Ladder](/blog/posts/security-ladder) — June 6 +How to stop your AI agents from destroying production. From ACIP to no-bash. + +### [The Repo Is the Spec](/blog/posts/repo-is-spec) — June 5 +Why every instruction your agent needs must live in a file. + +### [Vibe Coding vs Agentic Engineering](/blog/posts/vibe-vs-agentic) — June 4 +The 5 hard rules that separate production from prompt gambling. + +### [Why One Agent Is Not Enough](/blog/posts/why-multi-agent) — June 3 +Context, capability, and reliability ceilings of single-agent systems. + +### [What Is an AI Agent, Really?](/blog/posts/what-is-an-agent) — June 2 +LLM + Tools + Loop. The simplest correct explanation. *Posts are based on content from the [Agentic Engineering Course](/). Each topic has a corresponding module with labs and exercises.* diff --git a/site/blog/posts/agent-loops-complete-guide.md b/site/blog/posts/agent-loops-complete-guide.md new file mode 100644 index 0000000..900223a --- /dev/null +++ b/site/blog/posts/agent-loops-complete-guide.md @@ -0,0 +1,146 @@ +# Agent Loops: The Complete Guide + +**June 15, 2026** + +Every agent is a loop. The difference between a demo agent and a production agent is how well you control that loop. + +--- + +## The Three Loop Types + +### Type 1: Think → Act → Observe (Basic) + +``` +1. LLM decides what to do next (thinks) +2. Tool executes the decision (acts) +3. Result feeds back to LLM (observes) +4. Repeat until done +``` + +This is the simplest loop. Every lab in this course starts here. It works for single-step tasks where the agent calls one tool and returns an answer. + +**Problem**: No bounded iteration. Without `MAX_ITERATIONS`, the agent loops forever on ambiguous tasks. + +### Type 2: Plan → Execute → Verify (Guarded) + +``` +1. Agent plans the approach (tool selection + sequence) +2. Agent executes each step +3. Verifier agent checks each result +4. On failure: re-plan with new context +5. On success: proceed or terminate +``` + +The verifier is a second, simpler agent (or the same agent with a verification prompt) that checks output quality before the loop continues. This prevents the agent from confidently proceeding with wrong results. + +### Type 3: Cascade (Multi-Model) + +``` +Step 1: Haiku (cheap) — bulk processing + → Step 2: Sonnet (mid) — analysis + → Step 3: Opus (premium) — synthesis, quality check +``` + +Each step uses a different model tier. Early steps are cheap and fast. Later steps are expensive but thorough. The cascade loop saves 60-80% on token costs compared to running everything through Opus. + +--- + +## Termination Conditions + +Every loop needs at least one termination condition. Production loops need three: + +### 1. Content-Based Termination + +The agent decides it's done: + +```python +if response.stop_reason == "end_turn": + return response.text # Normal completion +elif response.stop_reason == "tool_use": + continue_loop() # Agent wants another turn +``` + +### 2. Hard Limit Termination + +The loop has a maximum iteration count: + +```python +MAX_ITERATIONS = 10 +for i in range(MAX_ITERATIONS): + result = agent_step() + if result.is_done: + return result +return {"error": "Max iterations exceeded", "partial_result": result} +``` + +This is non-negotiable in production. Every lab includes it. Without it, a single bad prompt can cost you $50+ in runaway token usage. + +### 3. Cost Budget Termination + +The loop tracks cumulative cost and stops when the budget is spent: + +```python +BUDGET_CENTS = 50 +total_cost = 0 + +for i in range(MAX_ITERATIONS): + result = agent_step() + total_cost += result.cost_cents + if total_cost > BUDGET_CENTS: + return {"error": "Budget exceeded", "total_cost": total_cost} + if result.is_done: + return result +``` + +--- + +## Loop Anti-Patterns + +### Grinding + +The agent runs the same code repeatedly hoping for a different result: + +```python +# BAD: no change between iterations +for i in range(100): + score = evaluate(agent_config) + if score > best_score: + best_score = score # same config, different random seed +``` + +**Fix**: Hash the agent configuration. If it hasn't changed, don't re-run. + +### Hallucination Cascade + +Each loop iteration builds on potentially wrong information from the previous step. By iteration 5, the agent's context is full of hallucinated facts, and it makes reasonable-looking decisions based on nonsense. + +**Fix**: A verifier step after every tool call checks factual claims before they enter the context window. + +### Infinite Loop by Design + +Some tasks naturally loop (monitoring, polling). Without careful budgeting, these can run forever: + +```python +# BAD: no cost tracking on long-running loops +while True: + data = check_api() + if data.alerts: + send_notification(data.alerts) + time.sleep(60) +``` + +**Fix**: Daily cost budget + max iterations even in "infinite" loops. + +--- + +## The 5 Rules of Production Loops + +1. **Always set MAX_ITERATIONS** — even in loops you expect to terminate naturally +2. **Always track cost per iteration** — you can't optimize what you don't measure +3. **Always verify intermediate results** — don't let bad context compound +4. **Always have a fallback** — what happens when max iterations is reached? Return partial results, don't crash +5. **Always log the loop** — every iteration should be recorded for debugging + +--- + +*This is adapted from Module 1: Foundations of the [Agentic Engineering the Hard Way](/free-preview) course. Full course includes 65 lessons, 13 labs, and 20 skill kits.* diff --git a/site/blog/posts/context-window-management.md b/site/blog/posts/context-window-management.md new file mode 100644 index 0000000..bcef8be --- /dev/null +++ b/site/blog/posts/context-window-management.md @@ -0,0 +1,141 @@ +# Context Window Management for AI Agents + +**June 18, 2026** + +Your agent's context window is its working memory. Fill it with the wrong things, and the agent makes bad decisions. Fill it with too much, and you're burning $0.15 per call on irrelevant tokens. + +--- + +## The Context Budget + +Every token in the context window has a cost — literally (API pricing) and figuratively (attention dilution). The key insight: **not all tokens are equal**. + +``` +High-Value Tokens (always include): +├── System prompt (persona, rules, constraints) +├── Tool definitions (name, description, schema) +├── Current user request +└── Most recent tool results + +Medium-Value Tokens (include if relevant): +├── Conversation history (last 3-5 exchanges) +├── Mental model files (agent-specific expertise) +└── Reference documents (API docs, style guides) + +Low-Value Tokens (exclude in production): +├── Entire conversation history (use summaries instead) +├── Large reference files (link instead of inline) +├── Previous tool results that are no longer relevant +└── System messages older than the last 10 turns +``` + +--- + +## Sliding Window Strategy + +The most common production approach. Keep the window focused on recent + important: + +```python +class SlidingWindow: + def __init__(self, max_tokens=32000): + self.max_tokens = max_tokens + self.system_prompt = "" # always retained + self.messages = [] # conversation history + self.token_count = 0 + + def add_message(self, msg): + self.messages.append(msg) + self.token_count += count_tokens(msg) + + # Trim to fit budget — remove oldest tool results first + while self.token_count > self.max_tokens and len(self.messages) > 3: + removed = self.messages.pop(1) # keep system + last user + self.token_count -= count_tokens(removed) +``` + +**Best for**: Chat-style agents, interactive coding assistants, support bots. + +**Limitation**: Loses context from early in the conversation. If the user mentions something important 20 turns ago, the agent won't remember it. + +--- + +## Summarization Strategy + +Periodically summarize the conversation into condensed context: + +```python +def summarize_context(messages): + prompt = f"Summarize this conversation in 3-5 sentences, \ + preserving key decisions and user preferences: \ + {messages[-20:]}" + summary = llm.call(prompt) + return {"role": "system", "content": f"[CONTEXT: {summary}]"} +``` + +**Pattern**: +``` +Turns 1-10: full messages +Turn 11: summarize turns 1-10 → insert as system message +Turns 11-20: full messages (with summary in system prompt) +Turn 21: summarize turns 11-20 → update system summary +... repeat +``` + +**Best for**: Long-running research agents, complex multi-step tasks, customer support. + +**Cost**: Each summarization costs ~50-100 tokens. That's $0.0003-0.0015 per summary — essentially free. + +--- + +## Mental Model Strategy (Advanced) + +Give the agent its own persistent memory that it reads and writes: + +```python +# Agent reads this file at the start of every session +MENTAL_MODEL = "agent-expertise.md" + +def load_mental_model(): + if os.path.exists(MENTAL_MODEL): + return open(MENTAL_MODEL).read() + return "" + +def save_observation(key, value): + with open(MENTAL_MODEL, "a") as f: + f.write(f"\n- {key}: {value}") +``` + +The agent builds expertise over time. This is the most token-efficient strategy because the agent curates what it remembers — it doesn't keep everything. + +**Best for**: Specialized agents (code reviewers, security auditors, data analysts) that work on multiple disjoint tasks. + +--- + +## Token Budget Allocation Formula + +``` +Budget = SystemPrompt(15%) + Tools(15%) + Conversation(40%) + ToolResults(30%) + +If budget is tight: + 1. Shorten tool descriptions (remove examples) + 2. Summarize conversation history (keep last 3-5 full, summarize the rest) + 3. Trim tool results to only the relevant sections + 4. Remind the agent about mental models instead of re-reading them +``` + +--- + +## The 80/20 Rule of Context Management + +80% of context problems come from 20% of the causes: + +1. **Too much conversation history** — keep last 5 exchanges, summarize the rest +2. **Too many tool results** — only keep results that were directly used +3. **Redundant system instructions** — don't repeat the same rules in every system message +4. **Large reference files** — cite them, don't include them inline + +Fix these four, and you solve most context window issues. + +--- + +*This is adapted from Module 2: Architecture of the [Agentic Engineering the Hard Way](/free-preview) course. Full course includes 65 lessons, 13 labs, and 20 skill kits.*