HumanInTheLoopMiddleware(人在环中间件、人工审核中间件)在工具调用前中断Agent运行,等待用户对工具调用请求决策。可选的决策有: approve(同意执行) 、edit(编辑调用配置后执行) 、reject(拒绝执行) 。
2.2.1 参数说明
参数1:interrupt_on —工具名和中断策略的映射
策略可以是True、False或InterruptOnConfig对象,精细控制决策选项。
比如:
![图片[1]-2.2 HumanInTheLoopMiddleware中间件-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-940.png)
1. True表示所有决策(approve, edit, reject) 都可以选择,相当于
![图片[2]-2.2 HumanInTheLoopMiddleware中间件-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-941.png)
- False表示不中断,即无需审批即可执行。
- InterruptOnConfig 是一个TypedDict的子类,可以用字典直接赋值。支持的Key有:
① allowed_decisions 精细控制中断后允许的决策。
② description :特定工具的中断描述信息,优先级高于description_prefix,后 者会更
改所有工具中断的描述。
参数2:description_prefix —自定义中断描述
默认为”Tool execution requires approval” ,下面的举例可以看到效果。
2.2.2 举例过程1:调用前中断
注意:本例需要从中断的位置让Agent继续运行,这就需要用到短期记忆,这里先使用即可。
创建Agent时通过checkpointer参数启用了短期记忆,在调用时通过传递相同的config加载记忆。记住固定用法即可。
![图片[3]-2.2 HumanInTheLoopMiddleware中间件-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-942.png)
![图片[4]-2.2 HumanInTheLoopMiddleware中间件-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-943.png)
![图片[5]-2.2 HumanInTheLoopMiddleware中间件-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-944.png)
![图片[6]-2.2 HumanInTheLoopMiddleware中间件-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-945.png)
![图片[7]-2.2 HumanInTheLoopMiddleware中间件-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-946.png)
![图片[8]-2.2 HumanInTheLoopMiddleware中间件-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-947.png)
2.2.3 举例过程2:指明工具调用请求决策
![图片[9]-2.2 HumanInTheLoopMiddleware中间件-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-948.png)
![图片[10]-2.2 HumanInTheLoopMiddleware中间件-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-949.png)
![图片[11]-2.2 HumanInTheLoopMiddleware中间件-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-950.png)
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
















请登录后查看评论内容