Agent 系列(12):Agent 评估框架——怎么知道你的 Agent 到底好不好
你怎么知道你的 Agent"好"?普通函数很好测:给定输入 → 检查输出,通过/不通过。Agent 难在哪?路径不确定:同一个问题,Agent 可能调 1 次工具,也可能调 3 次输出不固定:“北京今天热吗?” 的回答可以是 100 种不同表述失败方式多样:可能工具没调、可能调错了、可能回答正确但绕了很多弯所以 Agent 评估要覆盖三个维度:能力(会不会做)、效率(做得快不快、贵不贵)、鲁棒性(遇到奇怪输入会不会崩)。被评估的 Agent测试对象是一个带三个工具的 ReAct Agent:@lc_tooldefget_weather(city:str)-str:"""Get current weather for a city."""data=MOCK_WEATHER.get(city.lower(),{"temp":20,"condition":"unknown"})returnjson.dumps({"city":city,**data})@lc_tooldefcalculator(expression:str)-str:"""Evaluate a simple arithmetic expression."""...@lc_tooldefget_product_info(product_name:str)-str:"""Get pricing and API limits for WonderBot plans."""...agent=create_react_agent(model=llm,tools=[get_weather,calculator,get_product_info])数据都是 Mock:几个城市的天气、三款产品的价格。工具本身极简,这样 failure 来自 Agent 行为,而不是工具本身。评估数据结构@dataclassclassTestCase:id: