import{c as e,Q as a,j as s,m as n}from"./chunks/framework.BPKcPtvA.js";const u=JSON.parse('{"title":"Student Orientation Guide","description":"","frontmatter":{},"headers":[],"relativePath":"getting-started.md","filePath":"getting-started.md","lastUpdated":1780488472000}'),i={name:"getting-started.md"};function l(o,t,r,d,h,p){return a(),s("div",null,[...t[0]||(t[0]=[n(`<h1 id="student-orientation-guide" tabindex="-1">Student Orientation Guide <a class="header-anchor" href="#student-orientation-guide" aria-label="Permalink to &quot;Student Orientation Guide&quot;">​</a></h1><p>Welcome to the Agentic Engineering Course. This guide tells you exactly what to do first.</p><hr><h2 id="step-1-prerequisites-checklist" tabindex="-1">Step 1: Prerequisites Checklist <a class="header-anchor" href="#step-1-prerequisites-checklist" aria-label="Permalink to &quot;Step 1: Prerequisites Checklist&quot;">​</a></h2><p>Before starting, ensure you have:</p><ul><li>[ ] <strong>Python 3.12+</strong> installed (<code>python --version</code>)</li><li>[ ] <strong>Git</strong> installed (<code>git --version</code>)</li><li>[ ] <strong>A text editor</strong> (VS Code recommended)</li><li>[ ] <strong>At least one API key</strong> (see API Keys section below)</li><li>[ ] <strong>Terminal</strong> (PowerShell on Windows, bash on Mac/Linux)</li></ul><h3 id="optional-install-later-when-needed" tabindex="-1">Optional (install later when needed) <a class="header-anchor" href="#optional-install-later-when-needed" aria-label="Permalink to &quot;Optional (install later when needed)&quot;">​</a></h3><ul><li>[ ] <strong>Claude Code CLI</strong> — <code>npm install -g @anthropic/claude-code</code></li><li>[ ] <strong>Pi Agent CLI</strong> — <code>npm install -g pi-coding-agent</code></li><li>[ ] <strong>OpenCode CLI</strong> — <code>npm install -g @opencode/cli</code></li></ul><hr><h2 id="step-2-course-structure" tabindex="-1">Step 2: Course Structure <a class="header-anchor" href="#step-2-course-structure" aria-label="Permalink to &quot;Step 2: Course Structure&quot;">​</a></h2><p>The course is organized into <strong>8 modules</strong> with <strong>13 labs</strong>:</p><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>course/</span></span>
<span class="line"><span>├── 00-CURRICULUM.md         ← START HERE: Full lesson plan</span></span>
<span class="line"><span>├── M1-FOUNDATIONS.md        ← START HERE: Module 1</span></span>
<span class="line"><span>├── M2-ARCHITECTURE.md</span></span>
<span class="line"><span>├── ... (M3 through M8)</span></span>
<span class="line"><span>├── labs/                    ← Hands-on exercises</span></span>
<span class="line"><span>│   ├── L1-first-agent/</span></span>
<span class="line"><span>│   ├── L2-multi-tool/</span></span>
<span class="line"><span>│   └── ... (13 total)</span></span>
<span class="line"><span>└── FIELD-MANUAL.md          ← Quick reference cheat sheet</span></span></code></pre></div><h3 id="how-each-module-works" tabindex="-1">How Each Module Works <a class="header-anchor" href="#how-each-module-works" aria-label="Permalink to &quot;How Each Module Works&quot;">​</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>1. Read the module file (M1-FOUNDATIONS.md)</span></span>
<span class="line"><span>2. Complete the lab exercise (labs/L1-first-agent/)</span></span>
<span class="line"><span>3. Take the quiz (ASSESSMENTS.md)</span></span>
<span class="line"><span>4. Move to next module</span></span></code></pre></div><hr><h2 id="step-3-your-first-lab" tabindex="-1">Step 3: Your First Lab <a class="header-anchor" href="#step-3-your-first-lab" aria-label="Permalink to &quot;Step 3: Your First Lab&quot;">​</a></h2><p>Navigate to <code>labs/L1-first-agent/</code> and open <code>starter.py</code>:</p><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:#005CC5;--shiki-dark:#79B8FF;">cd</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> course/labs/L1-first-agent/</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">python</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> starter.py</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> test.txt</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;What is this file about?&quot;</span></span></code></pre></div><p><strong>Don&#39;t have an API key?</strong> The mock LLM client handles this automatically. Your code runs the same way with or without a real API key.</p><h3 id="lab-tips" tabindex="-1">Lab Tips <a class="header-anchor" href="#lab-tips" aria-label="Permalink to &quot;Lab Tips&quot;">​</a></h3><ul><li>Each lab has <code>starter.py</code> (fill in the blanks) and <code>solution.py</code> (reference answer)</li><li>Try the starter first. Look at the solution only when stuck</li><li>The <code>reasoning</code> parameter on every tool call is not optional — it&#39;s a course requirement</li><li>Always set <code>MAX_ITERATIONS</code> to prevent infinite loops</li></ul><hr><h2 id="step-4-install-skills-optional" tabindex="-1">Step 4: Install Skills (Optional) <a class="header-anchor" href="#step-4-install-skills-optional" aria-label="Permalink to &quot;Step 4: Install Skills (Optional)&quot;">​</a></h2><p>After completing Module 3 (Security), install the skill kits:</p><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;"># Windows</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">powershell</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -File</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> install.ps1</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># Mac/Linux</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">bash</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> install.sh</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># Single kit</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">bash</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> install.sh</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> security</span></span></code></pre></div><hr><h2 id="step-5-recommended-learning-path" tabindex="-1">Step 5: Recommended Learning Path <a class="header-anchor" href="#step-5-recommended-learning-path" aria-label="Permalink to &quot;Step 5: Recommended Learning Path&quot;">​</a></h2><table tabindex="0"><thead><tr><th>Order</th><th>Module</th><th>Time</th><th>Do This</th></tr></thead><tbody><tr><td>1</td><td>M1 Foundations</td><td>4-6 hrs</td><td>Read + Lab 1</td></tr><tr><td>2</td><td>M2 Architecture</td><td>6-8 hrs</td><td>Read + Labs 2a, 2b</td></tr><tr><td>3</td><td>M3 Safety</td><td>5-7 hrs</td><td>Read + Labs 3a, 3b</td></tr><tr><td>4</td><td>M4 Orchestration</td><td>7-9 hrs</td><td>Read + Labs 4a, 4b</td></tr><tr><td>5</td><td>M5 Production</td><td>5-7 hrs</td><td>Read + Labs 5a, 5b</td></tr><tr><td>6</td><td>M6 Economics</td><td>4-6 hrs</td><td>Read + Labs 6a, 6b</td></tr><tr><td>7</td><td>M7 Advanced</td><td>5-7 hrs</td><td>Read + Labs 7a, 7b</td></tr><tr><td>8</td><td>M8 Capstone</td><td>8-12 hrs</td><td>Build your project</td></tr></tbody></table><hr><h2 id="common-pitfalls" tabindex="-1">Common Pitfalls <a class="header-anchor" href="#common-pitfalls" aria-label="Permalink to &quot;Common Pitfalls&quot;">​</a></h2><table tabindex="0"><thead><tr><th>Problem</th><th>Solution</th></tr></thead><tbody><tr><td><code>ModuleNotFoundError: anthropic</code></td><td>Run <code>pip install anthropic</code> or use mock LLM (automatic fallback)</td></tr><tr><td>Lab runs but produces no output</td><td>Check you called <code>run_agent()</code> at the end of the script</td></tr><tr><td>Tool loop never terminates</td><td>Check <code>MAX_ITERATIONS</code> is set. Default is 15.</td></tr><tr><td>Mock LLM returns &quot;No input provided&quot;</td><td>Check you&#39;re passing <code>messages</code> to <code>create()</code> not just <code>prompt</code></td></tr><tr><td>YAML parse error in skills</td><td>Check indentation — YAML uses 2-space indents</td></tr></tbody></table><hr><h2 id="getting-help" tabindex="-1">Getting Help <a class="header-anchor" href="#getting-help" aria-label="Permalink to &quot;Getting Help&quot;">​</a></h2><ul><li><strong>Course content issues</strong>: Check the module file first, then the solution file</li><li><strong>Lab errors</strong>: Run <code>python -c &quot;from mock_llm import MockAnthropic; print(&#39;OK&#39;)&quot;</code> from the labs directory</li><li><strong>Concept questions</strong>: Module files explain concepts. FIELD-MANUAL.md is the quick reference.</li><li><strong>Still stuck</strong>: The course README.md has a full file listing</li></ul><hr><h2 id="what-you-ll-learn" tabindex="-1">What You&#39;ll Learn <a class="header-anchor" href="#what-you-ll-learn" aria-label="Permalink to &quot;What You&#39;ll Learn&quot;">​</a></h2><p>By the end of this course, you will be able to:</p><ol><li>Build single-tool and multi-tool agents from scratch</li><li>Implement the 6-level security ladder (L0-L5) to protect your systems</li><li>Design multi-agent systems with teams, chains, and peer-to-peer communication</li><li>Deploy agents to production with CI/CD, observability, and rollback</li><li>Optimize costs using cascade routing and evaluate performance with pass@k</li><li>Build self-improving agents that experiment and learn</li></ol>`,38)])])}const g=e(i,[["render",l]]);export{u as __pageData,g as default};
