agentic-ai-engineering/site/.vitepress/dist/modules/m8-capstone.html

113 lines
54 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en-US" dir="ltr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Module 8: Capstone — Production Multi-Agent System | Agentic Engineering the Hard Way</title>
<meta name="description" content="Build every component from scratch. 65 lessons, 13 labs, 20 skill kits. No black boxes.">
<meta name="generator" content="VitePress v1.6.4">
<link rel="preload stylesheet" href="/assets/style.BcN_MATc.css" as="style">
<link rel="preload stylesheet" href="/vp-icons.css" as="style">
<script type="module" src="/assets/app.DSZGLSMi.js"></script>
<link rel="preload" href="/assets/inter-roman-latin.Di8DUHzh.woff2" as="font" type="font/woff2" crossorigin="">
<link rel="modulepreload" href="/assets/chunks/theme.DGxlLJmi.js">
<link rel="modulepreload" href="/assets/chunks/framework.BPKcPtvA.js">
<link rel="modulepreload" href="/assets/modules_m8-capstone.md.CTcrNOvN.lean.js">
<link rel="icon" href="/favicon.svg">
<meta name="theme-color" content="#0f0f0f">
<meta property="og:title" content="Agentic Engineering the Hard Way">
<meta property="og:description" content="65 lessons, 13 labs, 20 skill kits. Build production-grade AI agent systems from scratch. No black boxes.">
<meta property="og:image" content="/og-image.svg">
<meta name="twitter:card" content="summary_large_image">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin="">
<link href="https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,700;9..40,800&amp;family=DM+Mono:wght@400;500&amp;display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0,0" rel="stylesheet">
<script id="check-dark-mode">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"auto",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
<script id="check-mac-os">document.documentElement.classList.toggle("mac",/Mac|iPhone|iPod|iPad/i.test(navigator.platform));</script>
</head>
<body>
<div id="app"><div class="fdsa-app"><div class="Layout" data-v-d8b57b2d><!--[--><!--]--><!--[--><span tabindex="-1" data-v-fcbfc0e0></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-fcbfc0e0>Skip to content</a><!--]--><!----><header class="VPNav" data-v-d8b57b2d data-v-7ad780c2><div class="VPNavBar" data-v-7ad780c2 data-v-9fd4d1dd><div class="wrapper" data-v-9fd4d1dd><div class="container" data-v-9fd4d1dd><div class="title" data-v-9fd4d1dd><div class="VPNavBarTitle has-sidebar" data-v-9fd4d1dd data-v-9f43907a><a class="title" href="/" data-v-9f43907a><!--[--><!--]--><!----><span data-v-9f43907a>FDSA</span><!--[--><!--]--></a></div></div><div class="content" data-v-9fd4d1dd><div class="content-body" data-v-9fd4d1dd><!--[--><!--]--><div class="VPNavBarSearch search" data-v-9fd4d1dd><!--[--><!----><div id="local-search"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><span class="vp-icon DocSearch-Search-Icon"></span><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"><kbd class="DocSearch-Button-Key"></kbd><kbd class="DocSearch-Button-Key">K</kbd></span></button></div><!--]--></div><nav aria-labelledby="main-nav-aria-label" class="VPNavBarMenu menu" data-v-9fd4d1dd data-v-afb2845e><span id="main-nav-aria-label" class="visually-hidden" data-v-afb2845e> Main Navigation </span><!--[--><!--[--><a class="VPLink link VPNavBarMenuLink active" href="/modules/m1-foundations" tabindex="0" data-v-afb2845e data-v-815115f5><!--[--><span data-v-815115f5>Course</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/labs/l1-first-agent" tabindex="0" data-v-afb2845e data-v-815115f5><!--[--><span data-v-815115f5>Labs</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/skills" tabindex="0" data-v-afb2845e data-v-815115f5><!--[--><span data-v-815115f5>Skills</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/blog" tabindex="0" data-v-afb2845e data-v-815115f5><!--[--><span data-v-815115f5>Blog</span><!--]--></a><!--]--><!--[--><div class="VPFlyout VPNavBarMenuGroup" data-v-afb2845e data-v-bfe7971f><button type="button" class="button" aria-haspopup="true" aria-expanded="false" data-v-bfe7971f><span class="text" data-v-bfe7971f><!----><span data-v-bfe7971f>More</span><span class="vpi-chevron-down text-icon" data-v-bfe7971f></span></span></button><div class="menu" data-v-bfe7971f><div class="VPMenu" data-v-bfe7971f data-v-20ed86d6><div class="items" data-v-20ed86d6><!--[--><!--[--><div class="VPMenuLink" data-v-20ed86d6 data-v-7eeeb2dc><a class="VPLink link" href="/modules/curriculum" data-v-7eeeb2dc><!--[--><span data-v-7eeeb2dc>Curriculum</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-20ed86d6 data-v-7eeeb2dc><a class="VPLink link" href="/modules/debate" data-v-7eeeb2dc><!--[--><span data-v-7eeeb2dc>Debate</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-20ed86d6 data-v-7eeeb2dc><a class="VPLink link" href="/troubleshooting" data-v-7eeeb2dc><!--[--><span data-v-7eeeb2dc>FAQ</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-20ed86d6 data-v-7eeeb2dc><a class="VPLink link" href="/certificate" data-v-7eeeb2dc><!--[--><span data-v-7eeeb2dc>Certificate</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-20ed86d6 data-v-7eeeb2dc><a class="VPLink link" href="/buy" data-v-7eeeb2dc><!--[--><span data-v-7eeeb2dc>Buy</span><!--]--></a></div><!--]--><!--]--></div><!--[--><!--]--></div></div></div><!--]--><!--]--></nav><!----><div class="VPNavBarAppearance appearance" data-v-9fd4d1dd data-v-3f90c1a5><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-3f90c1a5 data-v-be9742d9 data-v-b4ccac88><span class="check" data-v-b4ccac88><span class="icon" data-v-b4ccac88><!--[--><span class="vpi-sun sun" data-v-be9742d9></span><span class="vpi-moon moon" data-v-be9742d9></span><!--]--></span></span></button></div><div class="VPSocialLinks VPNavBarSocialLinks social-links" data-v-9fd4d1dd data-v-ef6192dc data-v-e71e869c><!--[--><a class="VPSocialLink no-icon" href="http://185.239.209.216:3001/artale/agentic-engineering-course" aria-label="github" target="_blank" rel="noopener" data-v-e71e869c data-v-60a9a2d3><span class="vpi-social-github"></span></a><!--]--></div><div class="VPFlyout VPNavBarExtra extra" data-v-9fd4d1dd data-v-f953d92f data-v-bfe7971f><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-bfe7971f><span class="vpi-more-horizontal icon" data-v-bfe7971f></span></button><div class="menu" data-v-bfe7971f><div class="VPMenu" data-v-bfe7971f data-v-20ed86d6><!----><!--[--><!--[--><!----><div class="group" data-v-f953d92f><div class="item appearance" data-v-f953d92f><p class="label" data-v-f953d92f>Appearance</p><div class="appearance-action" data-v-f953d92f><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-f953d92f data-v-be9742d9 data-v-b4ccac88><span class="check" data-v-b4ccac88><span class="icon" data-v-b4ccac88><!--[--><span class="vpi-sun sun" data-v-be9742d9></span><span class="vpi-moon moon" data-v-be9742d9></span><!--]--></span></span></button></div></div></div><div class="group" data-v-f953d92f><div class="item social-links" data-v-f953d92f><div class="VPSocialLinks social-links-list" data-v-f953d92f data-v-e71e869c><!--[--><a class="VPSocialLink no-icon" href="http://185.239.209.216:3001/artale/agentic-engineering-course" aria-label="github" target="_blank" rel="noopener" data-v-e71e869c data-v-60a9a2d3><span class="vpi-social-github"></span></a><!--]--></div></div></div><!--]--><!--]--></div></div></div><!--[--><!--]--><button type="button" class="VPNavBarHamburger hamburger" aria-label="mobile navigation" aria-expanded="false" aria-controls="VPNavScreen" data-v-9fd4d1dd data-v-6bee1efd><span class="container" data-v-6bee1efd><span class="top" data-v-6bee1efd></span><span class="middle" data-v-6bee1efd></span><span class="bottom" data-v-6bee1efd></span></span></button></div></div></div></div><div class="divider" data-v-9fd4d1dd><div class="divider-line" data-v-9fd4d1dd></div></div></div><!----></header><div class="VPLocalNav has-sidebar empty" data-v-d8b57b2d data-v-2488c25a><div class="container" data-v-2488c25a><button class="menu" aria-expanded="false" aria-controls="VPSidebarNav" data-v-2488c25a><span class="vpi-align-left menu-icon" data-v-2488c25a></span><span class="menu-text" data-v-2488c25a>Menu</span></button><div class="VPLocalNavOutlineDropdown" style="--vp-vh:0px;" data-v-2488c25a data-v-6b867909><button data-v-6b867909>Return to top</button><!----></div></div></div><aside class="VPSidebar" data-v-d8b57b2d data-v-42c4c606><div class="curtain" data-v-42c4c606></div><nav class="nav" id="VPSidebarNav" aria-labelledby="sidebar-aria-label" tabindex="-1" data-v-42c4c606><span class="visually-hidden" id="sidebar-aria-label" data-v-42c4c606> Sidebar Navigation </span><!--[--><!--]--><!--[--><div class="no-transition group" data-v-51288d80><section class="VPSidebarItem level-0 collapsible collapsed is-link" data-v-51288d80 data-v-0009425e><div class="item" tabindex="0" data-v-0009425e><div class="indicator" data-v-0009425e></div><a class="VPLink link link" href="/modules/m1-foundations" data-v-0009425e><!--[--><h2 class="text" data-v-0009425e>Module 1: Foundations</h2><!--]--></a><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-0009425e><span class="vpi-chevron-right caret-icon" data-v-0009425e></span></div></div><div class="items" data-v-0009425e><!--[--><div class="VPSidebarItem level-1 is-link" data-v-0009425e data-v-0009425e><div class="item" data-v-0009425e><div class="indicator" data-v-0009425e></div><a class="VPLink link link" href="/modules/m1-foundations#lesson-11-what-makes-an-agent" data-v-0009425e><!--[--><p class="text" data-v-0009425e>1.1 What Makes an Agent?</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-0009425e data-v-0009425e><div class="item" data-v-0009425e><div class="indicator" data-v-0009425e></div><a class="VPLink link link" href="/modules/m1-foundations#lesson-12-the-harness-vs-the-model" data-v-0009425e><!--[--><p class="text" data-v-0009425e>1.2 Harness vs The Model</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-0009425e data-v-0009425e><div class="item" data-v-0009425e><div class="indicator" data-v-0009425e></div><a class="VPLink link link" href="/modules/m1-foundations#lesson-13-decision-framework" data-v-0009425e><!--[--><p class="text" data-v-0009425e>1.3 Decision Framework</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-0009425e data-v-0009425e><div class="item" data-v-0009425e><div class="indicator" data-v-0009425e></div><a class="VPLink link link" href="/modules/m1-foundations#lesson-13a-the-repository-is-the-spec" data-v-0009425e><!--[--><p class="text" data-v-0009425e>1.4 Repository IS the Spec</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-0009425e data-v-0009425e><div class="item" data-v-0009425e><div class="indicator" data-v-0009425e></div><a class="VPLink link link" href="/modules/m1-foundations#lesson-14-the-agent-loop" data-v-0009425e><!--[--><p class="text" data-v-0009425e>1.5 The Agent Loop</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-0009425e data-v-0009425e><div class="item" data-v-0009425e><div class="indicator" data-v-0009425e></div><a class="VPLink link link" href="/modules/m1-foundations#lesson-15-tool-calling-deep-dive" data-v-0009425e><!--[--><p class="text" data-v-0009425e>1.6 Tool Calling</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-0009425e data-v-0009425e><div class="item" data-v-0009425e><div class="indicator" data-v-0009425e></div><a class="VPLink link link" href="/modules/m1-foundations#lesson-16-vibe-coding-vs-agentic-engineering" data-v-0009425e><!--[--><p class="text" data-v-0009425e>1.7 Vibe Coding vs Engineering</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-0009425e data-v-0009425e><div class="item" data-v-0009425e><div class="indicator" data-v-0009425e></div><a class="VPLink link link" href="/modules/m1-foundations#lesson-17-do-you-trust-your-agents" data-v-0009425e><!--[--><p class="text" data-v-0009425e>1.8 Do You Trust Your Agents?</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-0009425e data-v-0009425e><div class="item" data-v-0009425e><div class="indicator" data-v-0009425e></div><a class="VPLink link link" href="/labs/l1-first-agent" data-v-0009425e><!--[--><p class="text" data-v-0009425e>Lab 1.9: First Agent</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-51288d80><section class="VPSidebarItem level-0 collapsible collapsed is-link" data-v-51288d80 data-v-0009425e><div class="item" tabindex="0" data-v-0009425e><div class="indicator" data-v-0009425e></div><a class="VPLink link link" href="/modules/m2-architecture" data-v-0009425e><!--[--><h2 class="text" data-v-0009425e>Module 2: Architecture</h2><!--]--></a><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-0009425e><span class="vpi-chevron-right caret-icon" data-v-0009425e></span></div></div><div class="items" data-v-0009425e><!--[--><div class="VPSidebarItem level-1 is-link" data-v-0009425e data-v-0009425e><div class="item" data-v-0009425e><div class="indicator" data-v-0009425e></div><a class="VPLink link link" href="/modules/m2-architecture#lesson-21-the-four-pillars" data-v-0009425e><!--[--><p class="text" data-v-0009425e>2.1-2.3 Core Architecture</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-0009425e data-v-0009425e><div class="item" data-v-0009425e><div class="indicator" data-v-0009425e></div><a class="VPLink link link" href="/modules/m2-architecture#lesson-23b-skills-system-deep-dive" data-v-0009425e><!--[--><p class="text" data-v-0009425e>2.4-2.6 Skills & Workspace</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-0009425e data-v-0009425e><div class="item" data-v-0009425e><div class="indicator" data-v-0009425e></div><a class="VPLink link link" href="/modules/m2-architecture#lesson-24-context-window-management" data-v-0009425e><!--[--><p class="text" data-v-0009425e>2.7-2.9 Advanced Patterns</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-0009425e data-v-0009425e><div class="item" data-v-0009425e><div class="indicator" data-v-0009425e></div><a class="VPLink link link" href="/labs/l2-multi-tool" data-v-0009425e><!--[--><p class="text" data-v-0009425e>Labs 2.10-2.11</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-51288d80><section class="VPSidebarItem level-0 collapsible collapsed is-link" data-v-51288d80 data-v-0009425e><div class="item" tabindex="0" data-v-0009425e><div class="indicator" data-v-0009425e></div><a class="VPLink link link" href="/modules/m3-safety" data-v-0009425e><!--[--><h2 class="text" data-v-0009425e>Module 3: Safety & Security</h2><!--]--></a><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-0009425e><span class="vpi-chevron-right caret-icon" data-v-0009425e></span></div></div><div class="items" data-v-0009425e><!--[--><div class="VPSidebarItem level-1 is-link" data-v-0009425e data-v-0009425e><div class="item" data-v-0009425e><div class="indicator" data-v-0009425e></div><a class="VPLink link link" href="/modules/m3-safety#lesson-31-why-bash-is-the-single-point-of-failure" data-v-0009425e><!--[--><p class="text" data-v-0009425e>3.1-3.2 Bash & Ladder</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-0009425e data-v-0009425e><div class="item" data-v-0009425e><div class="indicator" data-v-0009425e></div><a class="VPLink link link" href="/modules/m3-safety#lesson-33-the-l3-marque-break" data-v-0009425e><!--[--><p class="text" data-v-0009425e>3.3-3.5 Hooks & Control</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-0009425e data-v-0009425e><div class="item" data-v-0009425e><div class="indicator" data-v-0009425e></div><a class="VPLink link link" href="/modules/m3-safety#lesson-36-the-verifier-pattern" data-v-0009425e><!--[--><p class="text" data-v-0009425e>3.6-3.7 Verifier & Stacking</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-0009425e data-v-0009425e><div class="item" data-v-0009425e><div class="indicator" data-v-0009425e></div><a class="VPLink link link" href="/labs/l3-whitelist-hook" data-v-0009425e><!--[--><p class="text" data-v-0009425e>Labs 3.8-3.9</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-51288d80><section class="VPSidebarItem level-0 collapsible collapsed is-link" data-v-51288d80 data-v-0009425e><div class="item" tabindex="0" data-v-0009425e><div class="indicator" data-v-0009425e></div><a class="VPLink link link" href="/modules/m4-orchestration" data-v-0009425e><!--[--><h2 class="text" data-v-0009425e>Module 4: Orchestration</h2><!--]--></a><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-0009425e><span class="vpi-chevron-right caret-icon" data-v-0009425e></span></div></div><div class="items" data-v-0009425e><!--[--><div class="VPSidebarItem level-1 is-link" data-v-0009425e data-v-0009425e><div class="item" data-v-0009425e><div class="indicator" data-v-0009425e></div><a class="VPLink link link" href="/modules/m4-orchestration#lesson-41-why-one-agent-is-not-enough" data-v-0009425e><!--[--><p class="text" data-v-0009425e>4.1-4.4 Patterns</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-0009425e data-v-0009425e><div class="item" data-v-0009425e><div class="indicator" data-v-0009425e></div><a class="VPLink link link" href="/modules/m4-orchestration#lesson-43-depth-2-delegation" data-v-0009425e><!--[--><p class="text" data-v-0009425e>4.5-4.9 Teams & Comms</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-0009425e data-v-0009425e><div class="item" data-v-0009425e><div class="indicator" data-v-0009425e></div><a class="VPLink link link" href="/modules/m4-orchestration#lesson-410-the-ceo-board-system" data-v-0009425e><!--[--><p class="text" data-v-0009425e>4.10-4.11 Case Studies</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-0009425e data-v-0009425e><div class="item" data-v-0009425e><div class="indicator" data-v-0009425e></div><a class="VPLink link link" href="/labs/l4-agent-chain" data-v-0009425e><!--[--><p class="text" data-v-0009425e>Labs 4.12-4.13</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-51288d80><section class="VPSidebarItem level-0 collapsible collapsed is-link" data-v-51288d80 data-v-0009425e><div class="item" tabindex="0" data-v-0009425e><div class="indicator" data-v-0009425e></div><a class="VPLink link link" href="/modules/m5-production" data-v-0009425e><!--[--><h2 class="text" data-v-0009425e>Module 5: Production</h2><!--]--></a><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-0009425e><span class="vpi-chevron-right caret-icon" data-v-0009425e></span></div></div><div class="items" data-v-0009425e><!--[--><div class="VPSidebarItem level-1 is-link" data-v-0009425e data-v-0009425e><div class="item" data-v-0009425e><div class="indicator" data-v-0009425e></div><a class="VPLink link link" href="/modules/m5-production#lesson-51-what-production-means-for-agents" data-v-0009425e><!--[--><p class="text" data-v-0009425e>5.1-5.4 CI/CD & Stack</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-0009425e data-v-0009425e><div class="item" data-v-0009425e><div class="indicator" data-v-0009425e></div><a class="VPLink link link" href="/modules/m5-production#lesson-53-shadow-deployments" data-v-0009425e><!--[--><p class="text" data-v-0009425e>5.5-5.8 Deploy & Monitor</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-0009425e data-v-0009425e><div class="item" data-v-0009425e><div class="indicator" data-v-0009425e></div><a class="VPLink link link" href="/labs/l5-observability" data-v-0009425e><!--[--><p class="text" data-v-0009425e>Labs 5.9-5.10</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-51288d80><section class="VPSidebarItem level-0 collapsible collapsed is-link" data-v-51288d80 data-v-0009425e><div class="item" tabindex="0" data-v-0009425e><div class="indicator" data-v-0009425e></div><a class="VPLink link link" href="/modules/m6-economics" data-v-0009425e><!--[--><h2 class="text" data-v-0009425e>Module 6: Economics</h2><!--]--></a><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-0009425e><span class="vpi-chevron-right caret-icon" data-v-0009425e></span></div></div><div class="items" data-v-0009425e><!--[--><div class="VPSidebarItem level-1 is-link" data-v-0009425e data-v-0009425e><div class="item" data-v-0009425e><div class="indicator" data-v-0009425e></div><a class="VPLink link link" href="/modules/m6-economics#lesson-60-the-compute-advantage-equation" data-v-0009425e><!--[--><p class="text" data-v-0009425e>6.0-6.2 Pricing</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-0009425e data-v-0009425e><div class="item" data-v-0009425e><div class="indicator" data-v-0009425e></div><a class="VPLink link link" href="/modules/m6-economics#lesson-63-cost-per-session-math" data-v-0009425e><!--[--><p class="text" data-v-0009425e>6.3-6.5 Eval Metrics</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-0009425e data-v-0009425e><div class="item" data-v-0009425e><div class="indicator" data-v-0009425e></div><a class="VPLink link link" href="/modules/m6-economics#lesson-66-ab-testing-agents" data-v-0009425e><!--[--><p class="text" data-v-0009425e>6.6-6.7 Testing</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-0009425e data-v-0009425e><div class="item" data-v-0009425e><div class="indicator" data-v-0009425e></div><a class="VPLink link link" href="/labs/l6-eval-harness" data-v-0009425e><!--[--><p class="text" data-v-0009425e>Labs 6.8-6.9</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-51288d80><section class="VPSidebarItem level-0 collapsible collapsed is-link" data-v-51288d80 data-v-0009425e><div class="item" tabindex="0" data-v-0009425e><div class="indicator" data-v-0009425e></div><a class="VPLink link link" href="/modules/m7-advanced" data-v-0009425e><!--[--><h2 class="text" data-v-0009425e>Module 7: Advanced</h2><!--]--></a><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-0009425e><span class="vpi-chevron-right caret-icon" data-v-0009425e></span></div></div><div class="items" data-v-0009425e><!--[--><div class="VPSidebarItem level-1 is-link" data-v-0009425e data-v-0009425e><div class="item" data-v-0009425e><div class="indicator" data-v-0009425e></div><a class="VPLink link link" href="/modules/m7-advanced#lesson-71-autoresearch" data-v-0009425e><!--[--><p class="text" data-v-0009425e>7.1-7.3 Autoresearch</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-0009425e data-v-0009425e><div class="item" data-v-0009425e><div class="indicator" data-v-0009425e></div><a class="VPLink link link" href="/modules/m7-advanced#lesson-73-meta-agents" data-v-0009425e><!--[--><p class="text" data-v-0009425e>7.4-7.6 Meta & Beyond</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-0009425e data-v-0009425e><div class="item" data-v-0009425e><div class="indicator" data-v-0009425e></div><a class="VPLink link link" href="/labs/l7-autoresearch" data-v-0009425e><!--[--><p class="text" data-v-0009425e>Labs 7.7-7.8</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-51288d80><section class="VPSidebarItem level-0 collapsible collapsed is-link" data-v-51288d80 data-v-0009425e><div class="item" tabindex="0" data-v-0009425e><div class="indicator" data-v-0009425e></div><a class="VPLink link link" href="/modules/m8-capstone" data-v-0009425e><!--[--><h2 class="text" data-v-0009425e>Module 8: Capstone</h2><!--]--></a><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-0009425e><span class="vpi-chevron-right caret-icon" data-v-0009425e></span></div></div><div class="items" data-v-0009425e><!--[--><div class="VPSidebarItem level-1 is-link" data-v-0009425e data-v-0009425e><div class="item" data-v-0009425e><div class="indicator" data-v-0009425e></div><a class="VPLink link link" href="/modules/m8-capstone#project-options" data-v-0009425e><!--[--><p class="text" data-v-0009425e>Project Options</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-0009425e data-v-0009425e><div class="item" data-v-0009425e><div class="indicator" data-v-0009425e></div><a class="VPLink link link" href="/modules/m8-capstone#capstone-phases" data-v-0009425e><!--[--><p class="text" data-v-0009425e>Phases</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-0009425e data-v-0009425e><div class="item" data-v-0009425e><div class="indicator" data-v-0009425e></div><a class="VPLink link link" href="/modules/m8-capstone#grading-rubric" data-v-0009425e><!--[--><p class="text" data-v-0009425e>Rubric</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><!--]--><!--[--><!--]--></nav></aside><div class="VPContent has-sidebar" id="VPContent" data-v-d8b57b2d data-v-9a6c75ad><div class="VPDoc has-sidebar has-aside" data-v-9a6c75ad data-v-e6f2a212><!--[--><!--]--><div class="container" data-v-e6f2a212><div class="aside" data-v-e6f2a212><div class="aside-curtain" data-v-e6f2a212></div><div class="aside-container" data-v-e6f2a212><div class="aside-content" data-v-e6f2a212><div class="VPDocAside" data-v-e6f2a212 data-v-cb998dce><!--[--><!--]--><!--[--><!--]--><nav aria-labelledby="doc-outline-aria-label" class="VPDocAsideOutline" data-v-cb998dce data-v-f610f197><div class="content" data-v-f610f197><div class="outline-marker" data-v-f610f197></div><div aria-level="2" class="outline-title" id="doc-outline-aria-label" role="heading" data-v-f610f197>On this page</div><ul class="VPDocOutlineItem root" data-v-f610f197 data-v-53c99d69><!--[--><!--]--></ul></div></nav><!--[--><!--]--><div class="spacer" data-v-cb998dce></div><!--[--><!--]--><!----><!--[--><!--]--><!--[--><!--]--></div></div></div></div><div class="content" data-v-e6f2a212><div class="content-container" data-v-e6f2a212><!--[--><!--]--><main class="main" data-v-e6f2a212><div style="position:relative;" class="vp-doc _modules_m8-capstone" data-v-e6f2a212><div><h1 id="module-8-capstone-—-production-multi-agent-system" tabindex="-1">Module 8: Capstone — Production Multi-Agent System <a class="header-anchor" href="#module-8-capstone-—-production-multi-agent-system" aria-label="Permalink to &quot;Module 8: Capstone — Production Multi-Agent System&quot;"></a></h1><h2 id="overview" tabindex="-1">Overview <a class="header-anchor" href="#overview" aria-label="Permalink to &quot;Overview&quot;"></a></h2><p>Build, deploy, and evaluate a complete production-grade multi-agent system. Choose from three project options, or propose your own.</p><hr><h2 id="project-options" tabindex="-1">Project Options <a class="header-anchor" href="#project-options" aria-label="Permalink to &quot;Project Options&quot;"></a></h2><h3 id="option-1-brand-monitor-intermediate" tabindex="-1">Option 1: Brand Monitor (Intermediate) <a class="header-anchor" href="#option-1-brand-monitor-intermediate" aria-label="Permalink to &quot;Option 1: Brand Monitor (Intermediate)&quot;"></a></h3><p>Build a multi-agent system that monitors how LLMs mention a brand across multiple AI services.</p><p><strong>Agents</strong>:</p><ul><li><strong>Scanner Agent</strong> — queries ChatGPT, Gemini, Grok, Perplexity for brand mentions</li><li><strong>Analyzer Agent</strong> — classifies mentions as positive/negative/neutral</li><li><strong>Reporter Agent</strong> — generates daily summary reports</li></ul><p><strong>Requirements</strong>:</p><ul><li>Each agent has domain-locked permissions</li><li>Each agent maintains a mental model</li><li>Scanner uses cascade routing (Flash for scrape, Sonnet for analysis)</li><li>Daily automated runs via heartbeat</li><li>Cost tracking per scan</li></ul><h3 id="option-2-code-review-pipeline-intermediate-advanced" tabindex="-1">Option 2: Code Review Pipeline (Intermediate-Advanced) <a class="header-anchor" href="#option-2-code-review-pipeline-intermediate-advanced" aria-label="Permalink to &quot;Option 2: Code Review Pipeline (Intermediate-Advanced)&quot;"></a></h3><p>A plan → build → review → verify chain with CI/CD integration.</p><p><strong>Agents</strong>:</p><ul><li><strong>Planner</strong> — reads spec, creates implementation plan</li><li><strong>Builder</strong> — writes code per plan</li><li><strong>Reviewer</strong> — reviews code for bugs, style, security</li><li><strong>Verifier</strong> — read-only agent that checks all claims</li></ul><p><strong>Requirements</strong>:</p><ul><li>YAML-defined agent chain pipeline</li><li>Golden dataset for regression testing</li><li>Verifier agent with confidence ladder</li><li>GitHub PR integration</li><li>Cost analysis per review cycle</li></ul><h3 id="option-3-strategic-decision-board-advanced" tabindex="-1">Option 3: Strategic Decision Board (Advanced) <a class="header-anchor" href="#option-3-strategic-decision-board-advanced" aria-label="Permalink to &quot;Option 3: Strategic Decision Board (Advanced)&quot;"></a></h3><p>An 8-agent CEO board with adversarial debate, fact verification, and execution planning.</p><p><strong>Agents</strong>:</p><ul><li>CEO (orchestrator)</li><li>6 board members with distinct perspectives</li><li>Verifier (fact-checker)</li><li>Tracker (quarterly review)</li></ul><p><strong>Requirements</strong>:</p><ul><li>Each board member has distinct persona + mental model</li><li>Fact verification (2+ sources per claim)</li><li>Contrarian position tracked at 3x weight</li><li>Structured memo output</li><li>Audio summary (TTS)</li><li>Cost tracking per deliberation</li></ul><hr><h2 id="capstone-phases" tabindex="-1">Capstone Phases <a class="header-anchor" href="#capstone-phases" aria-label="Permalink to &quot;Capstone Phases&quot;"></a></h2><h3 id="phase-1-system-design-60-90-min" tabindex="-1">Phase 1: System Design (60-90 min) <a class="header-anchor" href="#phase-1-system-design-60-90-min" aria-label="Permalink to &quot;Phase 1: System Design (60-90 min)&quot;"></a></h3><p>Deliverable: One-page architecture document including:</p><ul><li>System diagram (agents + data flow + tool surface)</li><li>Agent roster (names, personas, domain permissions)</li><li>Data model (what state is shared, how)</li><li>Security architecture (what L-level, what hooks)</li><li>Cost estimate per session</li></ul><p><strong>Template</strong>:</p><div class="language-markdown vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">markdown</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#005CC5;--shiki-light-font-weight:bold;--shiki-dark:#79B8FF;--shiki-dark-font-weight:bold;"># System Design: [Project Name]</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-light-font-weight:bold;--shiki-dark:#79B8FF;--shiki-dark-font-weight:bold;">## Architecture</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">[ASCII diagram or mermaid]</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-light-font-weight:bold;--shiki-dark:#79B8FF;--shiki-dark-font-weight:bold;">## Agent Roster</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">| Agent | Model | Tools | Domain | Memory |</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">|-------|-------|-------|--------|--------|</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-light-font-weight:bold;--shiki-dark:#79B8FF;--shiki-dark-font-weight:bold;">## Data Flow</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">[How agents communicate, what state they share]</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-light-font-weight:bold;--shiki-dark:#79B8FF;--shiki-dark-font-weight:bold;">## Security</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">[L-level, hooks, verifier, damage-control rules]</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-light-font-weight:bold;--shiki-dark:#79B8FF;--shiki-dark-font-weight:bold;">## Cost Estimate</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">[Per-session estimate with model pricing]</span></span></code></pre></div><h3 id="phase-2-agent-implementation-2-4-hours" tabindex="-1">Phase 2: Agent Implementation (2-4 hours) <a class="header-anchor" href="#phase-2-agent-implementation-2-4-hours" aria-label="Permalink to &quot;Phase 2: Agent Implementation (2-4 hours)&quot;"></a></h3><p>Build each agent:</p><ul><li>System prompt with persona + behavioral rules</li><li>Tool definitions with reasoning parameter</li><li>Mental model file (agent-owned expertise)</li><li>Skills for composable behavior</li></ul><h3 id="phase-3-integration-1-2-hours" tabindex="-1">Phase 3: Integration (1-2 hours) <a class="header-anchor" href="#phase-3-integration-1-2-hours" aria-label="Permalink to &quot;Phase 3: Integration (1-2 hours)&quot;"></a></h3><p>Wire agents together:</p><ul><li>Chain (if pipeline pattern)</li><li>Team (if dispatcher pattern)</li><li>P2P (if flat pattern)</li><li>Shared context (conversation log)</li></ul><h3 id="phase-4-security-hardening-1-2-hours" tabindex="-1">Phase 4: Security Hardening (1-2 hours) <a class="header-anchor" href="#phase-4-security-hardening-1-2-hours" aria-label="Permalink to &quot;Phase 4: Security Hardening (1-2 hours)&quot;"></a></h3><p>Apply security layer:</p><ul><li>Minimum L3 (blacklist hook)</li><li>Target L4 (whitelist hook)</li><li>Optional L5 (no bash)</li><li>Damage-control rules</li><li>Verifier agent (read-only checks)</li></ul><h3 id="phase-5-testing-evaluation-1-2-hours" tabindex="-1">Phase 5: Testing &amp; Evaluation (1-2 hours) <a class="header-anchor" href="#phase-5-testing-evaluation-1-2-hours" aria-label="Permalink to &quot;Phase 5: Testing &amp; Evaluation (1-2 hours)&quot;"></a></h3><ul><li>Create golden dataset (10+ test cases)</li><li>Run pass@k evaluation (k=3, k=5)</li><li>Calculate cost per task</li><li>Identify optimization opportunities</li></ul><h3 id="phase-6-deployment-1-2-hours" tabindex="-1">Phase 6: Deployment (1-2 hours) <a class="header-anchor" href="#phase-6-deployment-1-2-hours" aria-label="Permalink to &quot;Phase 6: Deployment (1-2 hours)&quot;"></a></h3><ul><li>CI/CD pipeline with golden dataset gate</li><li>Shadow deployment vs baseline</li><li>Observability: every tool call + cost logged</li><li>Monitoring dashboard</li></ul><h3 id="phase-7-review-iterate-1-hour" tabindex="-1">Phase 7: Review &amp; Iterate (1 hour) <a class="header-anchor" href="#phase-7-review-iterate-1-hour" aria-label="Permalink to &quot;Phase 7: Review &amp; Iterate (1 hour)&quot;"></a></h3><ul><li>Red-team your own system (try to break it)</li><li>Document lessons learned</li><li>Create retrospective</li></ul><hr><h2 id="deliverables-checklist" tabindex="-1">Deliverables Checklist <a class="header-anchor" href="#deliverables-checklist" aria-label="Permalink to &quot;Deliverables Checklist&quot;"></a></h2><div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span>[ ] Architecture document (one page, with diagram)</span></span>
<span class="line"><span>[ ] All agent source code with system prompts</span></span>
<span class="line"><span>[ ] Agent configuration files (YAML/JSON)</span></span>
<span class="line"><span>[ ] Tool definitions with reasoning parameters</span></span>
<span class="line"><span>[ ] Security hooks configuration (L3+)</span></span>
<span class="line"><span>[ ] Golden dataset (10+ test cases with expected outputs)</span></span>
<span class="line"><span>[ ] Test script showing all agents respond correctly</span></span>
<span class="line"><span>[ ] Cost analysis per session</span></span>
<span class="line"><span>[ ] README with setup instructions</span></span>
<span class="line"><span>[ ] Self-assessment against rubric</span></span>
<span class="line"><span></span></span>
<span class="line"><span>---</span></span>
<span class="line"><span></span></span>
<span class="line"><span>## Production Readiness Checklist</span></span>
<span class="line"><span></span></span>
<span class="line"><span>Before submitting, verify your system meets these production standards:</span></span>
<span class="line"><span></span></span>
<span class="line"><span>### Reliability</span></span>
<span class="line"><span>- [ ] All tools include error handling (FileNotFoundError, API timeout, etc.)</span></span>
<span class="line"><span>- [ ] MAX_ITERATIONS set on every agent loop (no infinite loops)</span></span>
<span class="line"><span>- [ ] Retry logic with exponential backoff for API calls</span></span>
<span class="line"><span>- [ ] Agent gracefully handles tool failures instead of crashing</span></span>
<span class="line"><span></span></span>
<span class="line"><span>### Security</span></span>
<span class="line"><span>- [ ] Minimum L3 blacklist hook installed on bash access</span></span>
<span class="line"><span>- [ ] Domain locking prevents agents from accessing files outside their scope</span></span>
<span class="line"><span>- [ ] Verifier agent has read-only tools only (no edit/bash)</span></span>
<span class="line"><span>- [ ] Damage-control rules prevent rm -rf, DROP TABLE, etc.</span></span>
<span class="line"><span></span></span>
<span class="line"><span>### Observability</span></span>
<span class="line"><span>- [ ] Every tool call logged to file (JSONL format)</span></span>
<span class="line"><span>- [ ] Cost tracked per session</span></span>
<span class="line"><span>- [ ] Agent loop depth monitored</span></span>
<span class="line"><span>- [ ] Errors logged with stack traces</span></span>
<span class="line"><span></span></span>
<span class="line"><span>### Economics</span></span>
<span class="line"><span>- [ ] Cost estimate per session documented</span></span>
<span class="line"><span>- [ ] Cascade routing implemented where appropriate</span></span>
<span class="line"><span>- [ ] Iteration limits set to minimize token waste</span></span>
<span class="line"><span>- [ ] Model selection justified (why this model for this agent?)</span></span>
<span class="line"><span></span></span>
<span class="line"><span>---</span></span>
<span class="line"><span></span></span>
<span class="line"><span>## Graduation Criteria</span></span>
<span class="line"><span></span></span>
<span class="line"><span>Your capstone passes if it meets ALL of these:</span></span>
<span class="line"><span></span></span>
<span class="line"><span>1. **Three or more agents** that communicate and coordinate</span></span>
<span class="line"><span>2. **Security at L3+** (blacklist or whitelist hook)</span></span>
<span class="line"><span>3. **Working test script** that demonstrates all agents responding</span></span>
<span class="line"><span>4. **Documented cost estimate** per session</span></span>
<span class="line"><span>5. **Observability** — at least one trace log from a complete run</span></span>
<span class="line"><span>6. **Self-assessment** against the rubric with honest notes on what you&#39;d improve</span></span>
<span class="line"><span></span></span>
<span class="line"><span>The capstone is not about perfection. It&#39;s about demonstrating you understand the full stack — from tool design to security to economics. A passing capstone with honest self-assessment is worth more than a perfect one with no reflection.</span></span>
<span class="line"><span>[ ] Mental model files for each agent</span></span>
<span class="line"><span>[ ] Security configuration (damage-control rules)</span></span>
<span class="line"><span>[ ] Verifier agent (if applicable)</span></span>
<span class="line"><span>[ ] Golden dataset (10+ test cases)</span></span>
<span class="line"><span>[ ] Test results (pass@k at k=1, k=3, k=5)</span></span>
<span class="line"><span>[ ] Cost analysis ($/task, optimization opportunities)</span></span>
<span class="line"><span>[ ] Security audit (which L-level, what gaps remain)</span></span>
<span class="line"><span>[ ] Retrospective (max 1 page)</span></span></code></pre></div><hr><h2 id="pass-criteria" tabindex="-1">Pass Criteria <a class="header-anchor" href="#pass-criteria" aria-label="Permalink to &quot;Pass Criteria&quot;"></a></h2><table tabindex="0"><thead><tr><th>Criterion</th><th>Minimum</th><th>Target</th></tr></thead><tbody><tr><td>System runs without manual intervention</td><td></td><td></td></tr><tr><td>All agents have domain-locked permissions</td><td></td><td></td></tr><tr><td>Each agent has mental model file</td><td></td><td></td></tr><tr><td>pass@k (k=3) on golden dataset</td><td>&gt;60%</td><td>&gt;80%</td></tr><tr><td>Cost analysis within 2x of optimal</td><td></td><td></td></tr><tr><td>Security audit identifies ≥2 improvements</td><td></td><td></td></tr><tr><td>Observability captures all tool calls</td><td></td><td></td></tr><tr><td>Architecture document submitted</td><td></td><td></td></tr></tbody></table><hr><h2 id="grading-rubric" tabindex="-1">Grading Rubric <a class="header-anchor" href="#grading-rubric" aria-label="Permalink to &quot;Grading Rubric&quot;"></a></h2><table tabindex="0"><thead><tr><th>Area</th><th>Weight</th><th>Poor (0)</th><th>Good (1)</th><th>Excellent (2)</th></tr></thead><tbody><tr><td>Architecture</td><td>20%</td><td>No diagram, unclear design</td><td>Diagram present, mostly clear</td><td>Clear diagram, justified choices</td></tr><tr><td>Implementation</td><td>25%</td><td>Agents don&#39;t work</td><td>Agents work on happy path</td><td>Agents handle errors gracefully</td></tr><tr><td>Security</td><td>20%</td><td>L1 only</td><td>L3+ with damage-control</td><td>L4+ with verifier</td></tr><tr><td>Testing</td><td>15%</td><td>No eval</td><td>pass@k computed</td><td>pass@k + cost analysis + grind detection</td></tr><tr><td>Documentation</td><td>10%</td><td>Minimal</td><td>Architecture + setup</td><td>Architecture + setup + retrospective</td></tr><tr><td>Cost Optimization</td><td>10%</td><td>Single model</td><td>Cascade routing</td><td>Cascade + verified savings</td></tr></tbody></table></div></div></main><footer class="VPDocFooter" data-v-e6f2a212 data-v-1bcd8184><!--[--><!--]--><div class="edit-info" data-v-1bcd8184><!----><div class="last-updated" data-v-1bcd8184><p class="VPLastUpdated" data-v-1bcd8184 data-v-1bb0c8a8>Last updated: <time datetime="2026-06-03T12:04:06.000Z" data-v-1bb0c8a8></time></p></div></div><nav class="prev-next" aria-labelledby="doc-footer-aria-label" data-v-1bcd8184><span class="visually-hidden" id="doc-footer-aria-label" data-v-1bcd8184>Pager</span><div class="pager" data-v-1bcd8184><a class="VPLink link pager-link prev" href="/labs/l7-autoresearch" data-v-1bcd8184><!--[--><span class="desc" data-v-1bcd8184>Previous page</span><span class="title" data-v-1bcd8184>Labs 7.7-7.8</span><!--]--></a></div><div class="pager" data-v-1bcd8184><!----></div></nav></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><footer class="VPFooter has-sidebar" data-v-d8b57b2d data-v-566314d4><div class="container" data-v-566314d4><p class="message" data-v-566314d4>FDSA Agency — Agentic Engineering Course. Part of the fdsa.ai orchestration platform.</p><p class="copyright" data-v-566314d4>Copyright 2026</p></div></footer><!--[--><!--]--></div></div></div>
<script>window.__VP_HASH_MAP__=JSON.parse("{\"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\":\"0V0n-TLl\",\"checkout.md\":\"Ccj6L__h\",\"checkout_cancel.md\":\"DwL5mulX\",\"checkout_success.md\":\"CYTg6xhL\",\"downloads.md\":\"BkgENRDR\",\"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\":\"B8r6DZG5\",\"modules_m8-capstone.md\":\"CTcrNOvN\",\"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\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"Agentic Engineering the Hard Way\",\"description\":\"Build every component from scratch. 65 lessons, 13 labs, 20 skill kits. No black boxes.\",\"base\":\"/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"logo\":false,\"siteTitle\":\"FDSA\",\"nav\":[{\"text\":\"Course\",\"link\":\"/modules/m1-foundations\",\"activeMatch\":\"/modules/\"},{\"text\":\"Labs\",\"link\":\"/labs/l1-first-agent\",\"activeMatch\":\"/labs/\"},{\"text\":\"Skills\",\"link\":\"/skills\"},{\"text\":\"Blog\",\"link\":\"/blog\",\"activeMatch\":\"/blog/\"},{\"text\":\"More\",\"items\":[{\"text\":\"Curriculum\",\"link\":\"/modules/curriculum\"},{\"text\":\"Debate\",\"link\":\"/modules/debate\"},{\"text\":\"FAQ\",\"link\":\"/troubleshooting\"},{\"text\":\"Certificate\",\"link\":\"/certificate\"},{\"text\":\"Buy\",\"link\":\"/buy\"}]}],\"sidebar\":{\"/modules/\":[{\"text\":\"Module 1: Foundations\",\"link\":\"/modules/m1-foundations\",\"collapsed\":true,\"items\":[{\"text\":\"1.1 What Makes an Agent?\",\"link\":\"/modules/m1-foundations#lesson-11-what-makes-an-agent\"},{\"text\":\"1.2 Harness vs The Model\",\"link\":\"/modules/m1-foundations#lesson-12-the-harness-vs-the-model\"},{\"text\":\"1.3 Decision Framework\",\"link\":\"/modules/m1-foundations#lesson-13-decision-framework\"},{\"text\":\"1.4 Repository IS the Spec\",\"link\":\"/modules/m1-foundations#lesson-13a-the-repository-is-the-spec\"},{\"text\":\"1.5 The Agent Loop\",\"link\":\"/modules/m1-foundations#lesson-14-the-agent-loop\"},{\"text\":\"1.6 Tool Calling\",\"link\":\"/modules/m1-foundations#lesson-15-tool-calling-deep-dive\"},{\"text\":\"1.7 Vibe Coding vs Engineering\",\"link\":\"/modules/m1-foundations#lesson-16-vibe-coding-vs-agentic-engineering\"},{\"text\":\"1.8 Do You Trust Your Agents?\",\"link\":\"/modules/m1-foundations#lesson-17-do-you-trust-your-agents\"},{\"text\":\"Lab 1.9: First Agent\",\"link\":\"/labs/l1-first-agent\"}]},{\"text\":\"Module 2: Architecture\",\"link\":\"/modules/m2-architecture\",\"collapsed\":true,\"items\":[{\"text\":\"2.1-2.3 Core Architecture\",\"link\":\"/modules/m2-architecture#lesson-21-the-four-pillars\"},{\"text\":\"2.4-2.6 Skills & Workspace\",\"link\":\"/modules/m2-architecture#lesson-23b-skills-system-deep-dive\"},{\"text\":\"2.7-2.9 Advanced Patterns\",\"link\":\"/modules/m2-architecture#lesson-24-context-window-management\"},{\"text\":\"Labs 2.10-2.11\",\"link\":\"/labs/l2-multi-tool\"}]},{\"text\":\"Module 3: Safety & Security\",\"link\":\"/modules/m3-safety\",\"collapsed\":true,\"items\":[{\"text\":\"3.1-3.2 Bash & Ladder\",\"link\":\"/modules/m3-safety#lesson-31-why-bash-is-the-single-point-of-failure\"},{\"text\":\"3.3-3.5 Hooks & Control\",\"link\":\"/modules/m3-safety#lesson-33-the-l3-marque-break\"},{\"text\":\"3.6-3.7 Verifier & Stacking\",\"link\":\"/modules/m3-safety#lesson-36-the-verifier-pattern\"},{\"text\":\"Labs 3.8-3.9\",\"link\":\"/labs/l3-whitelist-hook\"}]},{\"text\":\"Module 4: Orchestration\",\"link\":\"/modules/m4-orchestration\",\"collapsed\":true,\"items\":[{\"text\":\"4.1-4.4 Patterns\",\"link\":\"/modules/m4-orchestration#lesson-41-why-one-agent-is-not-enough\"},{\"text\":\"4.5-4.9 Teams & Comms\",\"link\":\"/modules/m4-orchestration#lesson-43-depth-2-delegation\"},{\"text\":\"4.10-4.11 Case Studies\",\"link\":\"/modules/m4-orchestration#lesson-410-the-ceo-board-system\"},{\"text\":\"Labs 4.12-4.13\",\"link\":\"/labs/l4-agent-chain\"}]},{\"text\":\"Module 5: Production\",\"link\":\"/modules/m5-production\",\"collapsed\":true,\"items\":[{\"text\":\"5.1-5.4 CI/CD & Stack\",\"link\":\"/modules/m5-production#lesson-51-what-production-means-for-agents\"},{\"text\":\"5.5-5.8 Deploy & Monitor\",\"link\":\"/modules/m5-production#lesson-53-shadow-deployments\"},{\"text\":\"Labs 5.9-5.10\",\"link\":\"/labs/l5-observability\"}]},{\"text\":\"Module 6: Economics\",\"link\":\"/modules/m6-economics\",\"collapsed\":true,\"items\":[{\"text\":\"6.0-6.2 Pricing\",\"link\":\"/modules/m6-economics#lesson-60-the-compute-advantage-equation\"},{\"text\":\"6.3-6.5 Eval Metrics\",\"link\":\"/modules/m6-economics#lesson-63-cost-per-session-math\"},{\"text\":\"6.6-6.7 Testing\",\"link\":\"/modules/m6-economics#lesson-66-ab-testing-agents\"},{\"text\":\"Labs 6.8-6.9\",\"link\":\"/labs/l6-eval-harness\"}]},{\"text\":\"Module 7: Advanced\",\"link\":\"/modules/m7-advanced\",\"collapsed\":true,\"items\":[{\"text\":\"7.1-7.3 Autoresearch\",\"link\":\"/modules/m7-advanced#lesson-71-autoresearch\"},{\"text\":\"7.4-7.6 Meta & Beyond\",\"link\":\"/modules/m7-advanced#lesson-73-meta-agents\"},{\"text\":\"Labs 7.7-7.8\",\"link\":\"/labs/l7-autoresearch\"}]},{\"text\":\"Module 8: Capstone\",\"link\":\"/modules/m8-capstone\",\"collapsed\":true,\"items\":[{\"text\":\"Project Options\",\"link\":\"/modules/m8-capstone#project-options\"},{\"text\":\"Phases\",\"link\":\"/modules/m8-capstone#capstone-phases\"},{\"text\":\"Rubric\",\"link\":\"/modules/m8-capstone#grading-rubric\"}]}],\"/labs/\":[{\"text\":\"All Labs\",\"link\":\"/labs/l1-first-agent\"},{\"text\":\"L1: First Agent\",\"link\":\"/labs/l1-first-agent\"},{\"text\":\"L2a: Multi-Tool Agent\",\"link\":\"/labs/l2-multi-tool\"},{\"text\":\"L2b: Context-Aware Agent\",\"link\":\"/labs/l2-context\"},{\"text\":\"L3a: Whitelist Hook\",\"link\":\"/labs/l3-whitelist-hook\"},{\"text\":\"L3b: Verifier Agent\",\"link\":\"/labs/l3-verifier\"},{\"text\":\"L4a: Agent Chain\",\"link\":\"/labs/l4-agent-chain\"},{\"text\":\"L4b: Multi-Team Config\",\"link\":\"/labs/l4-multi-team\"},{\"text\":\"L5a: Observability\",\"link\":\"/labs/l5-observability\"},{\"text\":\"L5b: CI/CD Pipeline\",\"link\":\"/labs/l5-cicd\"},{\"text\":\"L6a: Eval Harness\",\"link\":\"/labs/l6-eval-harness\"},{\"text\":\"L6b: Cost Optimization\",\"link\":\"/labs/l6-cost-optimization\"},{\"text\":\"L7a: Autoresearch\",\"link\":\"/labs/l7-autoresearch\"},{\"text\":\"L7b: Meta-Agent\",\"link\":\"/labs/l7-meta-agent\"}]},\"socialLinks\":[{\"icon\":\"github\",\"link\":\"http://185.239.209.216:3001/artale/agentic-engineering-course\"}],\"footer\":{\"message\":\"FDSA Agency — Agentic Engineering Course. Part of the fdsa.ai orchestration platform.\",\"copyright\":\"Copyright 2026\"},\"search\":{\"provider\":\"local\"},\"locales\":{\"root\":{\"label\":\"English\",\"lang\":\"en-US\",\"title\":\"Agentic Engineering the Hard Way\",\"description\":\"Build every component from scratch. 65 lessons, 13 labs, 20 skill kits. No black boxes, no magic SDKs.\"},\"es\":{\"label\":\"Español\",\"lang\":\"es-ES\",\"title\":\"Agentic Engineering the Hard Way\",\"description\":\"Construye cada componente desde cero. 65 lecciones, 13 laboratorios, 20 kits de habilidades.\",\"link\":\"/es/\"},\"pt\":{\"label\":\"Português\",\"lang\":\"pt-BR\",\"title\":\"Agentic Engineering the Hard Way\",\"description\":\"Construa cada componente do zero. 65 lições, 13 laboratórios, 20 kits de habilidades.\",\"link\":\"/pt/\"},\"it\":{\"label\":\"Italiano\",\"lang\":\"it-IT\",\"title\":\"Agentic Engineering the Hard Way\",\"description\":\"Costruisci ogni componente da zero. 65 lezioni, 13 laboratori, 20 kit di abilità.\",\"link\":\"/it/\"},\"ar\":{\"label\":\"العربية\",\"lang\":\"ar-SA\",\"title\":\"هندسة الوكلاء بالطريقة الصعبة\",\"description\":\"بناء كل مكون من الصفر. 65 درسًا، 13 مختبرًا، 20 مجموعة مهارات.\",\"link\":\"/ar/\",\"dir\":\"rtl\"}}},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":true}");</script>
</body>
</html>