AI Agent超时处理:工具调用太久就跳过

📘 AI教程 💬 🔥 Trending

🩺 摘要

一个工具卡住了5秒,Agent还在傻等。超时处理让Agent在合理时间内放弃等待,不耽误后续任务。

📝 详情

卡住的问题

第三方API有时候就是慢。Agent等着等着,用户已经走了。超时处理让Agent不等了,走下一步。

实现

import asyncio

async def call_with_timeout(fn, timeout=10):
    try:
        result = await asyncio.wait_for(fn(), timeout=timeout)
        return result
    except asyncio.TimeoutError:
        return {'error': 'timeout', 'message': f'工具调用超过{timeout}秒'}

超时后的策略

  1. 重试一次(可能只是网络抖动)
  2. 切备用工具(如果有的话)
  3. 跳过这个工具,用已有结果继续
  4. 告知用户部分结果可用

建议的超时时间

工具类型 超时时间
LLM调用 30秒
搜索API 10秒
数据库查询 5秒
文件操作 3秒

总结

不给工具调用设超时时间,等于让Agent无限制等下去。每个工具设合理的超时,超了就走下一步。