AI Agent部分结果:一个工具挂了不影响整个任务

📘 AI教程 💬 🔥 Trending

🩺 摘要

5个工具里1个挂了,Agent就不干活了。部分结果模式让Agent用已有的结果先回复用户。

📝 详情

全部或全不?

传统模式:Agent需要调用5个工具获取数据,然后合成回答。如果第3个工具挂了,整个任务失败。

部分结果模式

能拿到的数据先用,拿不到的跳过。

def collect_with_partial(tools):
    results = {}
    for tool in tools:
        try:
            results[tool.name] = tool.call()
        except Exception:
            results[tool.name] = None
    return results

实际案例

用户问:今天北京的天气怎么样?适合出门吗?

Agent需要:天气数据(成功)+ 空气质量(成功)+ 推荐活动(挂了)

部分结果模式:天气28度晴、空气良好,推荐活动拿不到。Agent回复:今天北京28度晴,空气良好,适合出门。至于有什么活动推荐,暂时查不到。

总结

部分结果比没有结果好。别让一颗老鼠屎坏了一锅汤。 能用的数据先用,不能用的告诉用户。