每个模块独立成体系,循序渐进掌握核心能力
从类型系统到高级能力,循序渐进
类型系统、Provider 抽象、流式输出、消息历史管理、Tool Use 协议
文件读写、命令执行、代码搜索 — 赋予 Agent 双手
核心循环、并发执行、任务规划、错误恢复 — Agent 的心脏
Prompt 设计、Token 管理、上下文压缩、CLI、安全防护、测试、最终集成
AST 代码理解、智能编辑、Git 集成、自动修复、语义搜索 — Agent 的眼睛
每章包含:教案 + 可运行 Demo + Mock 测试套件
贯穿始终的生产级设计模式
// 核心类型系统 dataclass Message // 统一消息 — system / user / assistant / tool dataclass ChatResponse // LLM 响应 — content + tool_calls + usage dataclass StreamEvent // 流式事件 — text / tool_call_start / done dataclass ToolCall // 工具调用 — id + name + arguments Protocol LLMProvider // Provider 接口 — chat() + chat_stream() // Provider 实现(工厂模式) create_provider() → ├ OpenAICompatibleProvider // GPT / 兼容 API └ AnthropicProvider // Claude // 消息历史(不可变保护) MessageHistory ├ add_user / add_assistant / add_tool_result ├ get_messages() // ← 返回浅拷贝 └ truncate / estimate_tokens // Agent 核心 CodingAgent ├ AgentLoop: LLM → Tool → Result → Loop ├ Tools: read_file / write_file / edit_file / run_bash / search / grep ├ Stream: 流式输出 + 流式 tool_use 拼接 ├ Safety: 注入检测 + 命令黑名单 + 路径安全 └ Context: Token 预算 + 上下文压缩 + 项目感知
理解 AI Agent 的每一个零件
用 dataclass + Protocol 构建可扩展的类型体系,理解结构化子类型
LLM 思考 → 调用工具 → 接收结果 → 继续思考,亲手实现这个心脏
增量解析 delta.content / delta.tool_calls,实现打字机效果
注入检测、命令黑名单、路径安全 — 生产级安全策略
无需 API Key 即可运行完整测试套件,掌握 unittest.mock 技巧
Token 计数、预算分配、上下文压缩 — 让 Agent 在长对话中保持稳定
pip install -r requirements.txt
python demos/ch09/main.py # 核心 Agent Loop python demos/ch19/main.py # 完整测试套件
export OPENAI_API_KEY=your_key python demos/ch20/main.py
← 熵减智算