← 返回信息流
GitHub 热榜GitHub Trending · 日·1 小时前

Agent-Native:构建原生智能体应用的框架

原标题:BuilderIO/agent-native
TypeScript856 stars+172 今日

速览

该项目旨在解决传统应用架构难以原生支持复杂智能体交互的问题,通过提供标准化的构建模块,帮助开发者更高效地创建具备自主决策能力的智能体应用。它特别适用于需要集成多智能体协作或复杂工作流场景的开发需求。

AI 深度解读

这是什么

Agent-Native 是由 BuilderIO 推出的开源框架(主语言 TypeScript,GitHub 星标 856+),旨在构建能够真正“嵌入”应用内部运作的智能代理(Agents),而非仅仅作为聊天机器人旁路存在。

该框架的核心理念是“Agent-Native”(代理原生),即代理(Agent)与用户界面(UI)在系统中拥有平等的地位。它提供了一套原语(Primitives),让开发者能够构建产品级的代理软件,实现代理与 UI 之间的双向同步、实时协作以及状态共享。

解决的问题

传统 AI 应用开发通常面临以下痛点:

  1. UI 与 Agent 割裂:大多数应用要么拥有富交互 UI 但缺乏智能,要么拥有强大的 Agent 但仅通过聊天界面交互,难以兼顾两者。
  2. 状态同步复杂:在多人协作或人机协作场景下,维护 UI 状态与 Agent 状态的一致性极其困难,尤其是涉及 CRDT(冲突-free 复制数据类型)合并时。
  3. 集成碎片化:连接不同的 MCP(Model Context Protocol)主机、A2A(Agent-to-Agent)协议、以及多种模型 SDK 需要大量的定制开发,缺乏统一的标准接口。
  4. 锁定风险:许多框架绑定特定的数据库或托管平台,导致迁移成本高。

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 产品。

上手指南

  1. 安装 CLI
    npx @agent-native/core@latest create my-platform
    
  2. 进入项目并安装依赖
    cd my-platform
    pnpm install
    
  3. 启动开发服务器
    pnpm dev
    
  4. 选择模板:CLI 会提供多选择器,你可以选择包含 Mail、Calendar、Forms 等多个应用,它们将自动配置共享认证和路由。
  5. 部署
    npx @agent-native/core@latest deploy
    
    所有应用将部署在同一域名下,通过路径区分(如 /mail, /calendar)。

资源

查看原文 →github.com