posts

《AI Agent 开发入门》 · 全书目录与章节索引(61 篇)

《AI Agent 开发入门》全 61 篇,以从零手写的 Agent 运行时 minagent 为主线,从消息协议与可编程假模型起步,经工具调用、推理模式、上下文工程、记忆与检索、规划与编排、多 Agent 协作,讲到错误重试、可观测性、评测与测试、服务化交付。示例以 Python 3.14 在本机实跑,默认走零凭据、零成本的假模型路径,本页给出全书分章目录。

《AI Agent 开发入门》全 61 篇,是一套以一个从零手写的 Agent 运行时为主线的入门书:从第 1 章定义 Message 与 Role 起,到第 18 章把引擎组装成端到端项目,minagent 会一路长大——二十行的朴素循环、可替换的模型接口、工具注册表与并行调用、三种推理模式、上下文裁剪、短期与长期记忆、本地可离线向量检索、任务分解与图编排、多 Agent 消息总线、错误分类与重试、span 追踪与成本核算、确定性测试与评测集、最后收敛成一个稳定的库接口与 HTTP 服务。所有示例基于 Python 3.14(本机实测 3.14.6)实跑,默认走假模型路径,零凭据、零成本、逐字节可复现。

本页是《AI Agent 开发入门》的全书目录:按章节顺序列出全部 61 篇,点击标题直达正文。也可以从各节末尾的「阅读导航」按顺序通读,或先看目录篇 里的三条学习路径与八到九周计划。

全书概览

项目内容
书稿《AI Agent 开发入门》
篇数61 篇(正文 18 章 54 节 + 目录篇 + 序 + 前言 + 附录 A–D)
领域AI Agent 引擎从零实现到可交付服务
贯穿项目minagent —— 一台从零手写的 Agent 运行时,18 章逐步长大
阅读方式从目录篇 进入按顺序通读,或按查漏场景跳读
实测版本Python 3.14.6(本机 Homebrew)、Node 26.5.0(第 17 章 TS 对照)
依赖正文第 1–16 章只用标准库;pydantic / httpx / anthropic / fastapi 仅在明确标注「可选」处引入
上级专题书稿专题

全书目录

前置

节文章核心内容
—目录与学习路径全书导航页:本卷怎么读、三条阅读路径与八到九周计划、六部分依赖关系与 54 节逐节索引
—序更高视角:为什么现在要学 Agent 开发、本书的写法取舍与常见误解
—前言本书怎么来的、写给谁、技术栈与版本口径、三卷结构、本书不写什么
附 A附录 A.minagent API 与模块速查Message / ToolCall / ModelResponse / Tool / ToolRegistry / run / Agent 的签名与语义速查,含 model.calls 断言法
附 B附录 B.FakeModel 脚本语法与测试夹具速查三种脚本元素(str / ToolCall 列表 / ModelResponse)的语义对照、四种脚本模式、调用序列断言、真实响应录制回放夹具
附 C附录 C.环境与离线复现速查Python 3.14 venv、依赖安装源、Node 26 可擦除语法约束、Docker 起 postgres/redis、零网络复现步骤
附 D附录 D.常见错误与 FAQ高频报错原文与最小复现:假模型脚本耗尽、工具参数不匹配、JSON 解析失败、SSE 断流、max_steps 撞线……每条给原因与修法

第一部分:引擎地基(第 1–3 章)

节文章核心内容
1.11.1 环境与仓库骨架建好 minagent/ 目录结构、配好 venv、理解全卷的代码组织与运行方式
1.21.2 Agent 的最小定义与消息协议定义 Message / Role / ToolCall,理解 Agent 的最小构成与消息的序列化回放
1.31.3 可编程假模型 FakeModel用脚本驱动的假模型替换真实调用,零凭据跑通第一轮对话
2.12.1 Model 协议设计用 Protocol 定义 Model,把「调用大模型」变成可替换抽象;EchoModel 与 ScriptedModel
2.22.2 真实供应商适配与离线替身写一个真实供应商适配器(可选),把真实响应录成夹具离线重放
2.32.3 Token 预算与截断策略估算 token、设定预算,在超限时按策略裁剪;BudgetedModel 装饰器
3.13.1 朴素循环:跑到没有工具调用为止写出第一个 run() 循环,理解「多轮」从哪来、RunResult 有哪三件东西
3.23.2 停止条件与循环上限五条止损线:自然收敛、max_steps、max_tokens、工具连续失败、重复动作;用 AgentLoopError 把异常终止变成数据
3.33.3 抽成 Agent 类:状态、步骤与回调把循环收进 Agent 类,暴露 on_step / on_tool_call 回调与 history 状态

第二部分:能力扩展(第 4–7 章)

节文章核心内容
4.14.1 工具即函数:schema 生成、注册表与分发用 Tool 与 ToolRegistry 把普通函数暴露给模型,自动生成 schema
4.24.2 参数校验与执行隔离校验工具入参、隔离异常,让错误以 {"error": ...} 结果而非崩溃呈现
4.34.3 并行工具调用与结果合并一轮里同时调用多个工具,按顺序合并结果;量化并发收益
5.15.1 ReAct:把「想—做—看」写进循环把思考、行动、观察三段式嵌进循环,并解释它为何只是同一个循环的变体
5.25.2 Plan-and-Solve:先出计划再执行让模型先给计划再逐步执行,减少来回试探与无效调用
5.35.3 Reflexion:失败后的自我修正失败后回看轨迹、生成反思,再重试一次;对照三种模式的代价
6.16.1 系统提示与指令分层把系统、开发者与用户指令分层,用 model.calls 验证分层是否真的落到消息里
6.26.2 上下文裁剪与摘要超预算时裁剪历史或用摘要压缩,保留 system 与最近上下文
6.36.3 结构化输出约束与解析兜底约束模型输出 JSON,解析失败时带错误重试一次
7.17.1 流式事件模型用 token / tool_call / step / error 事件流描述一次运行,让每一步都可被订阅
7.27.2 会话状态对象用 Session 承载多轮状态,隔离不同会话的历史
7.37.3 检查点与快照把状态存盘,崩溃后能从检查点续跑而不重头再来

第三部分:记忆与知识(第 8–10 章)

节文章核心内容
8.18.1 对话缓冲与摘要记忆用缓冲与摘要两种策略保存近期对话,权衡保真度与体积
8.28.2 记忆检索注入从记忆里挑出相关片段,注入到当前上下文而非全量塞入
8.38.3 记忆写入策略决定什么该记、什么时候记、记多细,以及如何按相似度去重
9.19.1 嵌入与向量存储:本地可离线方案手写一个可离线的嵌入与向量索引(仅第 9 章用到 numpy)
9.29.2 混合检索:关键词 + 向量 + 重排融合关键词与向量召回,再加一层重排,量化各自贡献
9.39.3 记忆即工具把记忆读写暴露成 recall / save_note 工具,交给模型自己决定何时用
10.110.1 文档加载与切分加载文档并按语义边界切成可检索的块,对本站文章目录跑切块统计
10.210.2 索引与检索工具提供 search 与 read 两个工具,让 Agent 自己查知识库
10.310.3 带引用的回答让答案附上来源引用,可追溯、可核对,并校验引用是否真的支持结论

第四部分:编排与协作(第 11–13 章)

节文章核心内容
11.111.1 任务分解:把大问题拆成子任务 DAG把目标拆成有依赖关系的子任务图,识别可并行的部分
11.211.2 计划执行器按依赖顺序执行子任务,汇总中间结果,支持串行与并行
11.311.3 重规划执行受阻时回看计划,局部重排而非全盘重来
12.112.1 状态机式编排手写一个最小图引擎:节点、边与状态流转
12.212.2 分支、合并与循环支持条件分支、并行合并与带出口的循环
12.312.3 人类在环在关键节点暂停,等待人工确认后继续,并保留可恢复的中间状态
13.113.1 角色与分工用 supervisor / worker 划分职责,各司其职
13.213.2 消息总线与共享状态用进程内消息总线连接多个 Agent,隔离与共享各自的边界
13.313.3 协作模式对照顺序、辩论、投票三种拓扑的步数 / 延迟 / 成本量化对照,判断何时值得上多 Agent

第五部分:可靠性与度量(第 14–16 章)

节文章核心内容
14.114.1 分类错误与重试把错误分类,只对可重试的做退避重试,不可重试的快速失败
14.214.2 超时、取消与结构化并发用 asyncio.TaskGroup 统一管理超时与取消,避免任务泄漏
14.314.3 幂等与副作用识别有副作用的工具,用幂等键让重试不产生重复影响
15.115.1 运行追踪把一次运行变成 span 树,记录完整的调用结构
15.215.2 结构化日志与关联 ID输出可检索的结构化日志,用关联 ID 串起全链路
15.315.3 成本与用量核算累计 token 用量,换算成可比较的成本,按模型与步骤归集
16.116.1 确定性测试用假模型与断言轨迹写出确定性测试,把「模型看到了什么」变成可断言事实
16.216.2 评测集与打分建一个小评测集,用引用可回溯与答案可支持两类信号打分
16.316.3 对比实验一次只改一个变量,用对比实验判断改动到底有没有让效果变好

第六部分:交付(第 17–18 章)

节文章核心内容
17.117.1 库的对外接口收敛出一个稳定的公开接口,隐藏内部实现,讲清版本策略与破坏性变更
17.217.2 HTTP 服务化用 FastAPI 与 SSE 把引擎暴露成可流式调用的服务
17.317.3 TS 落点一:同一协议的 TS 客户端用 TypeScript(Node 26 可擦除语法)写一个遵循同一协议的客户端
18.118.1 端到端组装工具、记忆、检索与编排,跑通从提问到带引用回答的完整任务
18.218.2 真实 API 冒烟(可选)可选地用真实供应商做一次冒烟验证,对照假模型与真模型的差异
18.318.3 回顾与路线回顾 minagent 的演进路径,给出进阶学习路线与进入实战卷的衔接

怎么用这份索引

相关阅读

全部文章 Golang Game Saas Rust Python Java 游戏开发 客户端开发 GameDev TypeScript
agent

《AI Agent 开发入门》18.3 回顾与路线

本节收束卷一:把 minagent 从 20 行循环长成完整模块的 18 章推进逐条盘清,讲明「从零手写」得到了什么、还差什么,预告卷二(服务化、持久化、并发、可观测、评测回归、部署)与卷三(框架重写、durable execution、computer use、A2A、Agent RL),并给出一份「学完卷一你应该能回答」的自测清单。

14 分钟阅读
AI Agent AI Agent 开发入门 回顾
agent

《AI Agent 开发入门》18.2 真实 API 冒烟(可选)

本节只讲「如何」做一次真实 API 冒烟,不真的调用:给出把 FakeModel 换成 AnthropicModel 的最小代码(密钥只从环境变量读),离线验证双向映射,说明网络、密钥与用户同意三项前提,并用一份录制的响应夹具经 RecordedModel 离线重放同一条代码路径,真跑贴出轨迹。默认离线,真实调用请自行决定。

9 分钟阅读
AI Agent AI Agent 开发入门 真实 API 冒烟
agent

《AI Agent 开发入门》17.3 TS 落点一:同一协议的 TS 客户端

本节是 TS 落点一:用 TypeScript 写一个消费 17.2 SSE 协议的最小客户端——fetch 拿到 ReadableStream,逐块解码、按空行切帧、解析 event:/data: 行,把 token/tool/step 事件渲染成可读输出。全部代码只用 Node 26 的可擦除语法,node client.ts 直跑、tsc --noEmit 过检,在线与离线两种方式真跑。

10 分钟阅读
AI Agent AI Agent 开发入门 TypeScript 客户端
agent

《AI Agent 开发入门》14.3 幂等与副作用

Agent 会因为重试、检查点恢复、模型重复调用而执行同一个工具。本节先讲清重复的来源,再给出由「工具名 + 规范化参数」生成的 idempotency_key,用 IdempotentRegistry 记录已执行的副作用并返回缓存结果,并区分只读工具(天然幂等)与写工具(必须防护)。用脚本化的假模型让同一写操作被调用两次,真跑证明第二次命中幂等缓存、副作用只发生一次。

11 分钟阅读
AI Agent AI Agent 开发入门 幂等