作者:vivo 互联网项目团队- Ding Junjie
我们围绕三大业务场景(笔记、知识库、项目管理)统一了一套可组合的 AI Agent 能力。
本文聚焦一期「Chat 模式」落地:强调 Runtime Adapter 的“协议无关、面向任意后端流”特性——只要后端能够以流式输出事件,前端即可通过统一的 Adapter 转为标准消息模型进行渲染与编排。我们以“统一消息模型 + Runtime Adapter + 前端编排”的方式,将工具调用、Agent 回合循环、事件流与 UI 交互组合在一起,并为后续历史与检查点能力预留 threadId/runId。
1分钟看图掌握核心观点👇

在产品体验上,我们遵循主流 Agent 设计范式(消息驱动、工具调用、上下文注入、可回放、可评测),并结合过往的实现风格,将复杂性由“消息模型 + 运行时适配 + 前端编排”三段式来解耦。

只列出 Chat 模式强相关的核心模块(更多细节见项目架构文档):
① 统一消息模型
② Runtime Adapter 接口
③ 前端编排(Orchestration)
④ Vue UI 组件

后端返回的是“事件”,前端消费的是“消息”。我们把差异收敛在 Adapter 层:
上层只看到标准的 AgentStreamEvent:
export type AgentStreamEvent = { threadId?: string | null runId?: string | null messages?: Message[] guardrailsFailureReason?: string }
UI 组件无须关心消息从哪里来,只负责渲染消息序列。
Chat 模式不仅是“生成一条回复”,而是“一轮内可能包含多条消息”:思考、工具调用、结果回注、继续生成……我们把“回合循环”放在 useChat 中集中处理:
与传输方式无关:只要后端发出等价事件,Adapter 统一映射,工具消息即可完整往返。
工具调用的前端形态:useAgentAction
为了让“工具”在页面内即可声明与注册,我们提供了 useAgentAction:
Chat 作为容器,暴露了消息渲染插槽与输入区控制,默认行为:
// 1) 在根组件用 AgentKit 包裹,并选择 Runtime // App.vue <template> <AgentKit :runtime="runtime"> <MyChat /> </AgentKit> </template> <script> import { AgentKit, VapdRuntimeAdapter } from '@vapd-agentkit/vue-core' exportdefault { components: { AgentKit }, setup() { const runtime = new VapdRuntimeAdapter({ // 可选:自定义 url/headers/agentId/appId/extendParams }) return { runtime } } } </script> // 2) 页面里直接用 Chat(或自定义渲染 <template> <AgentChat :labels="{ placeholder: '问点什么' }" /> </template> <script setup> import { AgentChat } from '@vapd-agentkit/vue-ui' </script> // 3) (可选)注册工具,供模型调用 // 任一组件 setup 中: import { useAgentContext } from '@vapd-agentkit/vue-core' const ctx = useAgentContext() ctx.setAction('searchDocs', { name: 'searchDocs', description: '搜索知识库', parameters: [{ name: 'q', type: 'string' }], handler: async ({ q }) => { const result = await fetch(`/api/search?q=${encodeURIComponent(q)}`).then(r => r.json()) return { hits: result.items } } })
笔记/知识库/项目管理:前端可把当前选中文段/标签/页面结构通过 addContext 合并入 agentArgs,无需更改 Runtime。

知识库agent文档/集成流程智能Agent(未来规划):把检索与聚合能力抽象为 FrontendAction,回注 ResultMessage,让 Agent 循环自动推进。
2. 集成流程,自动配置,添加节点,配置节点,验证节点,一句话帮你完成流程配置

用“消息模型 + Runtime Adapter + 前端编排”的方式,我们把 Chat 模式做成了可以“拼”的底座:
这让三类业务都能在同一套基建上继续演进。接下来,我们会补齐历史与工具事件、完善多变体交互,并把“回合对齐/评测”纳入流水线。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69912579/viewspace-3171786/ ,如需转载,请注明出处,否则将追究法律责任。