Agency comes from the model. An agent product = model + harness.
Agency Comes from the Model
Before we talk about code, let’s get one thing straight.
Agency — the ability to perceive, reason, and act — comes from model training, not from external code orchestration. A working agent product needs both the model and the harness. The model is the driver, the harness is the vehicle.
This course teaches you to build the vehicle.
What a Harness Is
Harness = Tools + Knowledge + Observation + Action Interfaces + Permissions
Tools: file I/O, shell, network, database, browser
Knowledge: product docs, domain references, API specs, style guides
Observation: git diff, error logs, browser state, sensor data
Action: CLI commands, API calls, UI interactions
Permissions: sandboxing, approval workflows, trust boundaries
The model decides. The harness executes. The model reasons. The harness provides context.
The Agent Pattern
User --> messages[] --> LLM --> response
|
stop_reason == "tool_use"?
/ \
yes no
| |
execute tools return text
append results
loop back -----------------> messages[]
That’s the minimal loop. Every AI agent needs this loop. The MODEL decides when to call tools and when to stop. The CODE just executes what the model asks for.
What You’ll Build
Phase 1: Core Loop — The agent loop, tools, planning, subagents, skills, context compaction
Phase 2: System Hardening — Permissions, hooks, memory, system prompts, error recovery
Phase 3: Task Runtime — Task graphs, background execution, cron scheduling
Phase 4: Multi-Agent Platform — Teams, protocols, autonomous agents, worktree isolation, MCP
Key Takeaway
Agency comes from the model. The harness makes agency real. Build great harnesses. The model will do the rest. Bash is all you need.