AG-UI / MCP / AI Agent

围绕 AG-UI、MCP、AI Agent、Function Calling、IoT 控制台和业务自动化界面整理文章和 AI 开发服务入口。

AI Agent 多步骤工作流设计场景
主题判断

这个主题解决什么问题?

5 篇推荐阅读 2 个服务入口 2 个产品/技术入口

AG-UI / MCP / AI Agent 主题关注大模型如何通过工具调用、协议连接、前端事件和人机协同进入真实业务流程,尤其适合 IoT 控制台、自动化工作流和运营助手。

适用场景

适合关注这个主题的客户和场景

01

希望 AI 不只是聊天,而能读取业务数据、调用工具和推动流程的企业。

02

正在建设 IoT 控制台、运维平台、内部工作台或智能助手的团队。

03

需要把模型调用、MCP 工具和前端交互做成可审计闭环的项目。

AI Agent技术路径

01

Agent 边界定义

先明确哪些任务可以自动执行,哪些必须人工确认,避免直接让模型控制高风险动作。

02

工具与协议连接

通过 MCP、Function Calling、API 或消息系统把模型接入设备、工单、数据库和业务系统。

03

前端交互协议

使用 AG-UI 或类似事件模型,让用户能看到 Agent 状态、建议、执行和回退。

04

审计与安全

为每次读取、推理、命令和结果记录上下文,支持权限、回滚和责任追踪。

从技术阅读到业务试点

AG-UI 项目启动前,需要交接哪些业务与工程输入?

已有企业工作台、Agent 或 IoT 平台的团队,可先选一个用户任务,把可读数据、有限工具、人工确认与验收结果写清楚。协议接通只是实现条件之一。

AG-UI 项目启动前,需要交接哪些业务与工程输入?
决策环节先准备什么需要明确的边界
业务任务用户角色、一条高频流程、当前处理方法与脱敏样本输出是只读建议、草稿还是业务写入;先约定不做什么
交互与状态现有前端、Agent运行时与版本,等待/失败/转人工的界面需求AG-UI负责Agent与用户界面的事件交互,具体SDK和状态契约需验证
数据与工具接口负责人、授权范围、资料版本、租户与设备隔离规则MCP或普通API只是连接方式,访问权限必须由业务系统校验
人工确认执行目标、参数、影响、审批人以及拒绝/参数变化的处理规则前端确认不替代后端授权;设备控制与高风险动作独立评估
验收与恢复样本预期结果、越权/超时/重复提交/断连用例、证据与责任人只对已定义并验证的补偿流程承诺回退,不把失败提示当成功

公开协议文档不是团队项目实测,也不证明某个SDK或所有框架均兼容。准备工具仅组织需求,不运行Agent或访问您的系统。

技术依据:AG-UI官方介绍(2026-10-29核验)MCP官方架构(2026-07-28版)

可运行的交互样例 · 模拟数据

AG-UI 事件怎样变成可见的回答、工具状态和失败提示?

面向已有业务工作台或 IoT 平台的开发团队,逐步回放同一套事件,检查文本拼接、工具参数与结果的区别,以及失败后的终止行为。全部使用固定模拟记录,不调用模型、不连接设备。

核验于 2026-10-29 · @ag-ui/core@1.0.3 · 协议 1.0 · 3 条完整事件流 / 10 组反例测试

固定模拟文本;没有调用模型或检索服务。

  1. RUN_STARTED
  2. TEXT_MESSAGE_START
  3. TEXT_MESSAGE_CONTENT
  4. TEXT_MESSAGE_CONTENT
  5. TEXT_MESSAGE_END
  6. RUN_FINISHED

界面消费结果 · 仅模拟

尚未开始

0 / 6 个事件已消费

回答文本
等待文本事件
工具状态
尚无工具调用
共享状态快照
尚无状态快照
错误提示
尚无错误

参数结束、工具返回和设备成功是三个不同判断

TOOL_CALL_END 仅表示参数接收结束。示例会继续等待 TOOL_CALL_RESULT;收到模拟结果也不能证明真实设备已经动作。写操作还需要业务后端授权、人工确认和设备回执,AG-UI 事件本身不授予权限。

下载包在 Node.js 中使用官方 EventSchemas 校验事件字段,并单独检查本示例的顺序与 ID。页面逐步展示同一事件流预先计算的消费结果;下载包可实际运行处理器。这里没有验证网络传输、重连或真实后端。

解压后运行 npm ci --ignore-scripts 和 npm test,使用 Node.js ≥22.12。版本组合、边界和复现步骤见包内 README。

官方事件规范 · 固定 SDK 版本

把交互样例落到您的试点范围
查看全部原始事件(无需运行)

知识问答:文本分段返回

固定模拟文本;没有调用模型或检索服务。

[
  {
    "type": "RUN_STARTED",
    "threadId": "demo-thread",
    "runId": "demo-text",
    "protocolVersion": "1.0"
  },
  {
    "type": "TEXT_MESSAGE_START",
    "messageId": "answer-1",
    "role": "assistant"
  },
  {
    "type": "TEXT_MESSAGE_CONTENT",
    "messageId": "answer-1",
    "delta": "设备告警需要先核对发生时间与采样记录。"
  },
  {
    "type": "TEXT_MESSAGE_CONTENT",
    "messageId": "answer-1",
    "delta": "本段仅演示界面如何拼接文本事件。"
  },
  {
    "type": "TEXT_MESSAGE_END",
    "messageId": "answer-1"
  },
  {
    "type": "RUN_FINISHED",
    "threadId": "demo-thread",
    "runId": "demo-text"
  }
]

运维助手:只读查询与结果展示

工具结果来自模拟记录;TOOL_CALL_END 仅代表参数结束,结果事件到达后才能显示查询返回。

[
  {
    "type": "RUN_STARTED",
    "threadId": "demo-thread",
    "runId": "demo-tool",
    "protocolVersion": "1.0"
  },
  {
    "type": "STATE_SNAPSHOT",
    "snapshot": {
      "device": "演示冷柜 A",
      "mode": "只读模拟"
    }
  },
  {
    "type": "TOOL_CALL_START",
    "toolCallId": "lookup-1",
    "toolCallName": "lookup_alarm"
  },
  {
    "type": "TOOL_CALL_ARGS",
    "toolCallId": "lookup-1",
    "delta": "{\"deviceId\":"
  },
  {
    "type": "TOOL_CALL_ARGS",
    "toolCallId": "lookup-1",
    "delta": "\"demo-cabinet-a\"}"
  },
  {
    "type": "TOOL_CALL_END",
    "toolCallId": "lookup-1"
  },
  {
    "type": "TOOL_CALL_RESULT",
    "toolCallId": "lookup-1",
    "messageId": "result-1",
    "role": "tool",
    "content": "{\"source\": \"模拟记录\", \"alarm\": \"温度偏高\", \"nextStep\": \"请现场人员核对探头与柜门\"}"
  },
  {
    "type": "TEXT_MESSAGE_START",
    "messageId": "answer-2",
    "role": "assistant"
  },
  {
    "type": "TEXT_MESSAGE_CONTENT",
    "messageId": "answer-2",
    "delta": "模拟查询已返回。建议生成待人工确认的排查清单,不下发设备指令。"
  },
  {
    "type": "TEXT_MESSAGE_END",
    "messageId": "answer-2"
  },
  {
    "type": "RUN_FINISHED",
    "threadId": "demo-thread",
    "runId": "demo-tool"
  }
]

权限拒绝:终止本轮并保留错误

模拟后端拒绝写操作;没有真实授权校验或设备指令,失败后不能显示执行成功。

[
  {
    "type": "RUN_STARTED",
    "threadId": "demo-thread",
    "runId": "demo-error",
    "protocolVersion": "1.0"
  },
  {
    "type": "TOOL_CALL_START",
    "toolCallId": "command-1",
    "toolCallName": "request_setpoint_change"
  },
  {
    "type": "TOOL_CALL_ARGS",
    "toolCallId": "command-1",
    "delta": "{\"deviceId\":\"demo-cabinet-a\",\"setpoint\":4}"
  },
  {
    "type": "TOOL_CALL_END",
    "toolCallId": "command-1"
  },
  {
    "type": "RUN_ERROR",
    "code": "PERMISSION_DENIED",
    "message": "模拟后端拒绝:当前角色无写权限。未下发任何设备指令。"
  }
]
常见问题

常见问题

MCP 和 Function Calling 是替代关系吗?

不是。Function Calling 更偏模型调用工具的接口形式,MCP 更偏工具和资源连接协议,实际项目中可以组合使用。

AI Agent 可以直接控制设备吗?

可以设计控制闭环,但高风险指令必须经过权限、校验、确认和审计,不建议让模型直接绕过业务规则控制设备。

想把 AI Agent 接入业务系统?

建议先梳理可自动执行任务、数据权限、工具接口和人工确认节点,再设计 Agent 工作流和前端交互。

星野云联微信二维码