Agent-Native:构建原生智能体应用的框架
速览
该项目旨在解决传统应用架构难以原生支持复杂智能体交互的问题,通过提供标准化的构建模块,帮助开发者更高效地创建具备自主决策能力的智能体应用。它特别适用于需要集成多智能体协作或复杂工作流场景的开发需求。
AI 深度解读
这是什么
Agent-Native 是由 BuilderIO 推出的开源框架(主语言 TypeScript,GitHub 星标 856+),旨在构建能够真正“嵌入”应用内部运作的智能代理(Agents),而非仅仅作为聊天机器人旁路存在。
该框架的核心理念是“Agent-Native”(代理原生),即代理(Agent)与用户界面(UI)在系统中拥有平等的地位。它提供了一套原语(Primitives),让开发者能够构建产品级的代理软件,实现代理与 UI 之间的双向同步、实时协作以及状态共享。
解决的问题
传统 AI 应用开发通常面临以下痛点:
- UI 与 Agent 割裂:大多数应用要么拥有富交互 UI 但缺乏智能,要么拥有强大的 Agent 但仅通过聊天界面交互,难以兼顾两者。
- 状态同步复杂:在多人协作或人机协作场景下,维护 UI 状态与 Agent 状态的一致性极其困难,尤其是涉及 CRDT(冲突-free 复制数据类型)合并时。
- 集成碎片化:连接不同的 MCP(Model Context Protocol)主机、A2A(Agent-to-Agent)协议、以及多种模型 SDK 需要大量的定制开发,缺乏统一的标准接口。
- 锁定风险:许多框架绑定特定的数据库或托管平台,导致迁移成本高。
Agent-Native 通过统一的数据层和动作定义,解决了上述问题,让开发者可以构建既具备丰富 UI 又具备自主行动能力的复杂应用。
核心功能
1. 统一动作定义(One Action, All Surfaces)
定义一次动作(Action),即可在 UI、Agent、HTTP API、MCP、A2A 和 CLI 中复用。
export default defineAction({
schema: z.object({
emailId: z.string(),
body: z.string(),
}),
run: async ({ emailId, body }) => {
await db.insert(replies).values({ emailId, body });
},
});
这种设计确保了逻辑的一致性,无论是用户点击按钮还是 Agent 自动触发,都调用同一套后端逻辑。
2. 实时多人协作与状态同步
- 共享数据库与状态:Agent 和 UI 共享同一个数据库和状态树,任何一方的更改都会即时反映在另一方。
- CRDT 合并:支持人类与 Agent 在同一文档中同时协作,处理光标位置、选区、幻灯片状态等实时存在信息(Live Presence)。
- 上下文感知:Agent 能感知用户当前查看的内容。例如,选中文本并按
Cmd+I,即可直接指示 Agent 执行操作。
3. 多代理协作(Agents Call Agents)
- A2A 协议:支持代理之间通过 A2A 协议相互发现和交互,跨堆栈执行操作。
- 标签化调用:可以从任何应用中标记另一个代理(如
@mail),实现无缝的跨应用协作,无需复杂的 JWT 签名或 CORS 配置。
4. 后端无关性与灵活性
- 数据库无关:支持任何 Drizzle ORM 支持的 SQL 数据库。
- 托管无关:支持任何 Nitro 兼容的托管目标(包括 Serverless)。
- 模型无关:可接入 OpenAI、Anthropic (Claude)、Google (Gemini/Codex) 等任意模型栈。
5. 多形态代理表面(Three Shapes)
开发者可以选择构建三种形态的应用:
- Headless API:纯后端逻辑。
- Rich Chat:基于内置或自定义 Agent 的丰富聊天体验。
- Full Application:代理与 UI 保持同步的完整应用程序。
6. 自我改进与技能系统
- 技能与记忆:每个用户拥有独立的技能、记忆、指令、子代理和 MCP 服务器配置,数据存储在 SQL 中。
- 自我优化:Agent 可以添加功能、修复 Bug 并随时间优化 UI。
- Visual Plan & Recap:通过
npx @agent-native/core@latest skills add visual-plan命令,为 Claude Code、Cursor 等编码代理提供结构化计划文档和 PR 视觉回顾功能。
亮点 / 与同类相比
| 特性 | Agent-Native | 传统 Chatbot 框架 | 通用 AI 框架 | | :--- | :--- | :--- | :--- | | UI 与 Agent 关系 | 平等公民,双向同步,共享状态 | Agent 仅作为聊天旁路,UI 与逻辑分离 | 通常侧重 Agent 逻辑,UI 需额外集成 | | 协作能力 | 支持人类与 Agent 实时 CRDT 协作 | 不支持或支持有限 | 通常不支持实时协作 | | 集成标准 | 原生支持 A2A, MCP, AG-UI, OpenAI, Claude SDK 等 | 需自行集成各协议 | 需自行集成各协议 | | 部署架构 | 单源部署(Same-origin),多应用共享 Auth 和 Session | 通常独立部署 | 视具体实现而定 | | 开发体验 | 一次定义动作,全场景复用 | 需为不同入口编写不同逻辑 | 需编写适配器 |
独特优势:
- Workspace 模式:默认采用多应用工作区结构,支持在一个工作区中组合多个应用(如 Mail + Calendar + Forms),共享认证和状态,并通过单一路由部署。
- MCP 兼容性:不仅支持作为 MCP 客户端,还支持作为 MCP 主机,方便与 Claude Code、Cursor、VS Code 等外部工具集成。
- 模板化起步:提供完整的、可克隆的 SaaS 应用模板,而非简单的脚手架,开发者可直接 fork 并自定义。
适合谁用 / 上手
适合人群
- SaaS 开发者:希望构建具有 AI 原生特性的复杂 Web 应用,特别是需要多人协作、实时同步的场景。
- AI 应用架构师:需要统一代理与 UI 状态管理,避免技术债累积的团队。
- 独立开发者:希望通过模板快速启动一个完整的、可定制的 AI 驱动 SaaS 产品。
上手指南
- 安装 CLI:
npx @agent-native/core@latest create my-platform - 进入项目并安装依赖:
cd my-platform pnpm install - 启动开发服务器:
pnpm dev - 选择模板:CLI 会提供多选择器,你可以选择包含 Mail、Calendar、Forms 等多个应用,它们将自动配置共享认证和路由。
- 部署:
所有应用将部署在同一域名下,通过路径区分(如npx @agent-native/core@latest deploy/mail,/calendar)。
资源
- 文档:agent-native.com
- 模板画廊:agent-native.com/templates
- 社区:加入 Discord 获取帮助和交流。
- 许可证:MIT
