2026年,AI Agent领域正在经历一场从"人在环中"到"Agent在环中"的范式迁移。传统HITL以审批门控为核心,在LangGraph的interrupt()、CrewAI的human_input和OpenAI Agents SDK的handoff()中已有成熟实现。但生产数据揭示了一个残酷事实:原始对话日志作为交接载荷,让人工审核员平均花费15分钟重建上下文;而结构化简报可将这一时间压缩到30秒——97%的效率跃升。本文从触发信号栈、结构化交接载荷、监督界面设计到新兴的AITL(Agent-in-the-Loop)范式,全面拆解2026年人机协作架构的三栈演进。
2026年的人机协作系统正在经历三代架构的并行演化,每一代解决上一代的核心缺陷:
graph TB
subgraph "Stack 1: HITL Classic"
A1[Approval Gate] --> A2[Confidence Threshold]
A2 --> A3[Raw Transcript Dump]
A3 --> A4[Human Reviews Chat]
end
subgraph "Stack 2: HITL 2.0"
B1[Multi-Signal Stack] --> B2[Structured Briefing]
B2 --> B3[Warm/Cold Transfer]
B3 --> B4[Purpose-Built Oversight UI]
end
subgraph "Stack 3: AITL"
C1[Human Initiates] --> C2[Agent Assists]
C2 --> C3[Context Injection]
C3 --> C4[Agent Augments Decision]
end
Stack1 --> Stack2 --> Stack3
style A1 fill:#ff6b4a,stroke:#333
style B1 fill:#00e5a0,stroke:#333
style C1 fill:#00c4ff,stroke:#333
Stack 1(HITL Classic):Agent自主运行到某个节点暂停,等待人类审批后继续。核心抽象是"审批门控"——LangGraph的interrupt_before、CrewAI的human_input=True都属于这一代。问题在于:交接载荷是原始对话流,人类需要大量时间重建上下文。
Stack 2(HITL 2.0):认识到交接不是"传对话"而是"传工作状态"。引入多信号触发栈、结构化简报载荷、冷热转移模式、专用监督界面。OpenAI Agents SDK的handoff() + input_filter组合、Microsoft AG-UI的ApprovalRequiredAIFunction体现了这一代的思想。
Stack 3(AITL):范式反转——不再是AI暂停等人,而是人类主动发起、Agent在环辅助。Agent-in-the-Loop(AITL 2.0)白皮书提出:人类做决策,Agent提供实时上下文注入、风险评估、历史检索。这一代还处于早期,但代表了终极方向。
| 维度 | LangGraph | OpenAI Agents SDK | CrewAI | AutoGen | Google ADK | Microsoft AG-UI |
|---|---|---|---|---|---|---|
| 核心原语 | interrupt() + Command(resume=) |
handoff() + input_filter |
human_input=True |
UserProxyAgent + max_consecutive_auto_reply |
AgentOps human_approval |
ApprovalRequiredAIFunction |
| 状态持久化 | Checkpointer(SQLite/Postgres) | 无内置,需外部 | 内置Checkpointing | 无内置 | 无内置 | Session-based |
| 中断粒度 | 任意代码位置,动态 | Agent边界 | Task完成时 | 对话轮次 | Tool调用前 | Tool调用前 |
| 上下文传递 | 完整状态快照 | input_type Pydantic Schema |
Task描述+Agent输出 | 对话历史 | 自定义Payload | ApprovalRequest JSON |
| 冷/热转移 | 不区分 | on_handoff回调支持热转移 |
不区分 | 不区分 | 支持 | 中间件层实现 |
| 返回路径 | Command(resume=value) |
新Agent接管 | 修改后继续 | 回复消息 | 继续执行 | Tool Result回传 |
| 生产就绪度 | 高(持久Checkpointer) | 中(需自建) | 中 | 低 | 中 | 高(企业级) |
| 适用场景 | 审批流、状态机、长时间工作流 | 多Agent路由+人类审查 | 内容生成+人类校验 | 对话式协作 | 异步审批 | 企业合规审批 |
interrupt():最灵活的暂停-恢复原语LangGraph的interrupt()函数是当前HITL实现中最接近"一等公民"的设计。它不是静态断点,而是动态暂停点——可以在任意代码位置调用,支持条件逻辑。
from langgraph.types import interrupt, Command
def approval_node(state: State):
# 业务逻辑判断是否需要人工审批
if state["amount"] > 10000:
approved = interrupt({
"type": "approval_required",
"reason": f"金额 ${state['amount']} 超过自动审批阈值",
"suggested_action": "issue_refund",
"context": state["order_summary"]
})
else:
approved = True
if approved:
return {"status": "approved", "processed_by": "auto" if state["amount"] <= 10000 else "human"}
return {"status": "rejected"}
关键设计决策:
- Checkpointer持久化:中断时整个图状态写入SQLite/Postgres,进程崩溃也不丢失
- thread_id作为游标:同一个thread_id恢复同一检查点,新建则从头开始
- Command(resume=value):恢复值成为interrupt()调用的返回值,类型安全
局限:interrupt()不区分冷热转移,不内置结构化简报生成,需要开发者自行设计载荷格式。
human_input:任务级的人类校验CrewAI的HITL更简单直接——在Task定义中设置human_input=True,Agent在完成任务后暂停等待人类反馈。
from crewai import Agent, Task, Crew
reviewer = Agent(
role='Senior Research Analyst',
goal='Uncover cutting-edge developments in AI',
backstory="Expert in identifying emerging trends...",
tools=[search_tool]
)
task = Task(
description="Conduct analysis of AI advancements in 2025.",
expected_output='A comprehensive report',
agent=reviewer,
human_input=True # Agent pauses here, waits for human feedback
)
crew = Crew(agents=[reviewer], tasks=[task])
result = crew.kickoff()
优点:零配置,一行代码启用。适合内容生成、报告校审等"最终把关"场景。
局限:粒度太粗——只能在Task完成时暂停,无法在执行中途插入审批。且交接载荷只有Agent输出文本,缺乏结构化上下文。
生产环境暴露了三个系统性缺陷:
问题一:置信度阈值不可靠。 LLM的置信度分数系统性地过度乐观。Tian Pan的研究指出:GPT事后Agent预测73%的任务成功率,实际只有35%;Gemini预测77%,实际仅22%。将原始模型置信度作为主要升级触发器,意味着你会在最需要人工审查的场景下反而低估风险。
问题二:载荷是原始对话流。 一份40,000 token的对话历史中,只有约3,000 token是可操作信号。"Lost in the middle"效应使得埋藏在长上下文中的关键信息被接收端模型或人类忽略。
问题三:监督界面即聊天窗口。 多数团队将交接呈现在会话线程中——因为那是Agent的通信方式,而非人工审核的正确界面。聊天记录不是监督的媒介,它要求审核员在脑中重建状态。
HITL 2.0的核心洞见:升级不是单一信号,而是一个信号栈。生产可靠的系统使用组合触发:
graph TB
L1["L1: 任务级信号<br/>(确定性检查)"] --> L2["L2: 行为信号<br/>(循环检测/范围蔓延)"]
L2 --> L3["L3: 情绪信号<br/>(语气分析/情感降级)"]
L3 --> L4["L4: 利益信号<br/>(VIP账户/金额阈值)"]
L4 --> L5["L5: 集成分歧<br/>(双模型评估)"]
L1 -->|最可靠| DECIDE{"升级决策"}
L2 -->|补充| DECIDE
L3 -->|辅助| DECIDE
L4 -->|配置| DECIDE
L5 -->|高成本高精度| DECIDE
DECIDE -->|"10-15% 目标"| ESCALATE["触发结构化交接"]
style L1 fill:#00e5a0,stroke:#333
style L5 fill:#ff6b4a,stroke:#333
style DECIDE fill:#f0c850,stroke:#333
L1:任务级信号(最可靠)——确定性检查,不依赖模型自我评估。Agent遇到矛盾数据、必填字段缺失、金融阈值触发、合规关键词命中时立即升级。
L2:行为信号——循环检测(同一API调用重复)、范围蔓延(Agent扩展任务边界)、链式复杂度(三级Agent管道中每步90%置信度但累计可靠性降至73%)。
L3:情绪信号——用户重述同一问题3次以上未解决、语气分析检测到情绪升级。在用户明确要求人工之前捕获,防止流失。
L4:利益信号——VIP账户、退款金额超阈值、安全事件。按领域配置而非模型推断。
L5:集成分歧——高成本但高精度:对同一上下文运行两次模型评估,显著分歧则升级。
关键运营约束:升级率超过15-20%不可持续。目标10-15%需要人工审查,然后根据实际错误率调优。
HITL 2.0的共识是结构化简报——既不是原始历史也不是散文摘要:
{
"intent": "订单#4821退货申请,商品到货即损",
"confidence": 0.71,
"sentiment": "frustrated",
"entities": {
"order_id": "4821",
"product": "Ember Mug 2",
"purchase_date": "2026-03-15"
},
"actions_taken": [
"查询: 订单确认,在30天退货窗口内",
"提议: 换货 — 用户拒绝,要求退款"
],
"constraints": ["退款超过$75需人工审批"],
"suggested_next_step": "发放全额退款$89.95",
"transcript_reference": "session://abc123"
}
关键属性:决策和约束是显式的,制品被引用而非嵌入,已尝试的操作被列出,建议下一步提供起点而非强制路径。
两种转移模式在2026年已形成明确的设计指南:
热转移(Warm Transfer):AI在交接完成前先向接手人类做简报。在语音Agent场景中,LiveKit模式将呼叫者保持等待,打开私人咨询室,AI向人工简报后再合并通话。适用场景:情绪激动的用户、复杂问题需背景上下文、高价值账户。代价:增加秒级到分钟级延迟。
冷转移(Cold Transfer):上下文打包为结构化文档,工单路由到人工队列。速度优先于简报深度。适用场景:简单升级、结构化上下文包足以支撑操作。失败场景:上下文包不充分。
HITL 2.0要求专用监督界面,而非在聊天线程中操作。有效的设计包含三个视图:
AITL 2.0白皮书提出了一个根本性的范式反转:
| 维度 | HITL | AITL |
|---|---|---|
| 主导方 | Agent主导,人类审批 | 人类主导,Agent辅助 |
| Agent角色 | 执行者 | 顾问/增强器 |
| 触发条件 | Agent暂停等人 | 人类主动发起 |
| 典型场景 | 自动化审批流 | 决策支持系统 |
| 状态所有权 | Agent持有 | 人类持有 |
在AITL中,人类做决策,Agent在环提供: - 实时上下文注入:人类考虑方案A时,Agent自动检索相关历史、合规约束、风险评估 - 预计算分析:人类还没问,Agent已经算好了三种方案的成本对比 - 偏差检测:人类决策偏离历史模式时,Agent主动提醒而非被动等待
AG-UI(Agent-User Interaction Protocol)是2026年最值得关注的AITL基础设施。它定义了Agent后端与前端之间的标准事件协议:
Agent Backend → AG-UI Events → Frontend UI
↑ |
└── User Actions ←──────────┘
核心事件类型包括:TextMessageStart/Content/End、ToolCallStart/Args/End、StateSnapshot、RunFinished。Microsoft的AG-UI实现通过ApprovalRequiredAIFunction将需要审批的工具调用转化为"客户端工具调用"——Agent后端发出审批请求事件,前端渲染审批UI,用户批准/拒绝后作为工具结果回传。
// AG-UI 审批模式 - Microsoft Agent Framework
AITool[] tools = [
new ApprovalRequiredAIFunction(
AIFunctionFactory.Create(SendEmail)
)
];
// 中间件自动转换:
// FunctionApprovalRequestContent → AG-UI Client Tool Call → 前端审批UI
// 前端审批结果 → Tool Result → FunctionApprovalResponseContent → Agent继续执行
这个设计的精妙之处:Agent代码无需知道审批的存在——它只是调用一个函数,审批逻辑完全在协议层处理。
graph TD
START["你的场景是?"] --> Q1{"Agent自主度要求高?"}
Q1 -->|是| Q2{"需要中断恢复持久化?"}
Q1 -->|否| Q3{"人类是决策主导方?"}
Q2 -->|是| LANGGRAPH["LangGraph<br/>interrupt() + Checkpointer"]
Q2 -->|否| Q4{"多Agent间需路由交接?"}
Q4 -->|是| OPENAI["OpenAI Agents SDK<br/>handoff() + input_filter"]
Q4 -->|否| CREWAI["CrewAI<br/>human_input=True"]
Q3 -->|是| AITL["AITL Stack<br/>AG-UI + Agent Framework"]
Q3 -->|否| Q5{"企业合规要求严格?"}
Q5 -->|是| AGUI["Microsoft AG-UI<br/>ApprovalRequiredAIFunction"]
Q5 -->|否| SIMPLE["简单HITL<br/>任何框架的审批门控"]
style LANGGRAPH fill:#00e5a0,stroke:#333
style OPENAI fill:#00c4ff,stroke:#333
style AITL fill:#f0c850,stroke:#333
金额阈值分级,超过自动审批范围时interrupt()暂停,人工在专用界面审批后Command(resume=True/False)恢复。Checkpointer保证即使进程重启也不丢失待审批交易。
一级Agent处理常见问题,检测到情绪降级或复杂查询时通过handoff()转交二级专家Agent。on_handoff回调实时拉取CRM数据注入结构化载荷,input_filter裁剪无关历史避免上下文污染。
律师在专业界面中起草合同,Agent在环实时检索相关判例、标记风险条款、建议修改措辞。人类掌握最终决策权,Agent提供增强而非替代。
将完整对话日志作为交接载荷。40K token中3K有效信号——"lost in the middle"效应让关键信息被忽略。解决:结构化简报 + transcript_reference引用链接。
在对话线程中让人类审核Agent操作。审核员无法一眼看出"Agent做了什么"vs"Agent说了什么",没有批准/拒绝/修改的操作控件。解决:时间线视图 + 差异视图 + 操作面板。
将模型置信度作为唯一升级触发器。GPT的73%预测成功率 vs 35%实际意味着你在最需要人工审查时反而放行。解决:五层信号栈组合触发。
升级后Agent"死了",人工处理完没有机制回到Agent。交接是双向的——需要设计Command(resume=)或等效的返回机制。Tian Pan的研究强调:升级不是错误状态而是设计好的工作流,必须有返回路径。
超过20%的升级率让人工审核员成为瓶颈。要么是Agent未充分训练(过度升级),要么是任务设计超出Agent能力范围(需要重新切分任务)。目标10-15%,持续监控escalation_rate、time_to_resolution_post_handoff、repeat_contact_rate三大指标。
| 方向 | 市场需求 | 训练营适配度 | 关键卖点 |
|---|---|---|---|
| LangGraph HITL工作流开发 | 高 | ★★★★ | 企业审批流自动化,付费意愿强 |
| 客服Agent升级系统设计 | 极高 | ★★★★★ | ROI明确(97%交接效率提升),案例丰富 |
| AG-UI协议集成开发 | 中高 | ★★★ | 新兴领域,先发优势 |
| AITL决策支持系统 | 中 | ★★ | 前沿但落地少,适合高阶课程 |
| 升级信号栈工程化 | 高 | ★★★★ | 跨框架通用技能,实用性强 |
最推荐的训练营方向是客服Agent升级系统设计——市场需求明确(79%用户在复杂问题上倾向人工)、技术栈成熟(LangGraph/OpenAI SDK均可)、ROI可量化(结构化交接97%效率提升)。课程结构可从简单审批门控开始,逐步升级到五层信号栈 + 结构化简报 + 监督界面设计。
interrupt()暂停-恢复机制的完整API说明[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。
