返回
Kevin Riedl

8 分钟 阅读 · 2026年8月18日
最近审核

下一篇
图片在你的设备上生成,不连接 Instagram。文章链接会复制到剪贴板,供链接贴纸使用。

AI 智能体能用你的产品,还是只能读到它?

被智能体读懂,和被智能体使用,是两个不同的项目,而几乎所有团队只做了前一个。可读,是指助手能总结你、引用你。可用,是指它能代表某个具体的人在你的产品上完成一项任务,并且在该被拦住的时候能被拦住。

后者基本上不是模型问题。它是授权、身份和错误语义的问题,所以它落在工程手里,而不是市场手里。

想让智能体在你的产品上真正完成一项任务,同时边界还守得住?

 聊聊这个接口

两个不同的问题

可读可用
智能体做什么抓取、解析、引用、归属认证、调用、改变状态、回报结果
接口HTML、Markdown 镜像、llms.txt、JSON-LD带 schema 的工具、身份、权限、审计
失败形态你在答案里缺席发生了本不该发生的事
出错的代价失去注意力失去数据、金钱或信任

最后一行正是第二列耗时更久的原因。可读性的 bug 让你少一次引用。授权的 bug 让你多一次事故,所以这项工作的节奏,取决于你能多有把握地说不。

如果第一列还没做完,就先从那里开始。我们的智能体可读网站指南讲的就是这个,而且工作量只是一小部分。

“可用”实际要求什么

一个智能体能操作的工具接口需要五样东西,而其中有意思的那几样并不是 API 本身。

  • 不属于智能体自己的身份。智能体是代表某个用户或某个租户在行动。如果你的 token 无法表达“这个智能体,代表这个人,在这个权限范围内,到这个时间为止”,那么实际上每一次调用都是管理员调用。
  • 在数据层做授权。在 prompt 里过滤不是访问控制。边界应该放在查询执行的地方,这样一句有说服力的指令就没法把它撑开。
  • 幂等性。智能体会重试。它会在自己读错的超时上重试,也会在自己没看懂的部分响应上重试。任何改变状态的调用都需要一个键,让第二次尝试变成空操作。
  • 模型能据此行动的错误语义。一个只说“请求无效”的 400 会造成重试循环。一个说明哪个字段出错、期望什么形状的 400,会换来一次修正后的调用。这是把文档当成控制面来用。
  • 可发现性。总得有东西告诉智能体这些工具存在、代价多少、是干什么的。这正是 MCP 和公开发布的 agent skills 在做的事。

MCP 该管什么,不该管什么

MCP 给了你一种把工具和资源暴露给模型的标准方式,它是正确的传输层。它不是授权模型,而把它当成授权模型,是这个领域里最常见的错误。协议承载你的决定,但不替你做决定。

它下面那些设计问题还是老问题。这次调用是给哪个租户的。这个权限范围能看到该租户的哪些记录。谁批准一次写入。要记录什么,才能在事故之后把过程还原出来。这两半我们都写过详细的:企业级 MCP 授权架构讲多租户参考设计,MCP 安全边界讲为什么只有在数据层强制执行才守得住。

Agent skills 位于工具之上,作为指令层:什么时候用哪个工具、内部规则是什么、什么绝对不能做。没有 skills 的工具会被用错;没有工具的 skills 只是建议。我们把自己的 skills 作为带校验和的静态文件公开,任何人都能读到我们对自己的智能体说了什么。

一个不需要信仰的推进顺序

你不需要相信智能体流量会变大,也能证明前两步值得做,因为它们成本低,而且对人类同样有回报。

  1. 先做只读工具。搜索、查询、状态。没有写入,没有需要设计的审批流程,而且它能在真实条件下把身份和限流跑起来。
  2. 把地图发布出去。一个 MCP 端点,加上诚实描述这些工具的 skills,包括它们会拒绝什么。
  3. 一个写入操作,放在审批之后。挑最不危险的那个状态变更,加上幂等键,并在前面放一道人工确认。把一切都记录下来。
  4. 按证据放宽。只在日志显示智能体一贯正确的那些操作上撤掉审批关卡,其他地方一律保留。

在一个结构清晰的 API 上,第一步和第二步是几天的工作量,而且立刻就有用,因为同样的 schema 和错误信息也会让你自己的集成更省事。第三步才是真正的设计工作所在。

诚实的那部分

今天没有人能告诉你有多少收入是通过智能体来的。谁给你一个数字,谁就是在猜,而我们不替你猜。

能站得住脚的是这场下注的形状。只读接口成本低,标准正在收敛,而且即便智能体流量一直很小,这些工作也没有白做,因为带类型的工具、真实的授权边界和机器可读的错误,本来就是一个成熟 API 应该具备的东西。我们不会做的是:围绕一个还没证明自己的渠道去重建产品。先做那部分无论如何都有用的工作。

常见问题

智能体可读的产品和智能体可用的产品有什么区别?
可读是指助手能抓取、解析、引用并归属你的内容。可用是指它能以某个具体用户的身份认证、调用工具、改变状态,并在该被拒绝时被拒绝。前者是发布问题,后者是授权与身份问题。
有一个 MCP 服务器,就足以让产品对智能体可用吗?
不够。MCP 是暴露工具和资源的传输层,它承载你的授权决定,而不是替你做决定。租户范围、数据层权限、写入审批和审计日志,都必须存在于它之后。
为什么智能体需要幂等键?
因为智能体会重试,包括在它读错的超时上、以及它没看懂的部分响应上重试。如果没有一个让第二次尝试变成空操作的键,一次重试就会变成一笔重复的订单、消息或扣款。
我们能直接把现有的 REST API 暴露出去吗?
通常可以,但需要两处改动。错误必须说明哪个字段出错、期望什么,这样模型才能自我修正而不是打转。另外权限范围必须能表达“智能体代表某个用户在行动”,而不是一把什么都开着的密钥。
该允许智能体写生产环境吗?
最终可以,而且要收得很窄。先只读,然后把一个低风险写入放到人工审批之后,配上幂等性和完整日志,只在日志显示行为一贯正确的地方才撤掉这道关卡。
现在投入这件事是不是太早?
如果是整体重建,太早。如果是只读工具和公开 skills,不早,因为带类型的工具、真实的授权边界和机器可读的错误,无论智能体流量是否增长,都会改善你自己的集成。

最终思考

可读是一个发布问题,靠生成干净副本、放对的抓取器进来,基本就解决了。可用是一个工程问题,它的上限取决于你能多精确地说不。

先把只读接口做出来,因为它无论如何都有回报。然后围绕身份、数据层授权、幂等性和审计去设计写入路径,并按证据而不是按乐观情绪去放宽它。

被机器读到,并被引用

答案引擎无法引用它取不到、解析不了、也归属不到你名下的东西。Wavect 会在你现有的技术栈里修好智能体访问、机器可读镜像、结构化数据和实体身份,然后让产品不只是可读,而是可被智能体使用。

相关服务路径:

只收重要内容

关注与你相关的内容

每当我们发布新文章,你会收到一封简短邮件。你可以关注整个博客,也可以只选感兴趣的主题。

你希望接收哪些内容?
选择主题

免费、双重确认、不使用跟踪像素。

返回
Kevin Riedl

8 分钟 阅读 · 2026年8月18日
最近审核

下一篇

通过邮件获取新文章

我们发布时给你一封简短邮件。免费,不做跟踪。

免费、双重确认、不使用跟踪像素。