C.W.K.
Stream
Lesson 04 of 05 · published

Agent Anatomy: Brain, Tools, Memory, Policy

~26 min · architecture, components, policy

Level 0Observer
0 XP0/40 lessons0/12 achievements
0/100 XP to next level100 XP to go0% complete

The model is only one organ

A strong model raises the ceiling, but the rest of the body decides whether the agent survives real work. Tools determine what it can do. Memory determines what it can carry forward. Policy determines what it must never do. Observability determines whether you can debug it after it disappoints you, because yes, it will.

The five-part stack

  • Brain: model selection, prompt, reasoning budget, output format.
  • Hands: tools, hosted tools, MCP servers, APIs, local shell, browser, code execution.
  • Memory: short-term context, scratchpad, vector recall, structured facts, durable notes.
  • Nerves: traces, logs, metrics, replayable runs, eval records.
  • Immune system: permissions, guardrails, sandboxing, human approval, kill switch.

You can replace one part without replacing the whole. That is why a good agent design is model-agnostic but not model-indifferent.

Design by blast radius

The more a tool can change, the tighter its policy should be. Reading a public page is low blast radius. Charging a card, deleting a database row, or pushing to production is high blast radius. The agent should feel that difference in code, not just in a hopeful prompt sentence.

Code

Capability map·yaml
agent:
  brain:
    model: "provider-selected"
    output_contract: "final_answer | tool_calls | handoff"
  hands:
    read_tools: ["web_search", "read_file"]
    write_tools: ["write_file"]
    destructive_tools: ["delete_file", "deploy"]
  memory:
    short_term: "conversation"
    long_term: "sqlite + markdown notes"
  policy:
    require_approval: ["delete_file", "deploy"]
    max_steps: 20
    max_cost_usd: 1.00

External links

Exercise

Draw a capability map for your agent. Mark every tool as read-only, write, destructive, external, or privileged.
Hint
A tool can have multiple labels. A Slack send tool is external and write. A deploy tool is privileged and destructive.

Progress

Progress is local-only — sign in to sync across devices.
Spotted a bug or have feedback on this page?Report an Issue

Comments 0

🔔 Reply notifications (sign in)
Sign inPlease sign in to comment.

No comments yet — be the first.