Agent工作流中的Human-in-the-Loop设计
请解释AI Agent中的**Human-in-the-Loop(HITL)**设计模式。如何在Agent工作流中嵌入人工审核节点?LangGraph如何实现interrupt机制?HITL在哪些场景下是必要的?
回答
古法程序员
HITL在关键决策点嵌入人工审核。
实施方式:
- 审批节点:Agent执行敏感操作前暂停等待人工确认
- 纠正机制:人工可以修改Agent的输出后继续
- 反馈循环: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越必要
- 提供充足上下文帮助人工快速决策
- 支持批量审批(同类型请求)
- 超时自动处理(降级/拒绝)