如何在分布式、多端协同的复杂场景下,构建高效的 Human In The Loop(人机回路)机制。本文详细阐述了基于 Model Context Protocol(MCP)协议的一体化解决方案,通过标准化工程设计,在各类 Agent 平台上实现了灵活、可靠的人机协同,为大模型 Agent 的实用化落地提供了关键技术参考。
一、背景与挑战
1.1 人机回路的核心内涵
Human In The Loop(人机回路)是指人类通过监督、交互参与 Agent 运行过程的协同模式,核心包含三类交互场景:
基础输入与中断:人类向 Agent 下发任务、提供上下文,或暂停、终止 Agent 活动;
疑问澄清:当 Agent 对任务上下文存在歧义时,主动向人类发起问询以补充信息;
授权确认:Agent 执行关键操作(比如:文件修改、数据访问)前,需获得人类批准后方可继续。
典型案例,比如: “AI 搜索助手”:用户触发天气问询后,Agent 若未获取具体城市信息,会通过人机回路向用户确认,待得到答复后再执行后续查询。
1.2 服务端部署的技术困境
Cline、Cursor 等终端工具的人机回路实现相对简单,因 Agent 直接运行在用户本地设备,调用 UI 交互无需复杂架构设计。但在企业级应用中,Agent 多部署于远端服务端,面临三大核心挑战:
分布式协同难题:微服务架构下,并发请求、跨节点通信导致人机交互链路断裂;
状态持久化缺失:主流 Agent 框架缺乏 LangGraph 式的 HITL 节点能力,流式响应(SSE)场景下难以保存和恢复交互状态;
多端同步复杂:Web、APP、桌面端等多终端需同步交互状态,确保人类在任意端的操作都能被 Agent 感知。
尽管 MCP 协议的 stdio Transport 因 “单进程单客” 模式易于实现,但在微服务部署后,即便引入 HTTP + SSE Transport,仍无法解决状态同步、跨节点恢复等问题,直到 Streamable Transport 出现才略有缓解,但核心痛点尚未根除。
二、基于 MCP 的解决方案
2.1 核心思路:将人类 “确认” 能力封装为 MCP 工具
MCP 协议的工具调用(tool/call)本质是 “请求 - 响应” 模式,这与人机回路的 “问询 - 答复” 逻辑天然契合。我们将人类参与抽象为一个专用 MCP 工具(send_inquiry),实现流程如下:
第一、Agent 通过 tool/call 向 MCP Server 的 inquiry 工具发送问询请求;
第二、MCP Server 挂起该请求,通过 UI 向人类展示疑问;
第三、人类提交答复后,MCP Server 恢复请求并将答复作为 tool/call 响应返回给 Agent;
第四、Agent 接收答复后继续执行后续流程。
关键技术实现
交互入口设计:在 MCP Server 所在微服务中提供 HTTP 接口,支持所有终端 UI 接入,接口仅需一个 response 参数接收人类答复;
多客关联机制:通过 ID + 哈希表实现不同 Agent 问询与人类答复的精准匹配,解决微服务多用户场景下的混淆问题;
异步通知优化:利用 MCP 的 Notification 机制,在 Agent 调用 send_inquiry 后,通过 Notification 帧实时推送问询 ID(凭条),避免同步调用导致的阻塞。
示例 MCP Notification 响应帧:
{
“method”:“notifications/progress”,
“params”:{
“meta”:{
“question”:“明天北京天气如何?”,
“inquiryId”:“a4cecc76-2fb3-41bc-97ae-e809059ad68a”,
“type”:“INQUIRY”
},
“progressToken”:1,
“progress”:0,
“method”:“notifications/progress”
},
“jsonrpc”:“2.0”
}
该帧通过 SSE 链路转发给 Agent 调用方(比如:ChatCompletions 接口),终端接收后即可渲染问询 UI,等待人类响应。
2.2 工具代理:实现全流程操作确认
为满足 “Agent 每步操作均需人类确认” 的场景,我们采用代理模式设计 MCP Proxy 服务,在原有工具调用前植入确认逻辑:
透传基础请求:MCP Proxy 将 tools/list 等查询类请求直接转发给后端 MCP Server,不干预正常流程;
拦截工具调用:当 Agent 发起 tool/call 时,MCP Proxy 先触发人机确认流程;
分支执行逻辑:人类答复 “是” 则继续调用后端工具并返回结果,答复 “否” 则直接返回 “人类拒绝执行” 的文本响应。
该方案无需修改原有 Agent 和工具服务架构,仅通过代理层即可实现全流程确认,具备极强的兼容性和可扩展性。
2.3 YOLO 模式的决策机制
YOLO(You Only Look Once)模式允许 Agent 自动执行需人类确认的操作,无需人工干预,核心解决 “谁来决策” 和 “如何决策” 两大问题:
决策主体选择
服务端决策:Agent 通过 Prompt 约束绕过 HITL MCP Server,或直接跳过 MCP Proxy 的确认流程,但灵活性不足;
客户端决策:瘦客户端仅支持三种策略:随机选择、默认同意(YOLO)、请求外援(调用专用决策 Agent);
独立决策 Agent:专门处理人类未答复的场景,接收原 Agent 的上下文和疑问后生成决策,既保证原架构纯净,又支持决策日志审计。
决策 Prompt 设计
通过提示词规范 Agent 在特殊场景下的行为:
拒绝回答:收到 “拒绝回答” 时,按自身理解继续流程;
超时未答:判断现有上下文是否足够完成任务,不足则再次发起问询。
2.4 多端协同方案
借鉴 iCloud 多设备登录授权机制,实现多终端的交互同步:
主终端(发起任务的终端)通过 SSE 链路接收 Agent 问询帧,其他终端通过服务端通知获取问询信息;
所有终端均渲染问询 UI,人类可在任意终端作答;
任意终端完成答复后,服务端向所有终端发送 “已答复” 通知,关闭其他终端的问询 UI;
Agent 通过主终端的 SSE 链路接收答复,继续执行流程。
该方案确保人类在 Web、APP、桌面端等任意设备上都能参与交互,且状态实时同步,提升使用灵活性。
2.5 超时策略配置
为避免 Agent 因等待人类答复而长期阻塞,设计三级超时机制:
端侧超时:终端设置计时器,超时未作答则自动发送 “超时未回答” 响应;
人机回路服务超时:长于端侧超时,确保终端有足够时间处理交互;
MCP Client 超时:最长超时时间,大于人机回路服务超时,避免 Agent 提前终止工具调用。
三级超时的合理配置(例如:端侧 30 秒、服务端 60 秒、MCP Client 90 秒),既保证用户体验,又提升 Agent 鲁棒性。
三、人类答复的多样化实现
3.1 直接回答的两种模式
多轮单问题模式
Agent 每次仅提出一个疑问,人类答复后再根据情况提出下一个问题,类似人类下属向领导逐步澄清需求。优点是交互自然、疑问聚焦,缺点是轮次过多易引发用户厌烦,需平衡问询次数与信息完整性。
单轮多问题模式
Agent 一次性提出多个疑问,人类集中答复,适合需要批量补充信息的场景。核心解决两个问题:
结构化传递:采用 JSON 等结构化格式便于 UI 渲染,但对 Prompt 工程要求极高,需避免格式错误;
非结构化传递:使用 Markdown 格式的非结构化文本,人类在富文本编辑器中直接作答,工程实现简单,且支持 Agent 生成默认答复供人类修改(“作弊” 模式)。
3.2 特殊答复处理
拒绝回答
用户明确拒绝答复时,终端返回预设文本(比如:“我也不是很清楚这里的细节,你可以根据你的想法做发挥”),Agent 通过提示词调整行为,避免重复问询。
超时未作答
终端超时未收到用户操作时,自动发送 “超时未回答” 响应(比如:“我这会儿有事情要忙,你可以根据你的想法做发挥”),复用拒绝回答的 Prompt 逻辑。
默认作答
引入辅助 Agent 为原 Agent 的疑问生成默认答复,连同疑问一并展示给人类,人类可直接提交或修改后提交,解决兜底答复的场景局限性问题。
四、提示词优化策略
4.1 Agent Prompt 设计
通过结构化指令引导 Agent 正确使用人机回路工具:
意图分析:先判断用户需求是否清晰;
意图澄清:需求模糊时,必须调用 send_inquiry 工具问询,严禁直接回复;
信息检索:意图明确后,需外部信息则调用搜索工具;
结果验证:对搜索结果存疑时进行补充搜索;
综合回答:整合信息形成最终答案。
关键约束指令(clarify_user_intent):明确要求 Agent 在意图不明确时,必须通过 send_inquiry 工具问询,禁止直接生成文本提问。
4.2 工具 Description 优化
MCP 工具的 Description 直接影响 Agent 对工具的理解和使用时机,需详细说明适用场景、核心功能和操作建议。例如 Sequential-Thinking 工具的 Description 明确列出 14 项操作建议,帮助 Agent 正确判断使用时机。
对于 send_inquiry 工具,采用动态 Description 策略:
QueryString 参数:通过会话级参数动态调整 Description,无需重启服务;
客户端覆盖:Agent 接收 MCP Server 的 tools/list 响应后,根据需求替换工具 Schema,实现个性化适配。
4.3 拟人化沟通原则
大模型会将自身视为与人类平等的个体,设计提示词时应避免使用 “工具”“LLM”“大模型” 等术语,采用拟人化表述,减少 Agent 的理解偏差,提升交互自然度。
五、总结与应用延伸
基于 MCP 协议的人机回路方案,通过将人类交互封装为标准化工具,解决了服务端部署场景下的分布式协同、状态持久化、多端同步等核心难题,具备以下优势:
架构兼容性强:无需重构现有 Agent 框架和微服务架构,通过 MCP 协议快速集成;
交互体验一致:支持多终端协同,人类可在任意设备参与交互,状态实时同步;
扩展性良好:可通过代理模式快速适配现有工具,支持 YOLO 等多样化交互模式。
该方案已在智能导购等业务场景中落地应用。比如:在主动式智能导购助手场景中,Agent 通过人机回路向顾客询问商品参数(比如:尺寸、颜色、预算),收集齐全后自动检索商品数据库并推荐匹配产品,实现全天候自动化导购服务。
未来,我们将进一步优化决策 Agent 的智能度,提升多轮交互的上下文理解能力,探索基于用户画像的个性化问询策略,让人机回路更高效、更贴合人类使用习惯。
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。