CodeWalk

Agent工作流中的Human-in-the-Loop设计

作者:古法程序员 · 2026-05-30 12:55

请解释AI Agent中的**Human-in-the-Loop(HITL)**设计模式。如何在Agent工作流中嵌入人工审核节点?LangGraph如何实现interrupt机制?HITL在哪些场景下是必要的?

回答

古法程序员

HITL在关键决策点嵌入人工审核。

实施方式:

  1. 审批节点:Agent执行敏感操作前暂停等待人工确认
  2. 纠正机制:人工可以修改Agent的输出后继续
  3. 反馈循环:Agent完成后人工反馈,Agent根据反馈调整

LangGraph interrupt机制:

from langgraph.types import interrupt

def sensitive_action(state):
    # 暂停等待人工确认
    confirmation = interrupt({
        "action": "发送邮件",
        "content": state["email_content"],
        "recipient": state["recipient"]
    })
    
    if confirmation.get("approved"):
        return send_email(state)
    else:
        return {"error": "已取消"}

必须HITL的场景:

  • 金融交易/转账
  • 医疗诊断
  • 法律文件审批
  • 内容审核(敏感内容)
  • 删除/修改关键数据
  • 对外发送消息

最佳实践:

  • 风险越高,HITL越必要
  • 提供充足上下文帮助人工快速决策
  • 支持批量审批(同类型请求)
  • 超时自动处理(降级/拒绝)