Human-in-the-loop / 人机回路第 45 篇

05 subagent interrupts

它是什么

本站只展示教学文档和静态源码。不会执行示例、启动服务、访问模型、数据库或其他外部系统。

约 213 字·预计阅读 1 分钟
本页目录

它是什么

Subagent 可以定义自己的 interrupt_on,覆盖或补充父 Agent 的审批策略。子 Agent 触发的中断会冒泡到父 Agent 的 GraphOutput.interrupts,恢复方式仍然是 Command(resume=...)。它解决的问题是:专家子 Agent 有自己的风险边界。

常用程度

中。只要 subagent 有敏感工具,就应该考虑给它单独配置。

最小代码

文件:deepagent_src/human_loop_teach/05_subagent_interrupt.py

secret_reader_subagent = {
    "name": "secret-reader",
    "tools": [read_secret],
    "interrupt_on": {
        "read_secret": {"allowed_decisions": ["approve", "reject"]},
    },
}

运行

uv run python deepagent_src/human_loop_teach/05_subagent_interrupt.py

预期输出末尾:

subagent interrupt HITL real agent ok

验证方式

主 Agent 先通过 task 委派给 secret-reader,子 Agent 调 read_secret 时触发 interrupt。脚本 approve 后,父 Agent 的 task 工具结果包含子 Agent 返回值。

常见误区

父 Agent 的 interrupt_on 不一定适合每个 subagent。自定义 subagent 指定 interrupt_on 后,会以子 Agent 自己的配置为准。

参考资源与示例代码