限制工具调用次数,可以限制所有工具调用的总次数,也可以限制特定工具的调用次数。
作用如下:
- 避免过多调用某些昂贵的外部API
- 限制网络爬虫或数据库查询请求的数量
- 避免Agent陷入无限循环
退出行为有三种模式:
- error:直接抛异常
- end:结束整个会话
- continue:继续运行Agent,这是默认行为,此时Agent会将工具调用超出限制的信息传递给模型,后者自主决定后续行为,如果模型能力不足,可能导致死循环,为了避免这种情况,我们实现的fake server会以20%的概率输出正确响应,从而能终止循环。
举例1:整个会话限制-优雅结束
![图片[1]-3.2 ToolCallLimitMiddleware中间件-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-993.png)
![图片[2]-3.2 ToolCallLimitMiddleware中间件-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-994.png)
![图片[3]-3.2 ToolCallLimitMiddleware中间件-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-995.png)
举例2:整个会话限制-抛异常
![图片[4]-3.2 ToolCallLimitMiddleware中间件-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-996.png)
![图片[5]-3.2 ToolCallLimitMiddleware中间件-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-997.png)
![图片[6]-3.2 ToolCallLimitMiddleware中间件-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-998.png)
![图片[7]-3.2 ToolCallLimitMiddleware中间件-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-999.png)
案例3:单次调用限制-继续运行
![图片[8]-3.2 ToolCallLimitMiddleware中间件-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-1000.png)
![图片[9]-3.2 ToolCallLimitMiddleware中间件-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-1001.png)
![图片[10]-3.2 ToolCallLimitMiddleware中间件-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-1002.png)
![图片[11]-3.2 ToolCallLimitMiddleware中间件-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-1003.png)
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
















请登录后查看评论内容