AI Agent人机协作:关键步骤让人来确认,不是不信任Agent
全自动Agent听起来很酷,但真到生产环境,没人敢让Agent随便删数据库。人机协作不是不信任,是最后的保险。
💡 你将学到
全自动Agent听起来很酷,但真到生产环境,没人敢让Agent随便删数据库。人机协作不是不信任,是最后的保险。
一个故事:某公司的Agent自动执行了一个"清理缓存"的命令,但因为配置写错了缓存路径,把用户上传的文件全删了。花了三天恢复数据。
从那以后,所有"有风险"的操作都加了人工确认。
哪些操作需要人工确认?
| 操作 | 风险等级 | 需要确认? |
|---|---|---|
| 查资料、搜索 | 低 | 不 |
| 写草稿、翻译 | 低 | 不 |
| 发邮件、发消息 | 中 | 建议 |
| 删文件、改数据库 | 高 | 必须 |
| 付钱、下单 | 高 | 必须 |
实现
def send_email_confirm(to, subject, body):
# 先生成草稿
draft = {"to": to, "subject": subject, "body": body}
# 发给用户确认
send_for_approval(draft)
# 等用户点确认
return wait_for_approval(draft_id)
总结
人机协作的正确姿势:Agent做90%的工作,关键1%让人确认。既保证了效率,又不会出事。
实际案例:审批流
一个合规场景:Agent要删除一条用户数据。在HITL模式下: 1. Agent发现数据需要删除 → 生成删除请求 2. 请求发送给管理员确认(Slack/邮件/后台) 3. 管理员审核 → 批准或拒绝 4. Agent收到确认后执行或放弃
这条流程让Agent保留了自动化的效率,同时避免了误操作的风险。
确认超时处理
如果管理员一直不确认怎么办?设置超时时间:
def request_approval(action, timeout=300):
send_approval_request(action)
start = time.time()
while time.time() - start < timeout:
status = check_approval_status(action['id'])
if status == 'approved':
return execute_action(action)
elif status == 'rejected':
return cancel_action(action)
time.sleep(5)
# 超时了,默认不执行
return cancel_action(action, reason="审批超时")
超时后默认不执行(安全优先),同时通知管理员"有一个待审批请求已过期"。
相关文章
相关文章
2026-07-23
2026年开源RAG框架对比:LangChain vs LlamaIndex vs Haystack
2026-07-19
开源AI绘图模型推荐:免费替代Midjourney的方案
2026-08-01
AI智能体记忆基准测试:如何衡量记忆
本站文章由编辑人工撰写,收录的工具均经过实测或公开资料核验。文中链接指向工具官网或 GitHub 仓库,仅作信息参考,不构成付费推广。
