AI Agent人机协作:关键步骤让人来确认,不是不信任Agent

📘 AI教程 💬 🔥 Trending

🩺 摘要

全自动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="审批超时")

超时后默认不执行(安全优先),同时通知管理员"有一个待审批请求已过期"。