102 lines
68 KiB
HTML
102 lines
68 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="en-US" dir="ltr">
|
||
<head>
|
||
<meta charset="utf-8">
|
||
<meta name="viewport" content="width=device-width,initial-scale=1">
|
||
<title>Agent CLI Reference: 5-Tool Comparison | FDSA</title>
|
||
<meta name="description" content="Agentic Engineering Course — build, deploy, and maintain production-grade AI agent systems.">
|
||
<meta name="generator" content="VitePress v1.6.4">
|
||
<link rel="preload stylesheet" href="/assets/style.Ck9y_h1S.css" as="style">
|
||
<link rel="preload stylesheet" href="/vp-icons.css" as="style">
|
||
|
||
<script type="module" src="/assets/app.Z0lGcowk.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.BmClkddk.js">
|
||
<link rel="modulepreload" href="/assets/chunks/framework.BPKcPtvA.js">
|
||
<link rel="modulepreload" href="/assets/modules_tool-reference.md.B40mlgZJ.lean.js">
|
||
<link rel="icon" href="/favicon.svg">
|
||
<meta name="theme-color" content="#0f0f0f">
|
||
<meta property="og:title" content="FDSA — Agentic Engineering Course">
|
||
<meta property="og:description" content="65 lessons, 13 labs, 20 skill kits. Build production-grade AI agent systems.">
|
||
<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&family=DM+Mono:wght@400;500&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="https://github.com/Artale/agentic-engineering" 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="https://github.com/Artale/agentic-engineering" 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_tool-reference" data-v-e6f2a212><div><h1 id="agent-cli-reference-5-tool-comparison" tabindex="-1">Agent CLI Reference: 5-Tool Comparison <a class="header-anchor" href="#agent-cli-reference-5-tool-comparison" aria-label="Permalink to "Agent CLI Reference: 5-Tool Comparison""></a></h1><p>A side-by-side reference for Claude Code, Pi Coding Agent, OpenCode, Hermes Agent, and OpenClaw.</p><hr><h2 id="_1-claude-code-anthropic" tabindex="-1">1. Claude Code (Anthropic) <a class="header-anchor" href="#_1-claude-code-anthropic" aria-label="Permalink to "1. Claude Code (Anthropic)""></a></h2><p><strong>Role</strong>: Primary generalist coding agent. Best all-around tool.<br><strong>License</strong>: Proprietary (free tier + Pro subscription)<br><strong>Runtime</strong>: Node.js<br><strong>Config</strong>: <code>CLAUDE.md</code> in project root</p><h3 id="key-capabilities" tabindex="-1">Key Capabilities <a class="header-anchor" href="#key-capabilities" aria-label="Permalink to "Key Capabilities""></a></h3><table tabindex="0"><thead><tr><th>Feature</th><th>How To</th><th>Course Reference</th></tr></thead><tbody><tr><td>Multi-agent teams</td><td><code>claude --teammate-mode tmux</code></td><td>M4 — teammate-mode spawns agents in split panes</td></tr><tr><td>Headless execution</td><td><code>claude -p "prompt" --print</code></td><td>M5 CI/CD pipeline</td></tr><tr><td>Constrained tools</td><td><code>--allowedTools "Read Write Edit"</code></td><td>M3 security (L4 whitelist pattern)</td></tr><tr><td>Hooks system</td><td><code>.claude/hooks/*.py</code></td><td>M3 hook architecture (13 lifecycle events)</td></tr><tr><td>Subdirectory rules</td><td><code>frontend/CLAUDE.md</code>, <code>backend/CLAUDE.md</code></td><td>M2 skills deep dive</td></tr><tr><td>Stop hook self-improve</td><td>PostToolUse → headless claude session</td><td>M3, also ClaudeFAST pattern</td></tr></tbody></table><h3 id="boilerplate-setup" tabindex="-1">Boilerplate Setup <a class="header-anchor" href="#boilerplate-setup" aria-label="Permalink to "Boilerplate Setup""></a></h3><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># Project initialization</span></span>
|
||
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">claude</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --init</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># Launch with teammate mode</span></span>
|
||
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">claude</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --teammate-mode</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> tmux</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># Headless CI mode</span></span>
|
||
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">claude</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -p</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> "Implement the feature described in spec.md"</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --allowedTools</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> "Read Write Edit Bash"</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --print</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># With custom hooks directory</span></span>
|
||
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">claude</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --hooks</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> .claude/hooks/</span></span></code></pre></div><h3 id="hook-lifecycle-13-events" tabindex="-1">Hook Lifecycle (13 events) <a class="header-anchor" href="#hook-lifecycle-13-events" aria-label="Permalink to "Hook Lifecycle (13 events)""></a></h3><table tabindex="0"><thead><tr><th>Phase</th><th>Events</th></tr></thead><tbody><tr><td>Session</td><td>Setup, SessionStart, SessionEnd</td></tr><tr><td>Main Loop</td><td>UserPromptSubmit, PreToolUse, PermissionRequest, PostToolUse, PostToolUseFailure, Stop, Notification</td></tr><tr><td>Subagents</td><td>SubagentStart, SubagentStop</td></tr><tr><td>Maintenance</td><td>PreCompact</td></tr></tbody></table><hr><h2 id="_2-pi-coding-agent-pi-dev" tabindex="-1">2. Pi Coding Agent (pi.dev) <a class="header-anchor" href="#_2-pi-coding-agent-pi-dev" aria-label="Permalink to "2. Pi Coding Agent (pi.dev)""></a></h2><p><strong>Role</strong>: Customizable agent harness. Full control over every aspect.<br><strong>License</strong>: Open source (MIT)<br><strong>Runtime</strong>: Node.js (TypeScript SDK)<br><strong>Config</strong>: <code>.pi/settings.json</code>, <code>.pi/agents/*.md</code></p><h3 id="key-capabilities-1" tabindex="-1">Key Capabilities <a class="header-anchor" href="#key-capabilities-1" aria-label="Permalink to "Key Capabilities""></a></h3><table tabindex="0"><thead><tr><th>Feature</th><th>How To</th><th>Course Reference</th></tr></thead><tbody><tr><td>Extensions</td><td><code>pi -e extensions/<name>.ts</code></td><td>M3 — damage-control, tilldone</td></tr><tr><td>RPC mode</td><td><code>pi --mode rpc</code></td><td>M5 — programmatic control (26+ commands)</td></tr><tr><td>Agent teams</td><td><code>agent-team</code> extension + <code>teams.yaml</code></td><td>M4 dispatcher pattern</td></tr><tr><td>Agent chains</td><td><code>agent-chain</code> extension + <code>agent-chain.yaml</code></td><td>M4 pipeline pattern ($INPUT/$ORIGINAL)</td></tr><tr><td>P2P communication</td><td><code>coms</code> (Unix sockets) / <code>coms-net</code> (HTTP/SSE)</td><td>M4 flat P2P pattern</td></tr><tr><td>Mental models</td><td><code>.pi/multi-team/expertise/*.yaml</code></td><td>M4 agent memory, self-improve commands</td></tr><tr><td>Damage control</td><td><code>damage-control.ts</code> + <code>damage-control-rules.yaml</code></td><td>M3 three access levels</td></tr><tr><td>Skills system</td><td><code>.pi/skills/*/SKILL.md</code></td><td>M2 composable skills</td></tr></tbody></table><h3 id="boilerplate-setup-1" tabindex="-1">Boilerplate Setup <a class="header-anchor" href="#boilerplate-setup-1" aria-label="Permalink to "Boilerplate Setup""></a></h3><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># Launch with extensions</span></span>
|
||
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">pi</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -e</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> extensions/damage-control.ts</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -e</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> extensions/tilldone.ts</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -e</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> extensions/minimal.ts</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># Launch with multiple extensions (stackable)</span></span>
|
||
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">pi</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -e</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> extensions/purpose-gate.ts</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -e</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> extensions/tool-counter.ts</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># RPC mode (programmatic control from any language)</span></span>
|
||
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">pi</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --mode</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> rpc</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># Pi-to-Pi peer communication (same machine)</span></span>
|
||
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">just</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> local-coms</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --name</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> planner</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --purpose</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> "Plans the work"</span></span>
|
||
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">just</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> local-coms</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --name</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> coder</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --purpose</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> "Writes the code"</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># Pi-to-Pi networked (across machines)</span></span>
|
||
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">just</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> coms-net-server</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # hub</span></span>
|
||
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">just</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> coms</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --name</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> dev</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # client 1</span></span>
|
||
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">just</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> coms2</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --name</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> prod</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # client 2</span></span></code></pre></div><h3 id="extension-catalog-16-total" tabindex="-1">Extension Catalog (16 total) <a class="header-anchor" href="#extension-catalog-16-total" aria-label="Permalink to "Extension Catalog (16 total)""></a></h3><table tabindex="0"><thead><tr><th>Category</th><th>Extensions</th></tr></thead><tbody><tr><td><strong>UI</strong></td><td>pure-focus, minimal, theme-cycler, session-replay</td></tr><tr><td><strong>Monitoring</strong></td><td>tool-counter, tool-counter-widget</td></tr><tr><td><strong>Task</strong></td><td>tilldone, purpose-gate</td></tr><tr><td><strong>Multi-Agent</strong></td><td>subagent-widget, agent-team, agent-chain</td></tr><tr><td><strong>Safety</strong></td><td>damage-control, damage-control-continue</td></tr><tr><td><strong>P2P</strong></td><td>coms, coms-net</td></tr><tr><td><strong>Cross-Tool</strong></td><td>cross-agent, system-select</td></tr><tr><td><strong>Meta</strong></td><td>pi-pi</td></tr></tbody></table><h3 id="pi-agent-rust-port-jeff-emanuel-1-024★" tabindex="-1">Pi Agent Rust Port (Jeff Emanuel, 1,024★) <a class="header-anchor" href="#pi-agent-rust-port-jeff-emanuel-1-024★" aria-label="Permalink to "Pi Agent Rust Port (Jeff Emanuel, 1,024★)""></a></h3><p>A Rust reimplementation of the Pi agent with zero unsafe code.</p><table tabindex="0"><thead><tr><th>Feature</th><th>Pi (TypeScript)</th><th>Pi Agent Rust</th></tr></thead><tbody><tr><td>Extensions</td><td>Full (16+)</td><td>Compatible</td></tr><tr><td>RPC mode</td><td>Yes</td><td>Yes</td></tr><tr><td>Performance</td><td>Baseline</td><td>~2x faster</td></tr><tr><td>Binary size</td><td>~35MB</td><td>~8MB</td></tr><tr><td>Memory safety</td><td>Node.js GC</td><td>Zero unsafe Rust</td></tr></tbody></table><h3 id="the-4-dimensions-of-control-pi-s-strength" tabindex="-1">The 4 Dimensions of Control (Pi's strength) <a class="header-anchor" href="#the-4-dimensions-of-control-pi-s-strength" aria-label="Permalink to "The 4 Dimensions of Control (Pi's strength)""></a></h3><table tabindex="0"><thead><tr><th>Dimension</th><th>Pi's Advantage</th></tr></thead><tbody><tr><td><strong>Context</strong></td><td>Full control over what the agent sees via extensions</td></tr><tr><td><strong>Model</strong></td><td>Any provider, any model — pluggable</td></tr><tr><td><strong>Prompt</strong></td><td>Skills, system prompts, agent .md files — fully customizable</td></tr><tr><td><strong>Tools</strong></td><td>Extensions can add, remove, or override any tool</td></tr></tbody></table><hr><h2 id="_3-opencode-opencode-ai" tabindex="-1">3. OpenCode (opencode.ai) <a class="header-anchor" href="#_3-opencode-opencode-ai" aria-label="Permalink to "3. OpenCode (opencode.ai)""></a></h2><p><strong>Role</strong>: Open-source Claude Code alternative. MIT license.<br><strong>License</strong>: MIT (open source)<br><strong>Runtime</strong>: Node.js (npm global package)<br><strong>Config</strong>: Shares <code>~/.grok/config.toml</code> with Claude Code</p><h3 id="key-capabilities-2" tabindex="-1">Key Capabilities <a class="header-anchor" href="#key-capabilities-2" aria-label="Permalink to "Key Capabilities""></a></h3><table tabindex="0"><thead><tr><th>Feature</th><th>How To</th><th>Course Reference</th></tr></thead><tbody><tr><td>Headless commands</td><td><code>opencode run "prompt"</code></td><td>M5 CI/CD alternative to Claude Code CLI</td></tr><tr><td>Model selection</td><td><code>opencode --model opencode-go/deepseek-v4-flash</code></td><td>M6 cascade routing</td></tr><tr><td>Proxy support</td><td>Routes through <code>localhost:18901/v1</code></td><td>M6 cost optimization</td></tr><tr><td>Shared config</td><td>Uses same <code>~/.grok/config.toml</code></td><td>M5 production stack — dual tool setup</td></tr><tr><td>Go models</td><td>12 Go-optimized models available</td><td>M6 economics (Go models are cheaper per token)</td></tr></tbody></table><h3 id="available-go-models-through-proxy" tabindex="-1">Available Go Models (through proxy) <a class="header-anchor" href="#available-go-models-through-proxy" aria-label="Permalink to "Available Go Models (through proxy)""></a></h3><table tabindex="0"><thead><tr><th>Model ID</th><th>Cost Tier</th><th>Best For</th></tr></thead><tbody><tr><td><code>opencode-go/deepseek-v4-flash</code></td><td>Budget</td><td>General agentic tasks ($10/mo flat)</td></tr><tr><td><code>opencode-go/deepseek-v4-pro</code></td><td>Mid</td><td>Complex reasoning</td></tr><tr><td><code>opencode-go/kimi-k2.6</code></td><td>Mid</td><td>Long context</td></tr><tr><td><code>opencode-go/qwen3.6-plus</code></td><td>Budget</td><td>Structured tasks</td></tr><tr><td><code>opencode-go/minimax-m2.7</code></td><td>Budget</td><td>Fast responses</td></tr></tbody></table><h3 id="boilerplate-setup-2" tabindex="-1">Boilerplate Setup <a class="header-anchor" href="#boilerplate-setup-2" aria-label="Permalink to "Boilerplate Setup""></a></h3><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># Headless task execution</span></span>
|
||
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">opencode</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> run</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> "Refactor the auth module to use JWT tokens"</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># With specific model</span></span>
|
||
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">opencode</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --model</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> opencode-go/deepseek-v4-flash</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> run</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> "Write unit tests for the API"</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># With custom config</span></span>
|
||
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">opencode</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --config</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ~/.grok/config.toml</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> run</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> "Deploy to staging"</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># List available models</span></span>
|
||
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">opencode</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> models</span></span></code></pre></div><h3 id="when-to-use-opencode-instead-of-claude-code" tabindex="-1">When to Use OpenCode Instead of Claude Code <a class="header-anchor" href="#when-to-use-opencode-instead-of-claude-code" aria-label="Permalink to "When to Use OpenCode Instead of Claude Code""></a></h3><table tabindex="0"><thead><tr><th>Scenario</th><th>Choose</th></tr></thead><tbody><tr><td>Need open-source license</td><td>OpenCode</td></tr><tr><td>Budget-constrained</td><td>OpenCode (Go models at $10/mo flat)</td></tr><tr><td>CI/CD pipelines</td><td>OpenCode <code>run</code> command</td></tr><tr><td>Primary development</td><td>Claude Code (better tool calling)</td></tr><tr><td>Need hooks system</td><td>Claude Code (13 events vs OpenCode's limited hooks)</td></tr><tr><td>Heterogeneous stack</td><td>Both (OpenCode as backup/alternative model)</td></tr></tbody></table><hr><h2 id="_4-hermes-agent-some-engineering-inc" tabindex="-1">4. Hermes Agent (Some Engineering Inc.) <a class="header-anchor" href="#_4-hermes-agent-some-engineering-inc" aria-label="Permalink to "4. Hermes Agent (Some Engineering Inc.)""></a></h2><p><strong>Role</strong>: TypeScript-native, MCP-first agent for structured workflows.<br><strong>License</strong>: Open source<br><strong>Runtime</strong>: Node.js (TypeScript)<br><strong>Design philosophy</strong>: MCP-native architecture, structured output first</p><h3 id="key-capabilities-3" tabindex="-1">Key Capabilities <a class="header-anchor" href="#key-capabilities-3" aria-label="Permalink to "Key Capabilities""></a></h3><table tabindex="0"><thead><tr><th>Feature</th><th>How To</th><th>Course Reference</th></tr></thead><tbody><tr><td>MCP-native tools</td><td>Built-in MCP client</td><td>M2 Beyond MCP channels</td></tr><tr><td>Structured output</td><td>TypeScript types enforced</td><td>M2 context management</td></tr><tr><td>Tool-use workflows</td><td>Designed for function-calling chains</td><td>M2 agent loop variants</td></tr><tr><td>OpenClaw ecosystem</td><td>Integrates with OpenClaw agents</td><td>M4 multi-agent orchestration</td></tr></tbody></table><h3 id="boilerplate-setup-3" tabindex="-1">Boilerplate Setup <a class="header-anchor" href="#boilerplate-setup-3" aria-label="Permalink to "Boilerplate Setup""></a></h3><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># Run with MCP server</span></span>
|
||
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">hermes</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --mcp-servers</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ./mcp-config.json</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># Execute workflow</span></span>
|
||
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">hermes</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> run</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> workflow.ts</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># With custom tools</span></span>
|
||
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">hermes</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --tools-dir</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ./tools/</span></span></code></pre></div><h3 id="when-to-use-hermes" tabindex="-1">When to Use Hermes <a class="header-anchor" href="#when-to-use-hermes" aria-label="Permalink to "When to Use Hermes""></a></h3><ul><li>Building TypeScript-native agent pipelines</li><li>MCP-first architecture (tools as MCP servers)</li><li>Tight integration with OpenClaw ecosystem</li><li>Structured output enforcement (TypeScript types)</li></ul><hr><h2 id="_5-openclaw" tabindex="-1">5. OpenClaw <a class="header-anchor" href="#_5-openclaw" aria-label="Permalink to "5. OpenClaw""></a></h2><p><strong>Role</strong>: Always-on agent employee. Heartbeat-driven, autonomous execution.<br><strong>License</strong>: Open source<br><strong>Runtime</strong>: Node.js daemon<br><strong>Design philosophy</strong>: "If it can receive a heartbeat, it's hired."</p><h3 id="key-capabilities-4" tabindex="-1">Key Capabilities <a class="header-anchor" href="#key-capabilities-4" aria-label="Permalink to "Key Capabilities""></a></h3><table tabindex="0"><thead><tr><th>Feature</th><th>How To</th><th>Course Reference</th></tr></thead><tbody><tr><td>Heartbeat model</td><td>Wakes on schedule, works, sleeps</td><td>M7 always-on agents</td></tr><tr><td>One-shot execution</td><td><code>claw do "task"</code></td><td>M5 production task dispatch</td></tr><tr><td>Device-key pairing</td><td>Auth via device key + invite</td><td>M5 deployment modes</td></tr><tr><td>Paperclip-native</td><td>Primary agent for Paperclip orchestration</td><td>M7 framework comparison</td></tr><tr><td>tmux integration</td><td>Can run inside tmux sessions</td><td>M5 production stack</td></tr></tbody></table><h3 id="boilerplate-setup-4" tabindex="-1">Boilerplate Setup <a class="header-anchor" href="#boilerplate-setup-4" aria-label="Permalink to "Boilerplate Setup""></a></h3><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># Start as daemon (always-on employee)</span></span>
|
||
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">claw</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> start</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --daemon</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># One-shot task</span></span>
|
||
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">claw</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> do</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> "Review the latest PR and leave comments"</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># Schedule recurring task</span></span>
|
||
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">claw</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> schedule</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --cron</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> "0 6 * * 1"</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --task</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> "Generate weekly report"</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># Check status</span></span>
|
||
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">claw</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> status</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># Stop daemon</span></span>
|
||
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">claw</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> stop</span></span></code></pre></div><h3 id="heartbeat-execution-model" tabindex="-1">Heartbeat Execution Model <a class="header-anchor" href="#heartbeat-execution-model" aria-label="Permalink to "Heartbeat Execution Model""></a></h3><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>Timer fires → Check for queued work → Wake agent → Execute → Report results → Sleep</span></span></code></pre></div><p>No continuous running. The agent wakes, works, and goes back to sleep. This is the most cost-effective model for scheduled/recurring work.</p><hr><h2 id="comparison-matrix" tabindex="-1">Comparison Matrix <a class="header-anchor" href="#comparison-matrix" aria-label="Permalink to "Comparison Matrix""></a></h2><table tabindex="0"><thead><tr><th>Feature</th><th style="text-align:center;">Claude Code</th><th style="text-align:center;">Pi Agent</th><th style="text-align:center;">OpenCode</th><th style="text-align:center;">Hermes</th><th style="text-align:center;">OpenClaw</th></tr></thead><tbody><tr><td><strong>License</strong></td><td style="text-align:center;">Proprietary</td><td style="text-align:center;">MIT</td><td style="text-align:center;">MIT</td><td style="text-align:center;">Open</td><td style="text-align:center;">Open</td></tr><tr><td><strong>Cost</strong></td><td style="text-align:center;">Pro sub</td><td style="text-align:center;">Free</td><td style="text-align:center;">Free</td><td style="text-align:center;">Free</td><td style="text-align:center;">Free</td></tr><tr><td><strong>Hooks</strong></td><td style="text-align:center;">13 events</td><td style="text-align:center;">Extension events</td><td style="text-align:center;">Limited</td><td style="text-align:center;">MCP events</td><td style="text-align:center;">None</td></tr><tr><td><strong>Multi-agent</strong></td><td style="text-align:center;">teammate-mode</td><td style="text-align:center;">Extensions</td><td style="text-align:center;">No</td><td style="text-align:center;">Chains</td><td style="text-align:center;">Heartbeats</td></tr><tr><td><strong>P2P coms</strong></td><td style="text-align:center;">No</td><td style="text-align:center;">coms/coms-net</td><td style="text-align:center;">No</td><td style="text-align:center;">No</td><td style="text-align:center;">No</td></tr><tr><td><strong>Headless mode</strong></td><td style="text-align:center;"><code>--print</code></td><td style="text-align:center;">RPC mode</td><td style="text-align:center;"><code>run</code></td><td style="text-align:center;">Yes</td><td style="text-align:center;">daemon</td></tr><tr><td><strong>MCP support</strong></td><td style="text-align:center;">Built-in</td><td style="text-align:center;">Via extensions</td><td style="text-align:center;">Via proxy</td><td style="text-align:center;">Native</td><td style="text-align:center;">Via Paperclip</td></tr><tr><td><strong>Best for</strong></td><td style="text-align:center;">Generalist coding</td><td style="text-align:center;">Custom harness</td><td style="text-align:center;">OSS alternative</td><td style="text-align:center;">TS pipelines</td><td style="text-align:center;">Always-on tasks</td></tr><tr><td><strong>Course module</strong></td><td style="text-align:center;">M3, M4, M5</td><td style="text-align:center;">M3, M4, M5</td><td style="text-align:center;">M5, M6</td><td style="text-align:center;">M5</td><td style="text-align:center;">M5, M7</td></tr></tbody></table><hr><h2 id="quick-selection-guide" tabindex="-1">Quick Selection Guide <a class="header-anchor" href="#quick-selection-guide" aria-label="Permalink to "Quick Selection Guide""></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>What are you building?</span></span>
|
||
<span class="line"><span>├── A feature? → Claude Code</span></span>
|
||
<span class="line"><span>├── A custom workflow? → Pi Agent</span></span>
|
||
<span class="line"><span>├── An open-source project? → OpenCode</span></span>
|
||
<span class="line"><span>├── A TypeScript pipeline? → Hermes</span></span>
|
||
<span class="line"><span>└── A recurring task? → OpenClaw</span></span>
|
||
<span class="line"><span></span></span>
|
||
<span class="line"><span>Need multiple?</span></span>
|
||
<span class="line"><span>├── Production system → All 5 (see REFERENCE-STACK.md)</span></span>
|
||
<span class="line"><span>├── Budget constrained → OpenCode + Go models</span></span>
|
||
<span class="line"><span>├── Maximum control → Pi Agent + extensions</span></span>
|
||
<span class="line"><span>└── Enterprise rollout → Claude Code + Agent Manager</span></span></code></pre></div></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><!----></div><div class="pager" data-v-1bcd8184><a class="VPLink link pager-link next" href="/modules/m1-foundations" data-v-1bcd8184><!--[--><span class="desc" data-v-1bcd8184>Next page</span><span class="title" data-v-1bcd8184>Module 1: Foundations</span><!--]--></a></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\":\"CbIpCW5Y\",\"certificate.md\":\"0V0n-TLl\",\"free-preview.md\":\"CqgbxJtZ\",\"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\":\"D4c6-Kzn\",\"modules_m3-safety.md\":\"CvcrzqYZ\",\"modules_m4-orchestration.md\":\"DFLcAKBv\",\"modules_m5-production.md\":\"DTkLIrwQ\",\"modules_m6-economics.md\":\"DgzEiG6_\",\"modules_m7-advanced.md\":\"FtCudlFk\",\"modules_m8-capstone.md\":\"D1AXKCqv\",\"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\":\"FDSA\",\"description\":\"Agentic Engineering Course — build, deploy, and maintain production-grade AI agent systems.\",\"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\":\"https://github.com/Artale/agentic-engineering\"}],\"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\":\"FDSA\",\"description\":\"Agentic Engineering Course — build, deploy, and maintain production-grade AI agent systems.\"},\"es\":{\"label\":\"Español\",\"lang\":\"es-ES\",\"title\":\"FDSA\",\"description\":\"Curso de Ingeniería de Agentes — construye, despliega y mantiene sistemas de IA agentivos en producción.\",\"link\":\"/es/\"},\"pt\":{\"label\":\"Português\",\"lang\":\"pt-BR\",\"title\":\"FDSA\",\"description\":\"Curso de Engenharia de Agentes — construa, implante e mantenha sistemas de IA agentivos em produção.\",\"link\":\"/pt/\"},\"it\":{\"label\":\"Italiano\",\"lang\":\"it-IT\",\"title\":\"FDSA\",\"description\":\"Corso di Ingegneria degli Agenti — costruisci, distribuisci e mantieni sistemi di IA agentivi in produzione.\",\"link\":\"/it/\"},\"ar\":{\"label\":\"العربية\",\"lang\":\"ar-SA\",\"title\":\"FDSA\",\"description\":\"دورة هندسة الوكلاء — بناء ونشر وصيانة أنظمة الذكاء الاصطناعي الوكيلية في الإنتاج\",\"link\":\"/ar/\",\"dir\":\"rtl\"}}},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":true}");</script>
|
||
|
||
</body>
|
||
</html> |