Learn Claude Code
Build a nano Claude Code-like agent from 0 to 1, one mechanism at a time
The Core Pattern
Every AI coding agent shares the same loop: call the model, execute tools, feed results back. The harness adds policy, permissions, memory, coordination, and lifecycle control around it.
while True:
response = client.messages.create(messages=messages, tools=tools)
if response.stop_reason != "tool_use":
break
for tool_call in response.content:
result = execute_tool(tool_call.name, tool_call.input)
messages.append(result)Message Growth
Watch the messages array grow as the agent loop executes
Learning Path
17 progressive sessions, from a simple loop to deterministic orchestration and goal closure
The Agent Loop
The smallest useful agent is a loop that calls the model, runs tools, and feeds results back.
Tool Use
The loop stays stable while capabilities register into a dispatch table.
Permission
Dangerous actions need a harness decision point before the shell runs.
Hooks
Cross-cutting behavior belongs around the loop, not tangled inside it.
TodoWrite
Explicit plans keep long-running work visible and correctable.
Subagent
Subagents give each subtask a clean message history while preserving the main thread.
Skill Loading
Inject specialized knowledge only when the task actually needs it.
Context Compact
Compression keeps the conversation usable when the context window gets crowded.
Memory
Some facts should survive summarization and future sessions.
Task System
A task graph turns vague goals into ordered, observable work.
Background Tasks
The agent can keep reasoning while slow work completes elsewhere.
Cron Scheduler
Recurring work should be created by the harness, not remembered by the model.
Agent Team Runtime
Persistent teammates can reliably discover and execute parallel work when the runtime owns messaging, atomic claims, and task-bound working directories.
MCP Tools
External services can become agent tools through a standard discovery and call protocol.
Integrated Harness
The integrated harness is still one loop, surrounded by the systems introduced across the course.
Workflow Runtime
When orchestration has a fixed shape, code can make it parallel, deterministic, and resumable.
Goal Loop
A durable goal keeps the loop working until an independent evaluator finds the completion condition satisfied in the conversation.
Architectural Layers
Five orthogonal concerns that compose into a complete agent