posts

《AI Agent 工程实战》 · 全书目录与章节索引(55 篇)

《AI Agent 工程实战》全 55 篇,把卷一手写的 Agent 引擎 minagent 装成一个能给别人用的研究助理服务 ResearchCopilot:从需求与架构、配置密钥、REST 与 SSE 接口、认证与租户隔离,经 Postgres 状态持久化、缓存限流、异步队列与并发控制,讲到 MCP 工具接入、记忆服务、评测质量门、可观测与 SLO、成本治理、安全护栏、容器部署与发布。示例以 Python 3.14 与 Node 26 在本机实跑,本页给出全书分章目录。

《AI Agent 工程实战》全 55 篇,是一套以把 Agent 引擎装成产品为主线的工程书:卷一的 minagent 在这里不再改动,而是被四层边界(引擎 / 服务 / worker / 存储)包起来,长成一个研究助理服务 ResearchCopilot——用户提问,Agent 多跳检索本地语料、调用工具(含本地 Postgres 查询)、生成带引用的报告,后台 worker 周期跑语料更新与日报。全卷按工程推进顺序展开:需求与验收标准、架构边界、配置与密钥、REST 与 SSE 契约、认证与租户隔离、Schema 与事务、查询优化、缓存与限流、异步队列、结构化并发、TS 流式前端、MCP 工具接入、记忆服务、评测与质量门、追踪与指标、延迟与成本、安全护栏、双栈镜像、compose 编排、CI/CD 与灰度、容量评审与故障演练。所有示例基于 Python 3.14(本机实测 3.14.6)与 Node 26(本机实测 26.5.0)实跑,默认走假模型路径,零凭据、零成本;Postgres 17.11 与 Redis 7.4.11 由本机容器提供。

本页是《AI Agent 工程实战》的全书目录:按章节顺序列出全部 55 篇,点击标题直达正文。也可以从各节末尾的「阅读导航」按顺序通读,或先看目录篇 里的三条阅读路径与六周计划。

全书概览

项目内容
书稿《AI Agent 工程实战》
篇数55 篇(目录篇 + 正文 18 章 54 节)
领域Agent 服务的工程化:从接口契约到上线交付
贯穿项目ResearchCopilot —— 一个由 minagent 驱动的研究助理服务,18 章逐步长大
阅读方式从目录篇 进入按顺序通读,或按症状跳读
实测版本Python 3.14.6、Node 26.5.0、PostgreSQL 17.11、Redis 7.4.11
依赖本卷放心使用工程库:pydantic-settings / FastAPI / psycopg / redis / mcp 等均为真装真用
前置建议先读卷一《AI Agent 开发入门》,本卷复用其核心契约
上级专题书稿专题

全书目录

前置

节文章核心内容
—目录与学习路径全书导航页:本卷怎么读、三条阅读路径与六周计划、六部分依赖关系与 54 节逐节索引、常见问题速查表

第一部分:项目地基(第 1–4 章)

节文章核心内容
1.11.1 需求与用例:3 个核心用例与验收标准定下三个用例与可判定的验收标准,明确「不做什么」,并给出用例与章节的映射
1.21.2 架构总览:引擎 / 服务 / worker / 存储边界划清四层边界与依赖方向,走一遍请求从进来到出结果的完整时序
1.31.3 仓库与工程骨架:monorepo + TS 包,CI 跑通 lint/test建 monorepo 目录树,本地真跑通 pytest 与 node –test,附 CI 形态
2.12.1 分层配置:pydantic-settings 加载与校验四级来源合并(默认 → 文件 → 环境变量 → 显式参数)与校验,配置靠注入而非全局读取
2.22.2 密钥管理:Anthropic key / DB / Redis 本地注入密钥不落库、不进镜像、不进日志三条线,缺失即 fail-fast,SecretStr 自动脱敏
2.32.3 模型路由与降级:真/假模型开关,离线默认假模型默认假模型零凭据可跑,主模型失败时按链降级且降级必须透明
3.13.1 REST 设计:session / run / message 资源建模为什么 run 是独立资源而不是 session 的一个动作,OpenAPI 契约的形态
3.23.2 流式接口:SSE 推送事件事件 envelope(id / event / data)设计,SSE 与 WebSocket 的取舍表
3.33.3 幂等、分页与统一错误契约Idempotency-Key 重复 POST 只建一次 run,游标分页与统一错误响应体
4.14.1 认证:JWT 与 API Key 中间件两种凭证并行支持,过期、篡改签名、无凭证各自返回什么错误码
4.24.2 授权与租户隔离:workspace 行级隔离跨租户访问返回 404 而非 403,以及 PostgreSQL 行级安全策略兜底
4.34.3 工具权限与审批:高危工具二次确认工具分只读 / 写入 / 危险三档,危险调用挂起等人工审批再继续

第二部分:数据与性能底座(第 5–6 章)

节文章核心内容
5.15.1 Schema 设计:会话/消息/运行/记忆表 + 迁移四张表的 DDL 与迁移版本表,消息体存原始 JSON 以保真
5.25.2 事务与并发:run 状态机原子更新、行锁防重复执行「先查再改」为什么会跑两遍,原子抢占与 SKIP LOCKED 怎么写
5.35.3 查询优化:EXPLAIN 定位慢查询并加索引五万行数据上的真实执行计划对比、部分索引与写放大的取舍
6.16.1 Redis 缓存:检索结果与嵌入缓存命中率缓存 key 必须带租户,穿透 / 击穿 / 雪崩在 Agent 场景的具体形态
6.26.2 语义缓存:相似问题复用与错配检测为什么阈值分不开对错,哪些类型的问题绝不能走语义缓存
6.36.3 限流与配额:按租户 token 预算的令牌桶Lua 原子限流与 token 预算扣减,被限流时 Agent 该怎么办

第三部分:异步与前端(第 7–9 章)

节文章核心内容
7.17.1 任务队列:run 丢给 worker 异步执行可靠队列与裸队列的区别,以及 202 返回后的完整生命周期
7.27.2 重试、死信与幂等指数退避加抖动、超过上限进死信并记录原因,重试必须配幂等
7.37.3 定时与延迟任务:周期语料更新与日报分布式锁的 token 校验与续期,延迟任务用有序集合实现
8.18.1 引擎内并发:并行工具与并行子 Agentasyncio.TaskGroup 真并发,结果按调用顺序而非完成顺序回填
8.28.2 背压与资源池:信号量限并发并发上限怎么估,生产快于消费时怎么让上游慢下来而不是无限堆积
8.38.3 取消、超时与泄漏:慢工具注入验证止损注入慢工具验证超时止损,以及游离任务与取消传播
9.19.1 事件协议:token/tool/step 统一 schema,TS 与 Python 共享类型TypeScript 判别联合类型与三种共享类型做法的代价对照
9.29.2 前端渲染:TS 最小聊天 UI 逐步显示纯函数归约器与渲染器,增量渲染与全量重渲染的取舍
9.39.3 断线重连:Last-Event-ID 续传不丢步服务端事件缓冲、缓冲淘汰后的 resync 全量重取降级

第四部分:生态、记忆与质量(第 10–12 章)

节文章核心内容
10.110.1 MCP 客户端接入:minagent 作为 client 连本地 Server远程工具适配成 Tool、命名冲突处理与错误映射,协议本身不展开
10.210.2 工具设计模式:读写分离、幂等、可观测描述即提示词、工具粒度、幂等键设计与调用留痕
10.310.3 工具沙箱:子进程/容器隔离高危工具子进程只能隔离崩溃,容器才能隔离权限;未部署的方案如实标注
11.111.1 写入流水线:抽取、去重、冲突消解抽取 → 去重 → 冲突消解,以及重放同一段对话不产生重复记忆
11.211.2 检索注入:长期记忆接入 run 并量化收益注入位置取舍,以及只改一个变量的对照实验与得分差异
11.311.3 记忆治理:TTL、隐私与按用户删除写入侧拒绝清单、级联删除与审计留痕
12.112.1 评测集与评分器:成功率/引用准确率/成本可版本化评测集的维护纪律与三个评分器,自动与人工打分分界
12.212.2 离线回放与夹具:假模型 + 录制样本确定性回归夹具回放机制,以及夹具失配必须报错而不是静默给错响应
12.312.3 CI 质量门:分数下降即拦截基线怎么维护、为什么不能只看均值、退化怎么被拦住

第五部分:可观测、性能与安全(第 13–15 章)

节文章核心内容
13.113.1 结构化日志与追踪:OTel GenAI 语义约定埋点span 树与上下文传播,字段名对齐 GenAI 语义约定
13.213.2 指标与看板:延迟/成功率/成本/工具错误为什么平均值会骗人、指标基数陷阱与看板四块布局
13.313.3 告警与 on-call:从 trace 到告警演练告警规则表、SLO 与错误预算、从告警到具体 trace 的排查动作
14.114.1 延迟剖析:模型/检索/工具各占多少分阶段计时与占比,以及同步阻塞拖垮异步服务
14.214.2 成本优化:缓存、路由、小模型降级 + 评测兜底三招降本、误判代价,以及降本必须过评测兜底
14.314.3 吞吐与并发压测:找容量上限与拐点四档并发找拐点,以及加超时后 QPS 虚高、错误率飙升的假象
15.115.1 输入侧:提示注入与越权工具拦截间接注入最危险,内容与指令必须分离,危险工具要白名单拦截
15.215.2 输出侧:敏感信息、越狱与幻觉引用校验引用存在不等于引用支持,校验必须回语料核对
15.315.3 审计与合规:不可篡改审计日志哈希链审计日志,以及它与「按用户删除」之间的张力

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

节文章核心内容
16.116.1 TS 落点三:Python + Node 双栈镜像瘦身多阶段构建与四个瘦身杠杆,为什么 latest 是坑
16.216.2 本地编排:compose 起 API/worker/postgres/redisdepends_on 不等于依赖就绪,healthcheck 加 service_healthy 才有用
16.316.3 配置注入、健康检查与优雅退出liveness 与 readiness 的区别,收到 SIGTERM 后要做什么
17.117.1 流水线:lint/test/评测/构建串联阶段顺序的代价权衡,评测必须在 CI 里用夹具回放跑
17.217.2 灰度与回滚:新提示/新模型小流量提示词也是可发布的配置,回滚必须演练过才算回滚
17.317.3 版本与迁移:不中断 schema 迁移演练expand–contract 五阶段,以及长事务锁表与并发建索引的坑
18.118.1 容量与架构评审清单五组带通过标准的评审清单与一份可执行的容量估算
18.218.2 故障演练:模型超时/DB 宕机/队列积压三个受控演练的注入方式、观测点与复盘问题
18.318.3 上线、观察与迭代 + 真实 API 端到端冒烟(可选)观察节奏、迭代闭环,以及需自备密钥的可选真实冒烟流程

怎么用这份索引

相关阅读

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

《AI Agent 工程实战》18.3 上线、观察与迭代 + 真实 API 端到端冒烟(可选)

收官节分三块收束全卷:上线检查单、上线后的观察节奏(第 1 小时/第 1 天/第 1 周各看什么、何时回滚)、把线上失败与成本异常回流成评测样本与优化项的迭代闭环。再给出可选的真实 API 端到端冒烟流程与代码,明确标注需自备密钥、本机未执行,并用假模型跑同一脚本做离线等价验证,最后给全卷回顾与通往卷三的路线。

9 分钟阅读
AI Agent AI Agent 工程实战 上线运营
agent

《AI Agent 工程实战》18.2 故障演练:模型超时/DB 宕机/队列积压

设计三个受控故障演练:模型超时(假模型注入延迟,验证超时止损与降级链)、DB 不可达(连不存在的端口,验证 readiness 摘流量与明确报错)、队列积压(往队列塞远超消费能力的任务,验证背压与告警)。每个都写清注入方式、预期表现、观测点、恢复动作与复盘问题,并逐个在本机真跑贴出日志、耗时与队列深度,最后给出复盘模板表。

8 分钟阅读
AI Agent AI Agent 工程实战 故障演练
agent

《AI Agent 工程实战》17.2 灰度与回滚:新提示/新模型小流量

Agent 服务的发布对象不只是代码,提示词、模型 ID、工具集、检索参数都是可发布的配置,改提示词的风险不低于改代码。本节设计按流量比例的灰度与自动回滚条件,真跑一个灰度路由器:新版正常时放量、新版劣化时按成功率/成本/P95 三个条件触发一键回滚,并演示影子流量。

13 分钟阅读
AI Agent AI Agent 工程实战 灰度发布
agent

《AI Agent 工程实战》16.3 配置注入、健康检查与优雅退出

16.2 把服务编排起来了,但容器编排还有三件「看不见却致命」的事:配置怎么注入、健康检查怎么区分 liveness 与 readiness、收到 SIGTERM 后怎么优雅退出。本节讲清用环境变量注入配置、两条健康线各自的取舍、以及「停止接新请求→等在途 run 收尾→关连接池→退出」四步。用 uvicorn 0.54.0 + lifespan 真发 SIGTERM,贴出完整日志序列与参数表。

10 分钟阅读
AI Agent AI Agent 工程实战 优雅退出
agent

《AI Agent 工程实战》16.2 本地编排:compose 起 API/worker/postgres/redis

上一节做出了 ResearchCopilot 的镜像,但一个镜像撑不起一个服务——它还要数据库、缓存和后台 worker。本节写 docker-compose.yml 编排这四个服务,讲清 depends_on 不等于「依赖就绪」(须配 healthcheck)、同一镜像靠 command 扮演 api/worker 两种角色。真跑 config 与 ps 起栈验证。

7 分钟阅读
AI Agent AI Agent 工程实战 Docker Compose
agent

《AI Agent 工程实战》16.1 TS 落点三:Python + Node 双栈镜像瘦身

本节是 TS 落点三的上半场:把 ResearchCopilot 打成 Python + Node 双栈镜像。用多阶段构建分别产出 TS 前端产物与 Python 依赖,只把产物拷进运行时镜像;再叠加 .dockerignore、--no-cache-dir、slim 基础镜像与 digest 固定四个瘦身杠杆。Dockerfile 在本机真构建,贴出镜像体积、分层与容器内验证的真实输出。

8 分钟阅读
AI Agent AI Agent 工程实战 Docker 多阶段构建
agent

《AI Agent 工程实战》15.3 审计与合规:不可篡改审计日志

本节讲清审计日志与普通日志的区别:普通日志可丢可采样,审计日志必须完整、必须能证明没被改过。用追加式加哈希链实现审计日志,每条记录带前一条的哈希,改任何一条都会让链断掉。真跑:写 5 条记录、校验链完整、篡改中间一条再校验,打印「第 N 条校验失败」,并给出审计字段表与保留策略表。

9 分钟阅读
AI Agent AI Agent 工程实战 审计日志
agent

《AI Agent 工程实战》15.2 输出侧:敏感信息、越狱与幻觉引用校验

本节给 ResearchCopilot 补上输出侧三道关:① 敏感信息用正则加结构化检测,命中就脱敏或拒答,并讨论误伤;② 越狱与不当内容靠独立于模型的检查层,不指望提示词;③ 幻觉引用校验把每条引用回语料核对(存在吗?支持吗?)。真跑三条答案,打印三道关各自的判定与最终处置,并给出校验项清单表。

10 分钟阅读
AI Agent AI Agent 工程实战 输出护栏
agent

《AI Agent 工程实战》15.1 输入侧:提示注入与越权工具拦截

本节给 ResearchCopilot 立起输入侧护栏:先讲清 Agent 特有的四个注入面,重点剖析检索文档里的间接注入为何最危险,再落分层防御——内容与指令分离、工具白名单与参数校验、危险动作人审、长度与频率限制。用一段自造的含注入指令假文档,真跑无防护版(删除真被执行)与有防护版(注入被当资料、危险工具被拦)两次轨迹。

11 分钟阅读
AI Agent AI Agent 工程实战 提示注入
agent

《AI Agent 工程实战》14.3 吞吐与并发压测:找容量上限与拐点

用纯标准库 asyncio 写一个极简压测器(固定并发、固定请求数,统计 QPS/P50/P95/错误率),对第 8 章的并发受限服务跑 4 档并发。真跑显示 QPS 在并发 8 附近见顶(110→176 后不再涨),延迟却从 45ms 涨到 224ms,拐点清晰;再加请求超时后 QPS 会虚高而错误率飙到 87%,并给出容量规划余量。

11 分钟阅读
AI Agent AI Agent 工程实战 压测
agent

《AI Agent 工程实战》14.2 成本优化:缓存、路由、小模型降级 + 评测兜底

成本优化三招:缓存命中即零模型成本、按难度路由分流、上下文瘦身。本节给路由写判定规则并真跑对比「全用强模型」与「按路由分流」:100 条请求(简单/复杂各半)总成本从 1.200 降到 0.738 美元、降到 0.61 倍,平均得分只掉 0.012,并强调任何降本改动都必须过第 12 章的评测兜底。

12 分钟阅读
AI Agent AI Agent 工程实战 成本优化
agent

《AI Agent 工程实战》14.1 延迟剖析:模型/检索/工具各占多少

Agent 的延迟结构跟普通 Web 服务完全不同,大头在模型调用而非 CPU。本节给一次 run 的模型、检索、工具、序列化四个阶段分别计时,真跑打印各阶段耗时与占比表,再实测「同步阻塞拖垮异步服务」:在 async 路由里调同步 IO 会让并发 5 个请求的墙钟从 201ms 涨到 1029ms。

10 分钟阅读
AI Agent AI Agent 工程实战 延迟剖析
agent

《AI Agent 工程实战》13.3 告警与 on-call:从 trace 到告警演练

告警要少而准:给出覆盖成功率、P95 延迟、单 run 成本、工具错误率、队列积压的规则表,讲 SLO 与错误预算(99% 成功率每月可消耗多少失败)与连续窗口门槛为何能压噪声。真跑一个极简告警求值器,喂正常与劣化两段序列,打印触发判定;末尾给从告警定位到具体 run 与工具的演练脚本。

10 分钟阅读
AI Agent AI Agent 工程实战 告警
agent

《AI Agent 工程实战》13.2 指标与看板:延迟/成功率/成本/工具错误

把 13.1 的 span 数据聚合成四类指标:延迟分位(P50/P95/P99)、成功率、每 run 成本、按工具名分组的错误率,讲清平均值为何被长尾骗、直方图与摘要的差别、以及 run_id 当标签会炸掉时序库的基数问题;给出四块看板布局。真跑 200 次模拟 run,打印分位表与错误工具 Top 榜。

11 分钟阅读
AI Agent AI Agent 工程实战 指标
agent

《AI Agent 工程实战》12.3 CI 质量门:分数下降即拦截

评测跑完只打印一张表,不会拦住任何东西。本节把评测变成质量门:与基线比对,总体指标掉超阈值、或某条样本由 PASS 变 FAIL,就让流水线 exit 1。真跑先验证「与基线持平」退出码 0,再注入「关掉引用产出」的退化使质量门失败退出码 1,打印逐样本差异,最后给出 GitHub Actions 接入形态(注明未在本机执行)。

10 分钟阅读
AI Agent AI Agent 工程实战 质量门