ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

如何让AI Agent暂停等待人工审批:AgentField Human-in-the-Loop审批工作流详解

如何让AI Agent暂停等待人工审批:AgentField Human-in-the-Loop审批工作流详解 如何让AI Agent暂停等待人工审批AgentField Human-in-the-Loop审批工作流详解【免费下载链接】agentfieldBuild, run and scale AI agents like API and microservices项目地址: https://gitcode.com/gh_mirrors/ag/agentfieldAgentFieldBuild, run and scale AI agents like API and microservices是一个把 AI Agent 当作微服务来构建、运行和扩展的控制平面。它的Human-in-the-Loop 审批工作流让你可以一行app.pause()就让 AI Agent 暂停执行、等待人工审批审批通过后自动恢复——状态持久化、可审计、宕机安全是生产级 Agent 治理的核心能力。为什么 AI Agent 需要人工审批Agent 越来越自主但在这些场景里不能让 AI 一个人说了算高风险操作退款、转账、删除生产数据前需要人工确认合规要求医疗、金融流程要求低置信度决策由人拍板多轮修正审批人可以要求修改request_changesAgent 改完再次提交审批AgentField 的设计目标暂停是持久化durable的——即使 Agent 进程崩溃或重启等待状态也不丢失审批回调到达后依然能正确恢复执行。快速上手用app.pause()发起审批在 Python SDK 里审批等待只需要几个参数完整示例见 README.md# 暂停执行等待人工审批通过 webhook 通知审批后自动恢复 await app.pause( approval_request_idfclaim-{claim[id]}, approval_request_urlfhttps://internal.acme.com/approvals/claim-{claim[id]}, )pause()做了两件事见 agent.py调用控制平面 API把本次执行标记为waiting状态挂起当前协程直到收到审批回调approved / rejected / request_changes才继续实现细节可以查看 agent_pause.py它用一个待办 Future 表把approval_request_id和等待者对应起来。控制平面如何管理审批状态状态机running → waitingAgent 调用POST /executions/:execution_id/request-approval后控制平面执行严格的状态校验与落库见 execute_approval.go步骤说明状态校验只有running状态的执行才能发起审批否则返回 409防重复已有待处理审批时拒绝重复请求已解决后允许发起新一轮审批多轮 pause 工作流落库写入approval_request_id、approval_request_url、callback_url、过期时间默认 72 小时事件发布发出execution.waiting事件供仪表盘与 SSE 订阅方感知数据库表结构由迁移文件定义包含审批请求 ID、状态、响应、请求/响应时间戳等字段024_execution_approval_state.sql。审批结果如何回来Webhook 回调审批人在外部审批系统如内部审批平台、Slack 卡片等做出决定后该系统的 webhook 会推送到控制平面处理逻辑见 webhook_approval.go。支持的决策类型✅approved— 通过执行恢复❌rejected— 拒绝执行终止request_changes— 要求修改Agent 可调整后再次发起审批⏰expired— 超时未处理默认 72 小时回调 URL 在存储前会经过SSRF 校验拒绝指向内网、localhost、云元数据地址的链接防止控制平面被当作代理滥用execute_approval.go。主动暂停与恢复不经过审批系统如果只是想临时按住一个执行还有通用的 pause/resume 接口见 execute_pause.goPOST /executions/:id/pause— 从running/queued转为pausedPOST /executions/:id/resume— 从paused恢复为running在 UI 与 API 中追踪审批进度REST 查询轮询GET /api/v1/executions/{execution_id}响应中包含审批字段与status_reason值为waiting_for_approval详见 EXECUTE.md审批状态专用接口GET /executions/:id/approval-status返回决策、请求 URL、请求/响应时间、过期时间嵌入式 UI执行详情页展示审批详情方便值班同学快速定位卡在哪一轮审批Agent 侧还有agent 作用域版本的接口会校验这个执行确实属于当前 Agent 节点防止越权操作execute_approval.go。安全与可靠性设计一览机制作用持久化 waiting 状态崩溃/重启后审批状态不丢失恢复后可继续等待审批超时默认 72h可自定义避免执行永久悬挂超时可自动终止防重复审批请求同一执行不会同时存在两个 pending 审批回调 URL SSRF 校验阻止指向内网地址的恶意回调全链路事件审计execution.waiting事件 执行事件表事后可追溯每次审批功能测试覆盖端到端验证等待状态流程见 test_waiting_state.py总结把人纳入 Agent 生产流水线AgentField 的 Human-in-the-Loop 审批工作流本质是把执行状态机 持久化存储 Webhook 回调三件事做扎实写一行app.pause()Agent 即可暂停等待人工审批控制平面把状态写入数据库并发布事件宕机也不丢审批系统通过 webhook 回传决定执行自动继续或终止UI 与 REST API 全程可查、可审计如果你正在构建需要治理与审计的 AI Agent 系统企业级场景这套可暂停、可恢复、可审计的审批工作流值得直接借鉴。更多 API 细节见 docs/api/ 目录下的文档。【免费下载链接】agentfieldBuild, run and scale AI agents like API and microservices项目地址: https://gitcode.com/gh_mirrors/ag/agentfield创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表