CCA-F 练习题库· Tool Design & MCP Integration
某个 agent 经常执行一个两步序列:先调用 get_property_details(property_id) 找到地址,然后把该地址传给 get_neighborhood_info(address)。这种链式调用增加了延迟和失败率。应该如何改进工具设计?
- A把两者合并为一个 get_all_property_data 工具,一次返回房产与周边社区的全部字段。
- B改进 prompt,加入更明确的指令,让 agent 每一次都能更可靠地把地址复制到下一步。
- C修改 get_neighborhood_info,使其直接接受 property_id 并在内部解析出地址。
- D创建一个中间层的 helper 工具,负责接收详情响应,并把其中的地址交接给下一次工具调用。
正确答案:C
解析
从 get_property_details 流向 get_neighborhood_info 的地址,只是一个纯机械性的中间值;强迫 LLM 在两次调用之间搬运它,既增加了一次往返(延迟),也增加了抄错或幻觉出地址的机会(失败率)。
- C从根因上解决了问题:让 get_neighborhood_info 接受 property_id 并在内部解析出地址,既去掉了 LLM 的编排步骤,又让每个工具保持单一职责。
- B只是略微提升可靠性,无法消除额外的往返,也无法消除结构性的脆弱;
- D保留了同样的链式调用,还增加了表面积。
- A同样打断了链式调用,但把两项不同的能力过度合并,并导致过度取数,因此 C 是严格更优、更有针对性的设计,也是唯一无歧义的正确答案。
延伸阅读
本题为本站自有原创练习题,非任何官方考试内容;解析对照 Anthropic 公开文档撰写, 如与最新文档不符请以官方为准。想在限时环境下检验水平,可参加 模拟考(题目与本页题库不重叠)。