后记:一通百通
你跟着这本书写完的,是一个通用 harness。
给它 read / write / edit / bash,它就是一个 coding agent。 给它浏览器和搜索,它就是一个 general agent,帮你订票、查资料、盯网页。 同一个循环,同一份代码——差别只在你往注册表里装了哪些工具。
它不是企业场景里的垂直 agent。你不能把它原样搬进客服系统、风控系统、运维系统。
但请注意差别在哪。不在循环——循环一行都不用改。不在模型——模型你本来就改不了。 垂直 agent 的全部差别,是换一套 tool,换一段 system prompt。本质上是同一个东西。
拿客服 agent 举例。它的 system prompt 是:
你是 XX 公司的客服 agent,负责接待客人、解决客人的问题……
它有一些内部工具:订单详情 tool、取消订单 tool、查询 FAQ tool。
现在逐条映射回这本书:
get_order_detail——一个只读工具,schema 声明、dispatch、结果回填, 和练习 5 的read_file是同一套代码,连并行调用的安全性判断都一样;cancel_order——一个危险工具。它就是客服世界里的rm。 练习 9 你写的权限门禁(执行前确认、审计留痕)在这里不是可选项,是上线前提;search_faq——检索型工具,结果很长、要截断、占上下文, 练习 7 处理 bash 输出、练习 12 管上下文预算的那些手艺,原封不动用得上。
所以叫"一通百通":这本书教你的从来不是"怎么做一个 coding agent", 是怎么设计 tool。换一套 tool、换一段 system prompt, 就是另一个行业的 agent——而循环,还是你在练习 5 写下的那一个。
agent = LLM + tool use。剩下的,都是设计。