How lerabyte/ai-agent works
This repository is a hands-on course for building a local Python AI agent, accompanied by a browser dashboard. The learner progresses from a model request through tool use, looping, multiple tools, error recovery, and permission-controlled file access. The README documents this sequence and the model/tool round trip; sampled solutions show dispatch, validation, and file controls. The dashboard excerpt shows lesson progress and an interactive simulation. The course’s lesson materials are represented by their part directories; unsampled lesson internals are not assumed to call one another.
Main entry points: parts Lesson materials · solution/agent.py Controlled agent · solution/agent.py First tool round trip · solution/agent.py Multiple tools
Components 16
Course experience
- Course dashboard
course/app.js - Browser progress
- Lesson materials
parts
Agent progression
- Connect model
parts/01-connect-model/solution/agent.py - First tool round trip
parts/02-first-tool/solution/agent.py - Agent loop
parts/03-agent-loop/solution/agent.py - Multiple tools
parts/04-multiple-tools/solution/agent.py - Error recovery
parts/05-error-recovery/solution/agent.py
Tool capabilities
- Python tools
parts/04-multiple-tools/solution/agent.py
Safety controls
- Controlled agent
parts/06-permissions-and-limits/solution/agent.py - Controlled-agent starter
parts/06-permissions-and-limits/starter/agent.py - Agent workspace
- Write approval
parts/06-permissions-and-limits/solution/agent.py
Other components
- Learner
- Local Ollama model
- Terminal answer
Connections 22
- Learner → Course dashboard: opens
README.md - Course dashboard → Browser progress: stores progress
course/app.js - Learner → Lesson materials: follows lessons
README.md - Lesson materials → Connect model: starts with
README.md - Connect model → Local Ollama model: requests completion
README.md - First tool round trip → Local Ollama model: requests tool call
README.md - Local Ollama model → First tool round trip: returns tool request
README.md - First tool round trip → Python tools: runs tool
parts/02-first-tool/solution/agent.py - First tool round trip → Local Ollama model: sends tool result
parts/02-first-tool/solution/agent.py - Lesson materials → Agent loop: continues with
README.md - Agent loop → Local Ollama model: repeats requests
parts/03-agent-loop/solution/agent.py - Lesson materials → Multiple tools: adds multiple tools
README.md - Multiple tools → Local Ollama model: offers tools
parts/04-multiple-tools/solution/agent.py - Multiple tools → Python tools: dispatches calls
parts/04-multiple-tools/solution/agent.py - Lesson materials → Error recovery: adds recovery
README.md - Error recovery → Local Ollama model: returns tool errors
parts/05-error-recovery/solution/agent.py - Lesson materials → Controlled agent: adds controls
README.md - Controlled agent → Local Ollama model: limits tool turns
parts/06-permissions-and-limits/solution/agent.py - Controlled agent → Agent workspace: reads and writes
parts/06-permissions-and-limits/solution/agent.py - Controlled agent → Write approval: requests approval
parts/06-permissions-and-limits/solution/agent.py - Write approval → Learner: asks before writing
parts/06-permissions-and-limits/solution/agent.py - Controlled agent → Terminal answer: prints answer
parts/06-permissions-and-limits/solution/agent.py