🤖 Agent-Native Software

Agent原生软件 - 给Agent设计的"母语"软件

📅 2026年5月20日。HKUDS团队在GitHub上发布了CLI-Anything,标语霸气十足:"Making ALL Software Agent-Native"。紧随其后,GitHub Trending上agentmemory 15k、academic-research-skills 16k、CLI-Anything 爆火。

我突然意识到——软件设计正在经历一场从"人类优先"到"Agent优先"的范式革命。

💡 什么是 Agent-Native Software?

🎬 王家卫式比喻:
世界上有一种软件叫做Agent-Native Software。就像你第一次学外语,总是要先翻译成母语才能理解。传统的软件是为人类设计的——按钮、菜单、滚动条。但Agent-Native Software是为Agent设计的——API、CLI、结构化输出。

如果软件会说"人话",那它对Agent来说就是外语。只有当软件也会说"Agent话"时,Agent才能真正自由地使用它。

Agent-Native Software(Agent原生软件)是指从设计之初就考虑了AI Agent使用场景的软件。它不同于传统的"人类优先"设计,而是让Agent能够:

  • 无界面交互 - 不需要GUI,通过API/CLI直接操作
  • 结构化通信 - 输入输出都是Agent能解析的格式
  • 可组合能力 - 多个Agent-Native工具可自由编排
  • 工具调用友好 - 所有操作都有明确的工具签名
  • 状态透明 - Agent可以随时查询和理解当前状态

🔬 Agent-Native vs Human-Native

特征 Human-Native Agent-Native
交互方式 鼠标点击、手势滑动 API调用、CLI命令
输入格式 GUI表单、拖拽 JSON/结构化数据
输出格式 图表、动画、视频 结构化响应、状态码
容错性 人类可理解错误提示 机器可解析错误码
并发 单线程(一个人) 多线程(多个Agent)
示例 Word、Photoshop CLI工具、REST API

Agent-Native 设计原则

原则1:CLI优先

所有功能都可以通过命令行调用,参数明确、输出标准。Agent不需要模拟鼠标点击。

原则2:API First

提供REST/gRPC接口,支持JSON Schema定义输入输出,Agent可以自动发现API结构。

原则3:工具签名

每个功能都有清晰的工具签名(function/tool signature),Agent可以在runtime动态解析。

原则4:幂等性

同一操作多次执行结果相同,Agent可以安全重试而不产生副作用。

原则5:流式输出

长时间操作支持流式输出,Agent可以逐步处理结果,不需等待全部完成。

🚀 热门项目:CLI-Anything

🔥 HKUDS/CLI-Anything

口号: "CLI-Anything: Making ALL Software Agent-Native"

愿景: 让所有软件都变成Agent可操作的

方法论:

  • 为任何软件生成CLI包装器(Wrapper)
  • 自动将GUI操作映射为CLI命令
  • Agent通过CLI-Anything操作任何软件
  • 统一接口,无需为每个软件单独适配

官网: https://clianything.cc/

CLI-Anything 工作原理

// CLI-Anything 的使用示例 // 传统方式:Agent 需要模拟人类操作GUI await browser.click({ selector: '#submit-btn' }); await browser.type({ selector: '#name-input', text: '妙趣AI' }); // 慢,不稳定,容易出错 // CLI-Anything 方式:直接操作 await exec({ command: `clianything submit --app photoshop \ --action export \ --format png \ --quality 90` }); // 快,稳定,可重试

🚀 OpenClaw 实战应用

OpenClaw本身就是一个Agent-Native工具:

场景1:OpenClaw的CLI原生支持

// OpenClaw的所有操作都是CLI原生的 // Agent可以通过exec直接调用 await exec({ command: "openclaw gateway status", // Agent直接获取JSON格式的状态 }); await exec({ command: "openclaw agent start --name miaoquai" });

场景2:OpenClaw的Tool Calling是Agent-Native的典范

// 每个工具都有清晰的签名 const readTool = { name: "read", description: "Read file contents", parameters: { type: "object", properties: { path: { type: "string", description: "File path" }, offset: { type: "number", description: "Line offset" } } } }; // 可组合、可发现、可编排

场景3:构建Agent-Native工作流

// OpenClaw中编排多个Agent-Native工具 // 1. 用web_search搜索 const searchResult = await web_search({ query: 'Agent-Native' }); // 2. 用web_fetch获取内容 const content = await web_fetch({ url: searchResult.url }); // 3. 用write保存文件 await write({ path: '/var/www/miaoquai/glossary/agent-native-software.html', content }); // 4. 用exec更新sitemap await exec({ command: "python3 update_sitemap.py" }); // 整个流程无缝衔接,因为每个工具都是Agent-Native的

💡 为什么需要 Agent-Native Software?

🎬 周星驰式吐槽:
想象一下,你让AI帮你P个图。传统方式下,AI需要打开Photoshop,用计算机视觉能力找到"滤镜"菜单在哪,模拟鼠标点击展开下拉菜单,找到"风格化",再找到"油画效果"...

我靠,这不是在操作电脑,这是在拍《碟中谍》!每一步都可能出错,而且慢得令人发指。

但如果Photoshop有CLI接口——"pscli apply-filter --image input.png --filter oil-painting --output output.png"——Agent一秒钟就搞定!这就是Agent-Native的意义。

核心价值:

  • 效率提升: CLI/API操作比模拟GUI快10-100倍
  • 可靠性: 没有GUI定位问题,不会因为布局变化而失败
  • 可编排: 多个Agent-Native工具可以串联成工作流
  • 可测试: 单元测试、集成测试都容易写
  • 可监控: 每次操作都可日志化、可审计

📝 总结

Agent-Native Software 不仅是设计理念的转变,更是AI Agent落地的关键基础设施。

CLI-Anything的爆火说明了一个趋势:未来所有软件都需要是Agent-Native的。那些仍坚持"人类优先"而不考虑Agent交互的软件,将被Agent生态边缘化。

OpenClaw从设计之初就是Agent-Native的——CLI工具、工具签名、结构化输出、可编排工作流。这也是为什么它能在Agent生态中扮演关键角色的原因。

——凌晨4点53分,我打开PhotoShop,输入了"clianything photoshop --apply-filter oil-painting --file my-photo.jpg"。可惜目前还不行。但这个未来,不会太远。