Agent-Computer Interface

对 agent 而言,工具接口设计不是附属细节,而是系统能力的一部分。

什么是 ACI

ACI(agent-computer interface)可以理解为:agent 如何理解、调用并组合外部工具的接口层。它对应人机交互中的 HCI,但服务对象从人变成了模型。

building-effective-ai-agents 的重要提醒是:很多 agent 的上限,不由模型参数量决定,而由工具接口是否清晰、自然、抗误用决定。

好的 ACI 长什么样

  • 描述清晰:工具用途、参数、边界、异常情况都写明。
  • 格式自然:尽量使用模型熟悉的文本 / 代码格式,避免额外转义和计数负担。
  • 边界明确:相似工具之间的职责不要重叠模糊。
  • 容错内建:通过参数设计减少误操作空间,也就是 poka-yoke。

为什么工具格式很重要

从软件工程视角看,“返回 diff”与“返回完整文件”也许只是不同表示法;但对模型来说,难度可能完全不同。凡是要求模型做额外精确 bookkeeping 的格式,例如:

  • 预先写对 diff 行数;
  • 在 JSON 中转义大量代码;
  • 同时维护多个隐含约束;

都会显著增加出错概率。

因此,一个常见原则是:让输出格式尽量贴近互联网中自然出现的文本形态。

how-we-built-our-multi-agent-research-system 进一步补充了另一层:除了格式本身,tool selection 也必须被显式教会。如果 agent 不先审视当前可用工具,不理解每个工具的适用边界,就算模型再强,也可能在一开始就走错搜索空间。

设计方法

可以把工具说明当作写给团队里初级工程师的 docstring:

  • 它是做什么的;
  • 什么时候该用,什么时候不该用;
  • 参数分别代表什么;
  • 常见误用是什么;
  • 有没有示例输入输出。

如果人类读完都需要停下来想一会儿,模型大概率也会困惑。

测试方法

ACI 不是写完就算,它需要像产品接口一样被迭代:

  • 用多组真实样例测试工具调用;
  • 观察模型最常犯的错误;
  • 调整参数命名、描述和输出格式;
  • 再次测试,直到误用显著下降。

Anthropic 在 SWE-bench coding agent 上的经验甚至是:优化工具花的时间比优化总 prompt 更多。

而在 how-we-built-our-multi-agent-research-system 中,他们甚至让 agent 反复试用 MCP 工具并改写工具描述,最终降低后续 agent 的任务完成时间。这说明 ACI 不只是手工文档工作,也可以进入 agent 驱动的迭代闭环。

一个典型案例

文章提到,相对路径工具在 agent 离开根目录后容易出错;改成始终要求绝对路径后,工具使用稳定性明显提升。这个例子说明:很多所谓“模型能力问题”,其实是接口设计问题。

scaling-managed-agents-decoupling-the-brain-from-the-hands 则把 ACI 再向下推进一层:当 sandbox、MCP 服务、手机或其他执行环境都统一抽象成 execute(name, input) → string 时,agent 面对的是一个更稳定的“手的接口”。这类抽象并不降低复杂度本身,但能降低系统边界的脆弱性。


来源:building-effective-ai-agents · how-we-built-our-multi-agent-research-system · scaling-managed-agents-decoupling-the-brain-from-the-hands 相关页面:agentic-systems · multi-agent-systems · long-horizon-agents · managed-agents · anthropic