首页 › ai-agents › 自主Agent审批门六栈:从全自动到人机协同实测

自主Agent审批门六栈:从全自动到人机协同实测

概述

2026年,54%的企业已将AI Agent推入生产环境,但一线工程师面对的核心难题不再是"Agent能不能做",而是"什么时候该让它停下来"。Anthropic工程团队在long-running agent研究中揭示了一个关键洞察:完全自主与完全手动之间,存在至少六种工程化的中间态。本文基于OpenAI Agents SDK、Claude Agent SDK、LangGraph三大框架的实际代码,实测六种审批门(Approval Gate)模式——从无门控全自主、静态审批、动态风险分级、升级链、反馈纠偏环到人类副驾驶——在任务完成率、人机交互频次、延迟开销和工程复杂度四个维度上的真实表现。结论是:生产级Agent不需要"要不要加审批"的二元选择,而是需要一套按动作风险等级动态切换的多层门控栈。

六栈全景对比

维度 栈1:无门控全自主 栈2:静态审批门 栈3:动态风险分级 栈4:升级链 栈5:反馈纠偏环 栈6:人类副驾驶
核心机制 Agent全权执行 固定节点暂停 按动作类型分级 层级递进审批 执行后人类纠正 人类主导+Agent辅助
自主度 100% 60-80% 70-95% 50-90% 80-95% 10-30%
人机交互频次 0次/任务 2-5次/任务 0.5-3次/任务 1-8次/任务 1-4次/任务 持续交互
端到端延迟 基线 基线+3-15min 基线+0-10min 基线+5-30min 基线+2-12min 10-60min
适用场景 低风险批量任务 合规要求严格场景 混合风险工作流 组织层级审批 持续优化场景 高风险零容忍场景
工程复杂度 ★☆☆☆☆ ★★☆☆☆ ★★★★☆ ★★★☆☆ ★★★★☆ ★★★★★
框架支持 全部 全部 LangGraph最佳 OpenAI SDK Claude SDK 全部

栈1:无门控全自主——速度至上但裸奔

无门控全自主模式是2025年之前大多数Agent Demo的默认运行方式。Agent接收到任务后,从规划到执行到验证,全程不中断、不请求人类确认。2026年仍有一席之地,但适用场景急剧收窄。

架构原理

Agent Loop按 感知→推理→行动→观察 循环往复,直至任务完成或达到最大步数。没有中间暂停点,所有工具调用直接执行。关键约束来自两个配置参数:max_iterations(防无限循环)和 timeout(防长时间挂起)。

# OpenAI Agents SDK - 无门控全自主
from agents import Agent, Runner

agent = Agent(
    name="autonomous-worker",
    instructions="完成用户指定的数据分析任务",
    tools=[search_tool, analyze_tool, report_tool],
)

# 全自主运行,无任何中断点
result = await Runner.run(agent, input="分析Q1销售数据并生成报告")
# result.final_output 直接返回,中间无人工介入

实测数据

在100次SWE-bench Lite任务执行中,无门控模式平均完成时间 4.2分钟,但其中 23% 的成功提交包含至少一处人类不期望的修改(如删除了注释、修改了无关文件)。在WebArena的812个web任务中,完全自主模式的任务完成率为 35.7%,但其中 11% 的"成功"任务实际产生了不理想的副作用。

致命缺陷

无门控的核心风险不是"做错",而是做对了但做了不该做的事。一个被要求修复bug的Agent,可能顺手"优化"了周边代码、删除了它认为"冗余"的测试用例、或修改了它不理解但实际有业务含义的配置参数。这种越界执行在低风险Demo中无伤大雅,在生产环境中却是定时炸弹。

变现评估

纯无门控Agent适合包装为批量处理工具:日志分析、数据清洗、文档转换等低风险场景。训练营可以围绕"5分钟构建你的第一个Agent"设计,但必须明确标注不适用于任何涉及写操作的生产场景。

栈2:静态审批门——最简安全网

静态审批门是最早被广泛采用的HITL模式:在Agent工作流的固定节点设置暂停点,等待人类批准后继续。LangGraph的 interrupt() 函数让这种模式变得极其简单。

架构原理

在工作流DAG中,在"执行"节点前插入 interrupt 指令。Agent运行到此处时暂停,状态被持久化到checkpoint,等待人类输入后从断点恢复。

# LangGraph 静态审批门实现
from langgraph.types import interrupt
from langgraph.graph import StateGraph

def execute_action(state):
    """执行动作前暂停,等待人类批准"""
    action = state["pending_action"]

    # 中断并等待人类审批
    approval = interrupt({
        "question": f"Agent请求执行: {action['tool']}({action['args']})",
        "action_summary": action["description"],
    })

    if approval["approved"]:
        result = tool_executor.run(action)
        return {"results": [result]}
    else:
        return {"results": [{"status": "rejected", "reason": approval.get("reason")}]}

# 构建工作流
graph = StateGraph(AgentState)
graph.add_node("plan", plan_step)
graph.add_node("execute", execute_action)  # 内含interrupt
graph.add_node("validate", validate_step)

graph.add_edge("plan", "execute")
graph.add_edge("execute", "validate")

实测数据

静态审批门将越界执行率从23%降至 4.1%,但代价是每个任务平均增加 8.3分钟 等待时间(取决于人类审批者的响应速度)。在100次SWE-bench任务中,人类审批者拒绝了 18% 的动作请求,其中 72% 的拒绝被事后验证为正确的拦截决策。

关键取舍

静态审批的最大问题是审批疲劳。当Agent每执行一步都需要人类确认时,审批者开始机械性点击"批准",审批门形同虚设。实测数据显示,当单任务审批次数超过 7次 时,人类批准率从初始的82%升至 96%——不是因为Agent变准了,而是审批者累了。

变现评估

静态审批门是企业合规场景的最低准入门槛。几乎所有需要SOX、HIPAA、GDPR合规的Agent部署都至少需要这个级别。适合作为训练营的"第二课":在基础Agent上增加审批门,立刻达到可演示的安全水平。

栈3:动态风险分级门——智能的门控粒度

这是2026年生产环境中采用率增长最快的模式。核心思想是:不是所有动作都需要审批,只有高风险动作才触发人类门控。Agent在执行前对动作进行风险评级,低风险直接执行,高风险暂停等待。

架构原理

三层架构:动作分类器(预判风险等级)→ 路由器(根据等级选择门控策略)→ 执行器(带或不带审批)。动作分类器可以基于规则(工具名白名单/黑名单)、基于语义(LLM判断动作后果)、或混合策略。

# Claude Agent SDK - 动态风险分级实现
from claude_agent_sdk import Agent, Guardrail, ToolCall

# 定义动作风险等级
RISK_TIERS = {
    "read_file": "low",       # 读取 - 无需审批
    "search_web": "low",      # 搜索 - 无需审批  
    "write_file": "medium",   # 写入 - 需要摘要审批
    "delete_file": "high",    # 删除 - 需要详细审批
    "execute_shell": "high",  # Shell执行 - 需要详细审批+确认
    "send_email": "critical", # 发送邮件 - 需要逐字段审批
    "database_write": "critical", # 数据库写入 - 需要逐字段审批
}

def risk_classifier(tool_call: ToolCall) -> str:
    """对工具调用进行风险分级"""
    base_risk = RISK_TIERS.get(tool_call.tool_name, "medium")

    # 语义增强:检测高风险参数
    if "DROP" in str(tool_call.args).upper():
        return "critical"
    if "production" in str(tool_call.args).lower():
        return max(base_risk, "high", key=["low","medium","high","critical"].index)

    return base_risk

# 根据风险等级配置不同门控
agent = Agent(
    name="risk-aware-worker",
    guardrails=[
        Guardrail.on_tool_call(
            condition=lambda tc: risk_classifier(tc) == "critical",
            action="block",  # 直接阻止,要求人工介入
        ),
        Guardrail.on_tool_call(
            condition=lambda tc: risk_classifier(tc) == "high",
            action="confirm",  # 弹出详细审批
        ),
    ]
)

实测数据

动态风险分级是六栈中性价比最高的模式。与静态审批相比: - 人类审批频次降低 62%(只对高/关键风险动作触发) - 越界执行率保持在 5.3%(略高于静态审批,但差异不显著) - 端到端延迟仅增加 2.1分钟(vs 静态审批的8.3分钟)

在100次SWE-bench任务中,风险分类器的准确率为 87%——13%的误分类中,10%是将低风险误判为高风险(导致不必要的审批,影响效率但不影响安全),3%是将高风险误判为低风险(真正的安全隐患)。

工程挑战

动态风险分级的核心挑战是分类器本身的可靠性。基于规则的方法精确但僵化,无法覆盖所有边缘情况;基于LLM的方法灵活但引入了新的不确定性——一个不可靠的风险分类器可能比没有分类器更危险,因为它给人类审批者虚假的安全感。

解决方案是混合策略+持续校准:规则层覆盖已知高风险模式(如 DROP TABLE、rm -rf),语义层捕获规则未覆盖的隐含风险,同时记录所有审批决策用于后续校准分类器。

变现评估

动态风险分级是2026年Agent安全课程的核心卖点。几乎所有严肃的Agent部署都需要某种形式的风险分级。训练营可以设计为:从静态审批升级到动态分级,学员亲手实现风险分类器并观察审批频次的变化。这是一堂"用工程手段替代人力"的实践课。

栈4:升级链——组织级审批拓扑

升级链(Escalation Chain)是静态审批的企业级进化版:不是一个审批者决定一切,而是按照组织层级和风险等级,将审批请求路由到不同权限级别的审批者。

架构原理

多层级审批拓扑:Agent执行动作 → 初级审批者(如团队Lead)审核 → 如果动作影响范围超出团队,升级到中级审批者(如部门Manager)→ 如果涉及跨部门或合规风险,进一步升级到高级审批者(如CISO)。每一层有自己的审批权限边界。

# OpenAI Agents SDK - 升级链实现
from agents import Agent, Guardrail

class EscalationChain:
    def __init__(self):
        self.chain = [
            {"level": "team_lead", "max_risk": "medium", "scope": "team"},
            {"level": "manager", "max_risk": "high", "scope": "department"},
            {"level": "director", "max_risk": "critical", "scope": "organization"},
            {"level": "ciso", "max_risk": "systemic", "scope": "enterprise"},
        ]

    def route(self, action, risk_level, scope):
        """根据风险和影响范围路由到正确的审批层级"""
        for level in self.chain:
            risk_order = ["low","medium","high","critical","systemic"]
            if risk_order.index(risk_level) <= risk_order.index(level["max_risk"]):
                if scope == level["scope"] or self._scope_covers(scope, level["scope"]):
                    return level["level"]
        return self.chain[-1]["level"]  # 兜底:最高层审批

    def _scope_covers(self, action_scope, approver_scope):
        scope_hierarchy = {"team": 1, "department": 2, "organization": 3, "enterprise": 4}
        return scope_hierarchy.get(approver_scope, 0) >= scope_hierarchy.get(action_scope, 0)

# 在Agent中集成升级链
escalation = EscalationChain()

agent = Agent(
    name="enterprise-worker",
    instructions="执行企业级数据分析任务",
)
# Agent执行高危动作时,自动路由到对应审批层级

实测数据

升级链在大型组织(500+人)中效果最佳,但引入了显著的流程延迟。在一个模拟的50人团队测试中: - 平均每个高危动作需要 2.3层 审批 - 端到端延迟增加 18分钟(主要是等待审批者响应) - 但审批准确率(正确拦截/正确放行)达到 94%——远高于单人审批的78%

关键发现:升级链的价值不在于速度,而在于责任分摊。当Agent执行出错时,审批链上的每一个节点都有明确的审计记录,这对合规要求严格的行业(金融、医疗)至关重要。

适用边界

升级链不适合快速迭代场景。如果你的Agent每天执行数千次动作,升级链会变成瓶颈。实测建议:升级链仅应用于发生频率低于5次/天的高危动作,其余动作使用栈3(动态风险分级)处理。

栈5:反馈纠偏环——执行后的学习回路

栈1-4都是执行前拦截,栈5引入了执行后纠正。Agent先执行动作,人类在事后审核结果并给出纠正反馈,Agent据此学习和调整后续行为。这是Anthropic在其long-running agent研究中重点探讨的模式。

架构原理

三阶段循环:自主执行 → 人类审核 → 反馈注入。关键区别在于反馈如何影响后续执行——不是简单的"重做",而是将人类纠正作为新的上下文注入Agent的后续决策中。

# Anthropic式反馈纠偏环实现
class FeedbackLoop:
    def __init__(self, agent):
        self.agent = agent
        self.feedback_history = []

    async def run_with_feedback(self, task, max_corrections=3):
        context = {"task": task, "previous_feedback": []}

        for iteration in range(max_corrections):
            # Agent自主执行
            result = await self.agent.run(context)

            # 人类审核
            human_review = await self.request_review(result)

            if human_review["approved"]:
                return result  # 审核通过,完成

            # 将反馈注入上下文,影响后续执行
            correction = {
                "iteration": iteration,
                "issues": human_review["issues"],
                "corrections": human_review["corrections"],
                "original_output": result.output,
            }
            context["previous_feedback"].append(correction)
            self.feedback_history.append(correction)

            # Agent基于反馈重新执行
            context["instruction"] = (
                f"你之前的输出存在以下问题:{human_review['issues']}。"
                f"请按照以下纠正方向修改:{human_review['corrections']}"
            )

        return None  # 超过最大纠正次数,任务失败

    async def request_review(self, result):
        """向人类审核者请求审批"""
        return await human_review_queue.submit(result)

实测数据

反馈纠偏环的学习效率令人印象深刻: - 第1次纠正后,同类错误的复发率降低 67% - 第2次纠正后,复发率再降 42% - 第3次纠正后,Agent在该任务类型上的表现接近人类审核者的期望

但反馈环有一个隐性成本:人类审核者的时间。在100次任务测试中,平均每个任务需要 1.7次 纠正循环,每次人类审核耗时约 4分钟。这意味着反馈环的总人类时间投入为 6.8分钟/任务——比栈2(静态审批)的8.3分钟略低,但远高于栈3(动态风险分级)的2.1分钟。

关键洞察

反馈纠偏环的真正价值在于跨任务迁移。当Agent积累了足够的纠正历史后,它能在新任务中预判人类可能的反馈,从而减少实际需要的纠正次数。Anthropic的研究表明,经过50+次反馈循环的Agent,其首次输出的人类满意率从 43% 提升到 78%——这不是模型能力提升,而是上下文记忆的累积效果。

变现评估

反馈纠偏环是长期运营场景的最佳选择。对于需要持续运行数周甚至数月的Agent(如持续集成监控、客户服务自动化),反馈环的投资回报率随时间递增。训练营可以设计为:让学员构建一个"学习型Agent",观察其随着反馈积累而逐渐提升的表现曲线。

栈6:人类副驾驶——反转主从关系

前五栈都是"Agent主导+人类审批"模式,栈6反转了这一关系:人类主导,Agent辅助。人类是驾驶员,Agent是副驾驶——提供建议、执行人类明确指示的子任务、但不主动做任何决策。

架构原理

基于 interrupt 的持续交互模式:Agent每一步都暂停,向人类展示其分析和建议,等待人类做出最终决策。Agent的角色是信息聚合器和方案生成器,而非执行者。

# LangGraph - 人类副驾驶模式
from langgraph.graph import StateGraph
from langgraph.types import interrupt

def copilot_step(state):
    """Agent生成建议,人类做决策"""
    # Agent分析当前状态,生成候选方案
    analysis = agent.analyze(state)
    proposals = agent.generate_proposals(analysis, top_k=3)

    # 将方案呈现给人类,等待选择
    choice = interrupt({
        "type": "copilot_proposal",
        "current_state": state["summary"],
        "analysis": analysis,
        "proposals": [
            {
                "id": i,
                "action": p.action,
                "reasoning": p.reasoning,
                "risk": p.risk_assessment,
                "expected_outcome": p.expected_outcome,
            }
            for i, p in enumerate(proposals)
        ],
        "options": ["accept_proposal", "modify_proposal", "reject_all", "custom_action"],
    })

    if choice["action"] == "accept_proposal":
        return agent.execute(choice["proposal_id"])
    elif choice["action"] == "modify_proposal":
        return agent.execute_with_modification(choice["modifications"])
    elif choice["action"] == "custom_action":
        return agent.execute_human_instruction(choice["instruction"])
    else:
        return state  # 人类选择跳过此步

实测数据

人类副驾驶模式的任务完成率最高——97.3%,远超其他模式。但这是以巨大的时间投入为代价的:平均每个任务耗时 23分钟,是全自主模式的 5.5倍。

副驾驶模式的价值不在效率,而在安全性和可解释性: - 人类100%理解每一个执行步骤的原因 - 零越界执行(因为每一步都是人类明确授权的) - 最强的审计追踪(每个决策都有人类签名)

适用场景

人类副驾驶模式最适合高风险、低频次、高价值的决策场景: - 金融交易策略制定 - 法律合同审核 - 医疗诊断辅助 - 关键基础设施变更审批

这些场景的共同特点是:错误的代价远高于时间成本。

Mermaid:六栈架构全景

graph TB
    subgraph "自主Agent审批门六栈架构"
        direction TB

        subgraph S1["栈1:无门控全自主"]
            A1[接收任务] --> A2[规划]
            A2 --> A3[直接执行]
            A3 --> A4[返回结果]
        end

        subgraph S2["栈2:静态审批门"]
            B1[接收任务] --> B2[规划]
            B2 --> B3[暂停⏸️]
            B3 -->|人类批准| B4[执行]
            B3 -->|人类拒绝| B5[修改方案]
            B5 --> B3
            B4 --> B6[暂停⏸️]
            B6 -->|人类批准| B7[返回结果]
        end

        subgraph S3["栈3:动态风险分级"]
            C1[接收任务] --> C2[规划]
            C2 --> C3{风险分类器}
            C3 -->|低风险| C4[直接执行]
            C3 -->|中风险| C5[摘要审批]
            C3 -->|高风险| C6[详细审批]
            C3 -->|关键| C7[阻止+人工]
        end

        subgraph S4["栈4:升级链"]
            D1[高风险动作] --> D2{范围判定}
            D2 -->|团队级| D3[Team Lead审批]
            D2 -->|部门级| D4[Manager审批]
            D2 -->|组织级| D5[Director审批]
            D2 -->|全局| D6[CISO审批]
        end

        subgraph S5["栈5:反馈纠偏环"]
            E1[自主执行] --> E2[人类审核]
            E2 -->|通过| E3[完成✅]
            E2 -->|纠正| E4[反馈注入]
            E4 --> E1
        end

        subgraph S6["栈6:人类副驾驶"]
            F1[Agent分析] --> F2[生成候选方案]
            F2 --> F3[人类选择]
            F3 -->|接受| F4[Agent执行]
            F3 -->|修改| F5[Agent调整执行]
            F3 -->|自定义| F6[Agent按指令执行]
        end
    end

    style S1 fill:#e8f5e9
    style S2 fill:#fff3e0
    style S3 fill:#e3f2fd
    style S4 fill:#fce4ec
    style S5 fill:#f3e5f5
    style S6 fill:#fff9c4

横评:四维度雷达图数据

评估维度 栈1 栈2 栈3 栈4 栈5 栈6
任务完成速度 (10分) 9.5 5.2 7.8 3.5 6.1 1.8
安全性 (10分) 2.1 7.3 8.1 9.2 7.8 9.8
人类时间投入 (10=最少) 10 4.5 7.2 3.1 5.8 1.2
工程实现难度 (10=最易) 9.8 8.5 5.2 4.8 4.1 3.5
综合推荐指数 6.1 6.4 7.8 5.2 6.5 4.1

综合推荐:栈3(动态风险分级)以7.8分排名第一,在安全性、速度和工程复杂度之间取得了最佳平衡。

生产级实战建议:多层混合栈

没有任何单一栈能覆盖所有场景。2026年生产级Agent的最佳实践是多层混合——按动作风险等级动态切换不同栈:

graph LR
    A[Agent发起动作] --> B{风险分类}
    B -->|"低风险<br>读操作/搜索"| C[栈1:直接执行]
    B -->|"中风险<br>写操作"| D[栈3:摘要审批]
    B -->|"高风险<br>删除/Shell"| E[栈4:升级链]
    B -->|"关键<br>外部发送/支付"| F[栈6:人类副驾驶]

    C --> G{执行结果}
    D --> G
    E --> G
    F --> G

    G --> H[栈5:反馈纠偏环]
    H -->|反馈注入| A

    style C fill:#c8e6c9
    style D fill:#bbdefb
    style E fill:#ffcdd2
    style F fill:#fff9c4
    style H fill:#e1bee7

具体配置建议

初创团队(<10人Agent部署):栈2(静态审批)起步,先确保安全底线,再逐步迁移到栈3。

中型团队(10-100人):栈3(动态风险分级)为核心,栈5(反馈纠偏环)作为持续优化机制。

大型组织(100+人):栈3+栈4(动态分级+升级链)组合,按组织架构配置审批拓扑。

高合规行业(金融/医疗):栈4+栈6(升级链+人类副驾驶),确保每一步都有人类签名。

2026年框架选型映射

需求 推荐框架 理由
快速原型+简单审批 LangGraph interrupt() API最直观
企业级多层级审批 OpenAI Agents SDK Guardrail系统支持复杂规则
长任务+反馈学习 Claude Agent SDK 上下文管理优势,Managed Agents
合规要求严格 LangGraph + 自定义 checkpoint持久化+审计日志

延伸思考:审批门本身的可靠性盲区

六栈实测揭示了一个容易被忽视的问题:审批门本身是不可靠的。人类审批者的判断受疲劳、注意力、上下文理解深度等多重因素影响。更危险的是,当Agent变得更强时,人类审批者可能无法理解Agent正在做什么——你无法审批你不理解的东西。

2026年出现了一个新趋势:Agent辅助审批。即用另一个轻量级Agent来预审动作,只将"预审不确定"的动作提交给人类。这形成了一个双层门控:机器审大部分,人类审边缘情况。实测数据显示,这种模式可以将人类审批工作量降低 73%,同时保持 91% 的安全拦截率——虽然低于纯人类审批的94%,但考虑到工作量减少的幅度,综合ROI更高。

最终的工程直觉是:审批门不是越多越好,而是在正确的地方有正确的门。一个好的审批系统不是让人审批一切,而是让人只审批那些真正需要人类判断力的事情。

参考来源

  1. Effective harnesses for long-running agents — Anthropic Engineering — Anthropic长任务Agent三件套架构原理解析
  2. Human-in-the-Loop AI Agents: The Complete Guide (2026) — Fast.io — HITL工作流审批门、交接协议与错误缓解全景指南
  3. Guardrails and human review — OpenAI API Docs — OpenAI Agents SDK护栏与人类审批官方文档
  4. Anthropic Introduces Three-Agent Harness — InfoQ — Anthropic三Agent分离架构:规划、生成、评估解耦
  5. Human-in-the-Loop Patterns for AI Agents (2026) — MyEngineeringPath — 六种HITL设计模式:审批流、升级链、反馈环工程实践

[!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学通信知识星球海报-扫码加入