《Effective AI Agent》条目 11: 为工具调用构建零信任的防御性校验
背景动机 Gemini CLI 曾出现一个典型故障:WebSearchTool 遇到带未转义引号的 query,触发 JSON 解析异常,直接导致 CLI 崩掉。根因很简单:缺少输入校验与清洗。 在 Agent 系统里,这类问题会被放大。LLM 生成的 tool args 本质上就是外部输入。不经校验就进入 Shell、支付,结果就不只是报错,而是故障、甚至资损。 原理分析 系统稳不...
背景动机 Gemini CLI 曾出现一个典型故障:WebSearchTool 遇到带未转义引号的 query,触发 JSON 解析异常,直接导致 CLI 崩掉。根因很简单:缺少输入校验与清洗。 在 Agent 系统里,这类问题会被放大。LLM 生成的 tool args 本质上就是外部输入。不经校验就进入 Shell、支付,结果就不只是报错,而是故障、甚至资损。 原理分析 系统稳不...
周六带小朋友去上了两堂武术体验课。老师评价很专业也很“扎心”:柔韧性不错(芭蕾底子在那儿),但力量不够。我想只要孩子持续参与应能改善。 晚上吃过饭,她像往常一样凑过来:“爸爸,我们玩 AI 吧!” 她说的“玩 AI”,其实是我们家最近的小传统:她负责出创意,我负责把创意落到代码里(通常用 Cursor),然后我们一起试玩,一边玩一边提需求、一边迭代。 那时我抽不开身,正和老婆研究两款奶...
背景动机 很多团队说“Agent 没记忆”,其实是把两类完全不同的问题搅在一起了:一类是“我现在正在做什么”(工作记忆),另一类是“我长期知道什么/偏好什么”(长期记忆)。你不把它们拆开,工程上就会出现三种典型事故:要么上下文越滚越长、成本和延迟失控;要么为了省 token 乱压缩、结果关键细节丢了;要么任务跑到第 30 次 tool call 开始漂移,忘了最初目标。Manus 的复盘把...
背景动机 很多团队把 Agent 的性能问题,归因到“模型慢 / 工具慢 / 网络慢”。但在生产里,最常见的真实元凶其实更朴素:你在重复喂同一段上下文,却每次都让模型从零开始做 Prefill。 Manus 的复盘把这事说得很直白:如果只能选一个指标,他们会选 KV-cache hit rate,因为它同时决定延迟与成本。Agent 的工作方式决定了它比聊天更“吃前缀”:每一步 tool...
背景动机 在互联网架构里,“重试”从来不是一句 retry(3) 能解决的事。你敢对支付接口无脑重试,资损就会来;你敢对网络抖动无脑重试,体验就会烂。重试的前提不是“失败了”,而是“失败属于哪一类”。 把这个问题搬到 AI Agent 上,会更糟:Agent 不只是“发一次请求”,它会在 ReAct 循环里连续调用模型、读写文件、跑命令、改代码、跑测试——一次失败可能发生在任何层,还可能...
背景动机 在软件工程中,不可预测的接口是架构的灾难。开发者习惯于在 REST API 或 RPC 中定义严格的契约,但在构建 Agent 时,却常陷入“面向字符串编程(String-oriented Programming)”的陷阱。 过度依赖自然语言输出会导致严重的工程隐患:你无法通过编译器发现错误,只能在运行时面对 JSONDecodeError 或模型偶发的“无序”内容。放弃对字符...
背景动机 最危险的并不是模型会胡说,而是它会一直胡说下去。很多早期 Agent Demo 都把 ReAct 写成一个包着 LLM 的 while True:看起来像”自主智能”,本质是把控制权交给了不可预测的循环——难调试、难止损、还会把 Token 和算力吞成黑洞。 这不是模型”笨”,而是你把一个控制系统当成了”聊天功能”在写。互联网架构里,我们早就用有限状态机(FSM)驯服复杂流程:...
背景动机 Agent 系统最折磨工程师的地方,不是它会不会“答”,而是它怎么走到这个答案。线上事故往往不是最终回复“看起来不对”,而是某一步工具调用抖了一下、某次检索命中了脏数据、某个路由策略突然选错了分支,最后你只看见一个结果,却找不到责任步骤。 这跟当下互联网的软件架构实践是反着来的:我们做微服务默认有 trace、有日志、有回放;出了故障能复盘,修了之后能回归验证。Agent 其实...
背景动机 很多团队做 Agent,最先崩掉的不是模型能力,而是架构形态:一个“万能循环”里既要规划步骤、又要挑工具、还要记住上下文,最后 Prompt、工具调用、状态更新全缠在一起,形成典型的意大利面条系统。你想换一种规划策略、想把执行放进沙箱、想加长期记忆,都会变成“牵一发动全身”的大手术。 更糟的是,这种耦合会直接毁掉可观测性与可治理性:出了问题你没法明确归因——到底是规划错了、工具...
背景动机 LLM 的通用性是其最大的优势,但对于 Agent 系统架构设计而言,这往往是最大的陷阱。 开发者容易陷入“模型能力中心论”:既然 GPT-5 既懂 Python 又懂法律,为什么不把它们写在一个 Agent 里?于是诞生了“全能创业合伙人(Co-founder Agent)”这种典型的上帝智能体(God Agent)——试图在一个 Agent 中同时处理代码开发、商业计划书撰...