前两节我们讲了 Loop Engineering 的理念和构件。但有一个问题一直没展开:Agent 再能干,也得碰得到目标系统才行。
这一节我们来讨论 Agent 落地中最实际、也最容易被忽视的一个瓶颈——接口。 你设计再完美的 Loop,如果目标系统没有开放接口,Agent 就是没有手和脚的人。
3.1 两种态度,两种误区
我观察到一个很有意思的现象。大多数人对 Agent 的能力,要么过于低估,要么过于高估。
低估派的做法是:明明可以让 Agent 做的事,非要自己动手。项目里来了一个新 issue,需要分析影响范围。这类人会花 5 分钟自己看代码,而不是想到让 Agent 去做。
"这个太复杂了,Agent 做不了。" 结果是 Agent 闲着,人类在干 Agent 该干的活。
高估派正好相反:觉得 Agent 什么都能干。比如有人想让 Agent 帮他在麦当劳点一份薯条——Agent 连麦当劳的系统都进不去,怎么点?没有接口,Agent 就是废物。
3.2 以麦当劳点餐为例
用麦当劳来理解。
假设你饿了,想让 Agent 帮你点一份麦辣鸡腿堡套餐。Agent 要做什么?
- 打开麦当劳的点单系统
- 浏览菜单
- 选择套餐并下单
- 支付
- 选择取餐方式
每一步对人类来说都很简单,但对 Agent 来说,第一步就卡住了——它怎么"打开麦当劳的点单系统"?
如果麦当劳没有开放任何可编程接口,Agent 就只能用浏览器模拟点击,或者用手机模拟操作。这两种方式既不稳定,也无法实现流程的下单,结果就是——还不如你自己来操作。
要让 Agent 完成流畅的下单,必须是麦当劳提供精准的、适配的接口。这个机接口我们以前大多数是 RESTFul API,现在则是通过 CLI 或者 MCP 来提供。
但麦当劳其实提供的有 MCP 接口和 CLI 工具。有了这些,Agent 就能轻松完成——"帮我点一份麦辣鸡腿堡套餐,大份薯条,可乐去冰"。
这个例子看起来有点玩笑,但它揭示了一个严肃的问题:很多ToB 的技术性企业,接口开放程度还不如服务业的麦当劳。
3.3 企业落地为什么难
我在和很多企业交流时发现,Agent 落地的最大障碍不是模型能力不够,不是 Prompt 写不好,而是——企业系统没有接口,或者接口不适合 Agent 调用。
常见场景:
- 你想让 Agent 自动处理客户退款,但退款系统只有 Web 界面,没有 API
- 你想让 Agent 每天自动生成销售报表,但数据仓库只支持手动导出
- 你想让 Agent 帮你审批流程,但 OA 系统没有开放审批接口
这些问题不是 Agent 能力的问题,是企业基础设施的问题。你让 Agent 去调用一个不存在的接口,就像让一个没有手的人去搬东西,纯搞笑。
所以企业 Agent 化的第一步,不是写 Prompt,不是设计 Loop,而是:把接口开放给 Agent。
3.4 什么接口适合 Agent
我在 Hermes 课程里讨论 Shell Engineering 时反复强调,目前来说CLI + Skill 是最适合 Agent 的接口形式。原因有三:
第一,CLI 是结构化的。 每个命令、每个参数都有明确的定义,Agent 不需要猜测怎么调用。
第二,CLI 可以组合。 多个 CLI 命令可以串成一条流水线——"先查库存,再下单,最后发通知"——Agent 可以轻松完成。
第三,CLI 不依赖图形界面。 没有验证码,没有 CSS 选择器,没有渲染问题,纯粹的逻辑调用。
相比之下:
- RESTful API 需要 Agent 自己处理认证、拼接 URL、解析响应,出错概率更高
- MCP 是一种不错的补充,但过于复杂。
- 浏览器自动化 是最不推荐的方式,脆弱、不稳定、容易被封
所以我的建议是:优先把企业接口封装成 CLI。 如果某个系统已经有 CLI,直接给 Agent 用。如果没有,把它封装成一个 CLI 工具。
3.5 小结
这一节的核心观点很简单:
- 别低估 Agent——能用 Agent 做的,就别自己动手
- 别高估 Agent——没有接口,Agent 就是废物
- 企业 Agent 化的第一步是开放接口——CLI 优先,MCP 和 API 做补充
- 没有接口就去造一个——在外面包一层 CLI,比等系统重构快得多
回到最开始的问题:你的 Agent 能不能帮你点麦当劳?答案取决于麦当劳有没有开放接口。如果开放了,Agent 可以;如果没开放,你再怎么设计 Loop 也没用。
接口,才是 Agent 落地的第一道坎。
3.6 ■ 学点英语
| 中文 | English | 音标 | 说明 |
|---|---|---|---|
| 接口 | Interface | /ˈɪntəfeɪs/ | 系统之间通信和交换数据的标准化通道 |
| 命令行工具 | Command Line Interface (CLI) | /kəˈmænd laɪn ˈɪntəfeɪs/ | 通过终端文本命令与系统交互的程序,Agent 的最佳接口形式 |
| 表现层状态转换 | Representational State Transfer (REST) | /rɛst/ | 基于 HTTP 的 Web API 架构风格 |
| 模型上下文协议 | Model Context Protocol (MCP) | /ˈmɒdəl ˈkɒntekst ˈprəʊtəkɒl/ | AI 模型与外部工具之间的标准化接入协议 |
| 浏览器自动化 | Browser Automation | /ˈbraʊzər ˌɔːtəˈmeɪʃən/ | 通过脚本控制浏览器模拟人类操作,最不推荐的 Agent 接口方式 |
| 封装 | Encapsulate | /ɪnˈkæpsjuleɪt/ | 在已有系统外面包一层新接口,让 Agent 能调用 |
| 企业系统 | Enterprise System | /ˈentəpraɪz ˈsɪstəm/ | 大型组织内部使用的业务系统,大多缺乏开放接口 |
| 数据仓库 | Data Warehouse | /ˈdeɪtə ˈweəhaʊs/ | 集中存储企业数据的大型数据库系统 |