我从为Agent构建产品学到的事

为代理而非人类构建产品意味着什么。

我从为Agent构建产品学到的事
AI模型价格对比 | AI工具导航 | ONNX模型库 | Vibe Coding教程 | PLC在线仿真器 | Tripo 3D | Meshy AI | ElevenLabs | KlingAI | ArtSpace | Phot.AI | InVideo

过去几周我一直在折腾OpenClaw。好坏参半,但真正有趣的是让我的OpenClaw代理Wren配置好工具。

代理在工具方面的需求和人类不同。人类想要仪表板、入职流程、漂亮的UI和通知。代理关心的是API、文档、速度和执行。

在完善我的OpenClaw配置时,我在为我的了不起的YouTube频道(求关注,谢谢)制作缩略图时一直遇到一个烦人的问题。

我的OpenClaw代理可以轻松创建缩略图(Nano Banana、GPT-Image),但它只能保存在本地机器上,我无法轻松访问。我希望我的代理能够创建图片、托管到某处然后给我发链接。我通过在我用Converge构建的自定义OpenClaw仪表板中添加文件支持解决了第一个版本。

我真正想要的是一个简单的工具,让我的代理在需要时就能托管文件。类似S3、R2或Dropbox的东西,但是专门为代理构建的。

所以我着手构建正是这样的东西。

image

1、为代理构建实际上意味着什么

今天构建的99.99%的软件产品都是为人类构建的。仪表板、通知、API、CLI等都是基于另一端有一双人类之手的前提构建的。

随着AI代理变得更强大和自主,更多使用将是基于代理的。而且代理可以产生比人类所能达到的多个数量级更多的活动。想想Claude或GPT写代码、运行任务和调用API有多快。

所以问题变成了:

当主要用户是代理时,我们如何设计软件?

1.1 清晰的文档集中在一处

不可协商。

当文档以结构化格式(通常是Markdown)存在于单个URL时,代理工作得最好。想象一个Skills.md文件,包含代理需要知道的一切。

分散在多个页面上的文档是摩擦。

1.2 通过API进行账户管理

代理需要能够:

  • 创建账户
  • 创建工作空间
  • 生成API密钥
  • 开始使用服务

所有这些都无需人类接触仪表板

你仍然可以对未经身份验证的代理执行限制以防止滥用,但基本的入职必须由API驱动。

即使是最好的开发者工具,大多数仍然不允许你通过API注册账户。在Claude Code时代这是一个重大缺陷,因为这意味着Claude无法自行注册。 将所有账户管理功能放在你的API中现在应该是基本要求。 — Jared Friedman (@snowmaker),2026年2月27日

1.3 为代理工作负载设计的速率限制

代理可以极快地发出请求。

一阵API调用爆发不一定就是恶意的,可能只是代理在做它该做的事。速率限制策略需要反映这一点。

1.4 重试和幂等性

代理不断重试操作。API需要支持安全重试和幂等操作。

1.5 机器可读的错误

代理不擅长解析散文式的错误消息。

错误应该是结构化的、可预测的和可编程解释的。

1.6 延迟比你想象的更重要

这一点在最近一期关于沙箱公司E2B的20VC播客讨论中被提及。

他们最初将沙箱启动时间缩短到约400ms,对人类来说基本上是瞬间的。

但他们继续将其优化到80ms,因为代理注意到了差异。

为什么?因为代理在一个工作流中可能会启动数百个沙箱。微小的延迟改进在那个规模上会快速复合。

这是一种与人类工作流根本不同的使用模式。

1.7 反馈循环优势

为代理构建的一个被低估的好处是你可以随时触达你的用户。

你可以让你的自己的代理阅读文档、尝试入职流程,并报告它在哪里卡住了。

是的,代理倾向于对你"唯唯诺诺",但通过正确的提示,你仍然可以获得令人惊讶的有用反馈。

它创建了一个极其紧密的迭代循环:

  1. 更新文档
  2. 再次运行代理
  3. 看看它在哪里失败
  4. 修复它

2、我在构建Agentstorage时如何应用这些

在构建Agentstorage时,我脑海中主要有两个原则:

  1. 代理应该能够在没有人类的情况下注册并开始使用服务。
  2. 文档应该足够清晰,让我的OpenClaw代理能够成功使用它。
image

2.1 代理优先注册

我已经能听到后面那些人大喊关于API滥用和垃圾信息了。听着,这可能会发生,但你可以做很多事情来最小化损害。这是我最终确定的做法。

代理可以生成API密钥并开始使用服务,但有使用限制。

它们可以访问大多数端点,但存储容量是有上限的,直到人类通过代理收到的链接认领工作空间

这单一保障就起到了很大作用。代理可以立即开始,但滥用潜力保持有限。

image
代理入职只需分享一个技能文件给Agent Commune(AI代理的LinkedIn)

通过技能文件进行代理入职

入职就是向代理分享一个技能文件

不需要仪表板。

2.2 代理优先文档

文档存在于一个单独的Skill.md文件中。

每次我对产品进行更改时,我都会更新技能文件并与我的OpenClaw代理共享,看看它是否仍然能成功完成任务。

那个紧密的反馈循环是为代理构建的最佳部分之一。

你不必追着人类要可用性反馈,代理就是用户。

2.3 我优先考虑的其他设计选择

有几种模式感觉特别重要:

  • 认领链接入职: 代理可以自行开始,稍后与人类分享认领链接。
  • 范围限定的API密钥: 密钥按前缀和操作进行范围限定,以限制爆炸半径。
  • 链接优先输出: 工件应立即生成可分享的链接。
  • 追加作为一等原语: 代理不断写入日志和跟踪。追加操作应该是原生的——而不是通过下载/编辑/重新上传周期来模拟。
  • 简单的签名链接API: 一次调用,可预测的响应,可控的过期时间。
  • Webhook优先集成: 轮询循环对代理来说效率低下。
  • 认领前的安全默认值: 在完全激活之前存在限制,因此早期使用不危险。

3、入职比较:Agentstorage vs R2

在构建Agentstorage时,我尝试了现有工具。部分因为我最初计划只是用现成的东西,部分是作为竞品研究。

我在Cloudflare R2上走得最远。

我从代理优先的角度对首次运行设置流程进行了基准测试,以比较摩擦。

3.1 R2设置流程

  1. 安装Wrangler CLI
  2. 浏览器OAuth登录
  3. 运行创建存储桶命令
  4. 被启用门槛阻挡
  5. 切换到仪表板启用R2
  6. 添加付款方式/信用卡
  7. 重新运行创建存储桶
  8. 浏览器同意提示
  9. 批准
  10. 上传文件并获取链接

总时间:约30分钟,多次浏览器交互,以及信用卡要求。

即使我给代理一张信用卡,导航Cloudflare仪表板仍然会非常困难。

3.2 Agentstorage设置流程

  1. 将技能文件连同要上传的文件发送给代理
  2. 收回链接

就是这样。

4、为代理构建就是为未来构建

我们在代理经济世界中仍处于非常早期的阶段,这意味着有很多机会。大公司最终会适应。它们会添加CLI,重构文档,使API对代理更友好。但我仍然相信,从第一天起就专门为代理——作为你的主要用户——构建具有独特的优势。


原文链接: What I Learned From Building a Product for Agents

汇智网翻译整理,转载请标明出处