<!-- title: 放手即失控：自主体人在回路六栈实测 -->

# 放手即失控：自主体人在回路六栈实测

## 概述

自主智能体从 demo 走向生产，最大的拦路虎不是模型能力，而是**失控边界**——当智能体可以连续自主调用工具、读写文件、发起转账时，"什么时候必须喊人"决定了它是生产力还是事故源。本期实测 2026 年主流的六套人在回路（Human-in-the-Loop, HITL）技术栈：LangGraph 的 `interrupt()` 图断点、LangChain 的 HITL 中间件、Microsoft AutoGen 的 `UserProxyAgent`、CrewAI 的 `human_input`、OpenAI Agents SDK 的 `approvals`，以及 NVIDIA NeMo/Guardrails AI 代表的"机器在回路"护栏栈。核心发现：**六栈真正分化的不是"能不能插人工"，而是"人工插在哪一层"以及"插人的成本是否被算进可靠性预算"**——图级最精确但开发税重，工具级成为 2026 主流，而生产系统正在从"人在回路"滑向"AI 审 AI、人只兜底"的新均衡。

## 六栈能力对比

| 维度 | LangGraph interrupt | LangChain HITL MW | AutoGen UserProxy | CrewAI human_input | OpenAI SDK approvals | NeMo/Guardrails 护栏 |
|------|---------------------|-------------------|-------------------|--------------------|----------------------|----------------------|
| 介入粒度 | 图节点级 | 工具调用级 | 对话轮次级 | 任务/角色级 | 工具调用级 | 输入/输出级 |
| 持久化 | Checkpointer 强 | 依赖外挂 | 会话内存为主 | 任务态 | Run config | 无状态+规则 |
| 恢复机制 | Command(resume=) | resume/run | 回复继续 | 重新执行 | approve/reject | 拦截即重写 |
| 开发税 | 高 | 中 | 低 | 极低 | 低 | 中 |
| 2026 状态 | 事实标准 | 新晋主流 | ⚠️ 维护模式 | 成熟稳定 | 官方主推 | 防御纵深标配 |
| 典型失败 | 断点过密致僵死 | 工具签名误判 | 审批疲劳 | 每任务追问 | 默认放行 | 规则绕过 |

## 深度分析

### 一、LangGraph `interrupt()`：图节点级断点的精确与代价

LangGraph 把工作流建模成有状态图，HITL 通过 `interrupt()` 把执行挂起、用 `Command(resume=...)` 恢复，配合 Checkpointer（SQLite/Postgres）实现"断点续跑"。这是六栈里**粒度最细、可控性最强**的方案——你可以在金融转账前精确插一道审批门，状态持久化让挂起的工作流跨进程、跨重启存活。它的设计哲学是"确定性控制门"：审批点不是 LLM 决定的，而是图结构硬编码的，这避免了"模型自己决定要不要喊人"的悖论。

代价是开发税。每个审批点都要预先在图里画出来，断点设太密会让工作流僵死（每步都等人），设太稀又形同虚设。实测中常见反模式是把 `interrupt_before` 套在所有节点上，结果演示流畅、生产瘫痪——审批队列堆积成瓶颈。变现角度，LangGraph HITL 是金融、医疗等强合规场景训练营的硬卖点，因为它是少数能给出"可审计审批链"的框架；但教学成本高，适合做付费进阶课而非引流课。

```python
from langgraph.types import interrupt, Command

def review_node(state):
    decision = interrupt({"draft": state["answer"], "msg": "请人工审批"})
    if decision["approved"]:
        return {"answer": decision["edited"]}
    return Command(goto="rewrite")  # 驳回则跳回重写
```

### 二、LangChain HITL 中间件：工具调用级审批的折中之道

2025 年 LangChain 推出的 Human-in-the-Loop middleware 是对 LangGraph 图级方案的"轻量化降维"——它不要求你把整个流程画成图，而是**在 Agent 的工具调用层插一道中间件**：每当模型决定调工具，中间件先拦下，等人审批/编辑/批准后再放行。这恰好命中了 2026 年最普遍的需求——不是每个节点都要审，而是"有副作用的工具调用"（发邮件、删数据、付款）才要审。

这个粒度是甜点位：开发税中等，复用性强（一套中间件挂所有 Agent），且天然契合 MCP 工具生态。它的核心权衡是**靠工具签名判断风险**：`@tool` 装饰器或 `requires_approval` 标记决定哪些工具触发审批。失败模式也由此产生——开发者忘了给高危工具打标，中间件就默认放行，等于裸奔。变现上，HITL middleware 适合做"Agent 安全中间件"产品形态，包装成 SaaS 审批网关有想象空间，但要解决审批延迟拖垮响应体验的问题。

### 三、AutoGen `UserProxyAgent`：对话级方案的维护模式警示

AutoGen 的 `UserProxyAgent` 是六栈里**最直观、最容易上手**的——它本质是个"假装成人类的 Agent"，通过 `human_input_mode`（ALWAYS/TERMINATE/NEVER）控制何时拉真人入场。语义最自然：人类像参与群聊一样介入对话，无需关心图结构。这也是它曾是教学 demo 王牌的原因。

但 2026 年的残酷事实是：**AutoGen 已于 2025 年 10 月进入维护模式，微软重心转向 Microsoft Agent Framework（2026 年 4 月 1.0 GA）**。这意味着建在 `UserProxyAgent` 上的生产系统正面临迁移压力——本期"换栈即归零"的迁移代价在此复现。更深的坑是"审批疲劳"：`human_input_mode="ALWAYS"` 会在每轮都打断，长任务里人类很快学会无脑按回车，HITL 沦为摆设。教训是：**对话级 HITL 把"何时喊人"的裁量权交给了人类纪律，而人类纪律是靠不住的**。新项目应直接评估 Microsoft Agent Framework，而非在维护态的 AutoGen 上押注。

### 四、CrewAI `human_input`：角色级审批的极简与粗糙

CrewAI 走的是另一条路——把 HITL 绑在**任务（Task）和角色（Role）**上。`Task(human_input=True)` 让某个 Agent 在执行到这一步时弹出澄清问题，等人回答后继续。这是六栈里**入门门槛最低**的，三行代码就能跑通，特别适合做"角色扮演式多智能体"的快速原型。

粗糙也由此而来。CrewAI 的 HITL 是"问完即走"的轻交互，缺乏 LangGraph 那种持久化的审批状态和驳回重试回路——人类给了输入，Agent 就当圣旨往下走，没有"驳回跳回上一步"的结构化控制。它更像"提问"而非"审批"。实测中 `human_input=True` 经常被滥用成"每任务都问"，把原本自主的流水线退化成一问一答的问答机。变现上，CrewAI 适合做面向小白的"5 分钟搭出多智能体"引流课，但严肃生产场景必须外挂 LangGraph 式控制层补齐审批能力，否则无法通过合规审计。

### 五、OpenAI Agents SDK `approvals`：官方主推的工具级方案

OpenAI 2025 年开源的 Agents SDK 把 HITL 收敛进 `approvals` / `approval_policy` 配置——在 Run config 里声明哪些工具需要批准，运行时模型调用这类工具会自动挂起、等待 `approve`/`reject`。这套机制和 LangChain 中间件在**粒度上撞车**（都是工具调用级），差异在于它深度绑定 OpenAI 的模型与 tracing 体系，开箱即用度更高。

它的隐忧是**默认值哲学**。SDK 的默认审批策略偏宽松，很多教程直接跑生产，结果高危工具在第一波就被默认放行——这与"工具触发四栈"里观察到的"默认放行=默认裸奔"完全一致。优势是和 OpenAI 生态（Responses API、Tracing、Evals）无缝衔接，做企业内训时说服力强（"官方背书"）。短板同样明显：强绑定 OpenAI 模型，换模型即失去 approvals 的一致语义，迁移成本被锁死在厂商生态里。它适合"已经全栈用 OpenAI"的团队，跨厂商场景反而成负担。

### 六、NeMo Guardrails / Guardrails AI：从"人在回路"到"机器在回路"

第六栈代表了 2026 年最深刻的范式迁移：**当人工审批成为吞吐瓶颈，生产系统正把"人"换成"机器"**。NVIDIA NeMo Guardrails、Guardrails AI、LLM Guard、Llama Guard 这类护栏，本质是用小模型/规则引擎充当"第一道审批员"——输入侧拦截注入、输出侧校验合规、PII 自动脱敏，只有"低置信度 + 高风险"的交集才上浮给真人。

这是对前五栈的根本性反思：**HITL 的瓶颈不是技术，是人**。一个坐席一天审不了几百条，而 Agent 可能每分钟产生几十个待审动作。2026 年的成熟做法是"AI oversees AI"——防御纵深（defense-in-depth）：Pydantic 做结构校验、Guardrails AI 做内容合规、Llama Guard 做安全分类、人工只在护栏都拿不准时兜底。这套架构的变现价值最高——"Agent 合规护栏"是企业刚需，但门槛也最高，需要持续维护规则与对抗样本。值得警惕的是护栏的"规则绕过"：攻击者针对规则做注入，护栏越静态越易被绕，所以护栏本身需要持续红队迭代。

## 人在回路工作流架构

```mermaid
flowchart TD
    A[用户目标] --> B[自主智能体 Agent Loop]
    B --> C{工具调用决策}
    C -->|读操作 低风险| D[直接执行]
    C -->|写/付款 高风险| E[HITL 拦截层]

    E --> F{护栏第一道 AI-in-Loop}
    F -->|合规放行| G[自动放行]
    F -->|明确违规| H[直接拦截重写]
    F -->|低置信度| I[上浮人工审批]

    I --> J{人类决策}
    J -->|批准| K[执行 + 写审计日志]
    J -->|编辑| L[改写参数后执行]
    J -->|驳回| M[Command goto 回退重规划]

    D --> N[结果回写 Memory]
    G --> N
    K --> N
    L --> N
    H --> N
    N --> B

    style F fill:#ffe4b5
    style I fill:#ffcccc
    style K fill:#d4edda
```

## 推荐方案：按场景选栈

**1. 金融/医疗/法律等强合规场景** → **LangGraph interrupt + 护栏栈双层**。图级断点提供可审计的硬审批门，护栏做输入净化和合规校验，二者构成纵深防御。别用对话级方案，审计追溯不了。

**2. 通用企业 Agent（已用 OpenAI 全家桶）** → **OpenAI Agents SDK approvals**。开箱即用、和 Tracing 打通，但务必把默认策略改严，给高危工具显式打 `requires_approval`。

**3. 快速原型/教学 demo** → **CrewAI `human_input` 或 AutoGen UserProxy**。三天能跑通，但上生产前要认清它们是"提问机制"非"审批机制"，缺持久化和驳回回路。

**4. 高吞吐生产（动作密集型，如客服、运维）** → **AI-in-the-Loop 护栏为主、人工兜底为辅**。人工审不过来的量，必须让 NeMo/Guardrails AI 先过 90%，人只看护栏判不准的高危交集。这是 2026 年的性价比最优解。

**5. 老项目迁移** → **远离维护态 AutoGen，直接评估 Microsoft Agent Framework**。在维护模式框架上继续投入，等于把技术债滚大。

**一句话结论**：2026 年选 HITL 栈，先问"我的人一天能审多少条"，再倒推是图级、工具级还是护栏级——把"插人"当成有限的可靠性资源来预算，而不是无限兜底的安全网。

## 参考来源

1. [Interrupts — LangChain Docs](https://docs.langchain.com/oss/python/langgraph/interrupts) — LangGraph `interrupt()`/`Command(resume=)` 图断点机制官方文档
2. [Human-in-the-Loop — AutoGen 官方文档](https://microsoft.github.io/autogen/stable/user-guide/agentchat-user-guide/tutorial/human-in-the-loop.html) — `UserProxyAgent` 对话级 HITL 实现与配置
3. [LangChain vs. AutoGen: What the Maintenance Announcement Changed](https://www.langchain.com/resources/langchain-vs-autogen) — AutoGen 2025年10月进入维护模式、Microsoft Agent Framework 2026年4月 1.0 GA 的时间线
4. [Best AI Agent Security & Guardrails Tools in 2026: LLM Guard vs NeMo vs Guardrails AI](https://dev.to/agdex_ai/best-ai-agent-security-guardrails-tools-in-2026-llm-guard-vs-nemo-vs-guardrails-ai-5e5d) — 2026 护栏栈对比与"AI oversees AI"趋势分析
5. [AI Agent Guardrails & Output Validation in 2026](https://toolhalla.ai/blog/ai-agent-guardrails-io-validation-2026) — 生产级防御纵深（Pydantic + Guardrails AI + Llama Guard）实战模式

> [!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 等场景全覆盖。

![51学通信知识星球海报-扫码加入](https://wiki.500nian.com/images/zhixingqiu_qrcode.png)
