本文分析了AI Agent设计中三种关键人机协作模式:HITL(人类介入循环)、HOTL(人类监督循环)和AITL(智能体介入循环)。通过类比操作系统概念,探讨了这些模式的架构设计与工程实践,并详细解析了Manus、LangChain、Dify和CopilotKit等主流框架如何实现这些模式。文章指出未来高级AI系统将是这些模式的融合体,实现更动态和无缝的人机协作。
摘要:自主 AI Agent 的设计核心在于其与人类的协作模式。本文旨在分析人机协同光谱上的三种关键模式:人类介入循环 (Human in the Loop, HITL)、人类监督循环 (Human over the Loop, HOTL) 以及智能体介入循环 (Agent in the Loop, AITL)。本文通过类比操作系统中的概念,并结合对 Manus、LangChain、Dify、CopilotKit 等框架的接口设计、实现原理和用户体验的深入分析,探讨这些模式的架构设计与工程实践。
- 人机协同的光谱:从 Agent 主导到人类主导
在 AI Agent 的设计中,人机交互范式并非二元的,而是一个连续的光谱。光谱的两端分别是Agent 主导的自主系统和人类主导的辅助系统。HITL、HOTL 和 AITL 是这个光谱上的三个关键坐标。
HITL vs HOTL vs AITL 架构对比
图1:HITL、HOTL 与 AITL 的架构对比。HITL 将人类嵌入 Agent 循环;HOTL 将人类置于监督层;AITL 则将 Agent 嵌入人类的工作循环。
1.1. Human in the Loop (HITL): 同步阻塞模型
Human in the Loop (HITL)模式将人类视为 Agent 执行流程中的一个同步环节。在此模型下,Agent 在遇到预设的关键节点或不确定性时,会暂停执行并等待人类的明确输入。这在概念上等同于一个阻塞式 I/O 调用,人类操作员成为 Agent 执行线程继续前进的必要条件。
1.2. Human over the Loop (HOTL): 异步中断模型
Human over the Loop (HOTL)模式赋予 Agent 更大的自主权,使其能够独立完成端到端任务。人类的角色从流程中的“必经节点”转变为更高维度的监督者 (Supervisor)。这种关系可类比于操作系统的中断机制 (Interrupt Mechanism),人类可以随时发出“中断信号”,触发异步的干预,但不会阻塞 Agent 的常规执行。
1.3. Agent in the Loop (AITL): Copilot 辅助模型
Agent in the Loop (AITL)是一个与 HITL/HOTL 方向相反的模式 [1]。它不是将人类置于 Agent 的循环中,而是将 Agent 嵌入到人类的工作循环中。这正是Copilot 模式的精髓:人类是主驾驶 (Pilot),Agent 是副驾驶 (Copilot),负责在人类的工作流中提供建议、自动完成和信息增强 [2]。
| 特征 | Human in the Loop (HITL) | Human over the Loop (HOTL) | Agent in the Loop (AITL) |
|---|---|---|---|
| 主导者 | Agent | Agent | 人类 |
| 交互模型 | 同步 (Synchronous) | 异步 (Asynchronous) | 嵌入式 (Embedded) |
| 系统影响 | 阻塞式 (Blocking) | 非阻塞式 (Non-blocking) | 辅助式 (Assistive) |
| 人类角色 | 操作员 (Operator) | 监督者 (Supervisor) | 主导者 (Pilot) |
| Agent 角色 | 执行者 (Executor) | 自主执行者 (Autonomous Executor) | 副驾驶 (Copilot) |
| OS 类比 | 阻塞式 I/O | 中断处理 | 用户空间应用 |
- Agent 控制层级:CPU 特权环类比
为了在 Agent 内部融合 HITL 与 HOTL 模式,其架构可借鉴 x86 CPU 的特权环 (Privilege Rings)模型,构建一个从内到外的分层控制结构,以平衡自主性与安全性 [4]。
AI Agent 控制层级:特权环类比
图2:AI Agent 控制架构的特权环类比。权限由中心的自主内核(Ring 0)向外围的用户空间(Ring 3)逐级递减。
- Ring 0:自主决策内核 (Autonomous Agent Core)
- Ring 1:工具执行层 (Tool Execution Layer)
- Ring 2:人类确认门控 (Human Confirmation Gate)(HITL 模式的核心体现)
- Ring 3:用户空间 (User Space)
通过此机制,Agent 大部分时间在 Ring 0 和 Ring 1 之间高效自主地运行(HOTL 状态),仅在触及关键节点时才进入 Ring 2 的同步等待状态(HITL 状态)。
- 工程实践:主流框架的人机协同实现
3.1. Manus:系统级的、细粒度的 HOTL 实现
Manus 的架构选择了一条更底层的路径,其 HOTL 模式通过纯粹的软件工程机制和交互设计在系统执行层实现,其核心是将 Agent 的执行环境本身作为状态管理和交互的核心[5]。
Manus 底层 HOTL 架构
图3:Manus 的 HOTL 架构。
接口设计与用户体验
Manus 没有为开发者提供显式的 HITL/HOTL 编程接口。相反,它的协同机制体现在产品交互层面:
- 自然语言交互:用户通过发送消息与 Agent 交互。每一条新消息都被视为一个高优先级的异步中断,Agent 必须暂停当前任务来处理。
- 实时可见性:用户可以随时查看 Sandbox 中的文件系统,或直接向 Agent 查询其内部状态,提供了极高的透明度。
- 24/7 执行:由于 Agent 在云端 Sandbox 中运行,用户可以关闭界面,Agent 仍会继续执行长耗时任务,实现了真正的异步协作。
实现原理
| 机制 | 实现细节 |
|---|---|
| 系统级中断 | 用户的任何新消息都会触发一个中断信号,强制 Agent 暂停当前工具调用或推理步骤,转而处理用户输入。 |
| 持久化沙箱 | 为每个任务分配一个完整的、隔离的云虚拟机 (Sandbox),包含文件系统、进程和网络。Agent 的所有状态都隐式地保存在这个环境中,而非显式的 Checkpoint。 |
| 状态管理 | 状态管理是操作系统级别的。恢复任务时,是恢复整个虚拟机的状态,而非仅仅恢复几个高层变量。这使得 Manus 能处理需要复杂环境依赖的任务(如软件开发)。 |
这种设计的用户体验更接近于与一个真正的人类助手协作:你可以随时打断他,给他新的指令,检查他的工作进度,而他拥有自己独立的“电脑”来完成工作。
3.2. LangChain (LangGraph):框架级的、显式的 HITL
LangChain 的 LangGraph 库通过中断 (Interrupts)机制,为开发者提供了在框架层实现HITL的直接工具 [3]。
LangGraph 中断机制流程图
图4:LangGraph 的中断机制流程图。
接口设计
核心接口是interrupt()函数和Command(resume=...)对象。
ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(line from langgraph.types import interrupt, Command def approval_node(state: State): # 暂停执行,"Do you approve?" 会返回给调用者 approved = interrupt("Do you approve?") # 恢复时,Command(resume=...) 的值会成为 interrupt() 的返回值 return {"approved": approved} # 恢复执行 config = {"configurable": {"thread_id": "thread-1"}} graph.invoke(Command(resume=True), config=config)实现原理
| 机制 | 实现细节 |
|---|---|
| 动态中断 | interrupt()可以在节点的任何位置被调用,允许基于运行时逻辑的条件性暂停。 |
| Checkpointer | 必须配置一个 Checkpointer 来保存图的状态。状态以 JSON 格式保存,通常存储在内存、SQLite 或其他数据库中。 |
| Thread ID | thread_id是恢复状态的关键。同一个thread_id对应一个持久化的执行线程。 |
| 节点重启 | 恢复时,包含interrupt()的节点会从头开始重新执行。因此,interrupt()调用之前的代码必须是幂等的。 |
用户体验
- 开发者:体验类似于在代码中设置断点。控制粒度非常精细,但需要开发者对图、状态和幂等性有清晰的理解。
- 最终用户:体验取决于开发者如何处理中断。通常是在一个 Web 界面上看到一个提示(如“是否批准?”),然后点击按钮来恢复流程。
3.3. Dify:应用级的、可视化的 HITL
Dify 在应用层通过一个原生的“人工输入”(Human Input) 节点将 HITL 的实现方式产品化,让非技术人员也能通过图形化界面构建包含人类审批环节的 AI 应用 [6]。
接口设计与用户体验
接口是完全可视化的。开发者(或业务人员)从节点库中拖拽一个“人工输入”节点到画布上,然后通过表单配置其属性:
- 输入字段:定义需要向用户收集的信息(文本、数字、文件等)。
- 字段属性:设置标签、是否必填等。
对于最终用户,体验通常是一个 Web 表单。当工作流执行到该节点时,会生成一个表单页面,等待用户填写并提交。
实现原理
- 工作流引擎:Dify 的后端工作流引擎在执行到“人工输入”节点时,会将当前任务的状态标记为“暂停”,并记录下需要等待的输入。
- 前端交互:当用户通过 API 或 Web 界面请求该任务时,Dify 会返回一个需要人工输入的信号。前端应用负责渲染表单,并将用户提交的数据发送回 Dify 以恢复工作流。
- 限制:这种模式的暂停点是静态的,只能在节点之间发生,无法在节点内部的任意逻辑处暂停。
3.4. CopilotKit:UI 层的 AITL 实现
CopilotKit 是AITL 模式的典型代表。它专注于在前端 UI 层实现人机协作,其核心设计思想是将 Agent 作为可交互的前端组件,嵌入到现有的用户应用中[9]。
接口设计
CopilotKit 提供了一套 React 组件和 Hooks,如<CopilotKit>、<CopilotPopup>和useCopilotAction。
ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(line import { CopilotKit } from "@copilotkit/react-core"; import { CopilotPopup } from "@copilotkit/react-ui"; function App() { return ( <CopilotKit url="/api/copilotkit"> <MyApp /> <CopilotPopup /> </CopilotKit> ); }开发者通过useCopilotAction定义 Agent 可以调用的前端函数,从而让 Agent 能够操作 UI 或访问前端状态。
实现原理
| 机制 | 实现细节 |
|---|---|
| 前端优先 | Agent 的能力通过前端组件和 Hooks 暴露,使得 Agent 与 UI 的集成非常紧密。 |
| 解耦协议 | 通过 Agentic Protocols (如 AG-UI) 与后端 Agent 框架(如 LangChain)通信,实现了前后端的解耦。 |
| 状态同步 | useCopilotReadableHook 允许 Agent 读取前端应用的状态,而 Agent 的行为可以通过前端事件来响应。 |
用户体验
- 开发者:体验非常接近于现代前端开发。通过引入几个 React 组件和 Hooks,就可以为现有应用“注入”一个 Copilot。
- 最终用户:体验是无缝的。Agent 就像是应用的内置功能,可以在用户当前的工作上下文中提供帮助,而不是把用户带到一个独立的聊天界面。
- 结论:人机协同的架构分野与融合
通过对上述框架的分析,可以观察到人机协同模式存在于一个二维的光谱中:控制主导方(Agent 主导 vs. 人类主导)和实现抽象层级(系统层 vs. UI 层)。
人机协同实现的抽象层级与主导方向
图5:人机协同模式的两个维度:抽象层级与控制主导方。
未来的高级 AI 系统必然是这些模式的融合体。一个理想的系统可能以 AITL 模式嵌入到用户的日常应用中,但在需要执行某个复杂子任务时,会动态地切换到 HOTL 模式,生成一个自主的子 Agent 来完成任务,并在关键节点通过 HITL 模式请求用户的确认。在这种架构下,人与 Agent 的关系将变得更加动态和无缝。
如何系统的学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
一直在更新,更多的大模型学习和面试资料已经上传带到CSDN的官方了,有需要的朋友可以扫描下方二维码免费领取【保证100%免费】👇👇
01.大模型风口已至:月薪30K+的AI岗正在批量诞生
2025年大模型应用呈现爆发式增长,根据工信部最新数据:
国内大模型相关岗位缺口达47万
初级工程师平均薪资28K(数据来源:BOSS直聘报告)
70%企业存在"能用模型不会调优"的痛点
真实案例:某二本机械专业学员,通过4个月系统学习,成功拿到某AI医疗公司大模型优化岗offer,薪资直接翻3倍!
02.大模型 AI 学习和面试资料
1️⃣ 提示词工程:把ChatGPT从玩具变成生产工具
2️⃣ RAG系统:让大模型精准输出行业知识
3️⃣ 智能体开发:用AutoGPT打造24小时数字员工
📦熬了三个大夜整理的《AI进化工具包》送你:
✔️ 大厂内部LLM落地手册(含58个真实案例)
✔️ 提示词设计模板库(覆盖12大应用场景)
✔️ 私藏学习路径图(0基础到项目实战仅需90天)
第一阶段(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 的正确特征了。