评估中心让你能够在部署到生产环境之前验证智能体质量。创建测试用例数据集,针对任何已发布的智能体运行测试,并获得包含每个用例通过/失败判定、延迟和令牌使用情况的定量报告。Documentation Index
Fetch the complete documentation index at: https://docs.fim.ai/llms.txt
Use this file to discover all available pages before exploring further.
为企业采购审查而设计 — 每个结果都是可审计的、可重现的,并持久存储。
工作原理
每次评估运行都会为每个测试用例执行一个三阶段管道:LLM 评分
一个单独的”评分器” LLM(快速模型)根据预期行为和断言来判断答案。输入:提示 + 预期行为 + 断言 + 答案。输出:
{ verdict: "pass"|"fail", reasoning: "..." }。关键设计决策
| 决策 | 原因 |
|---|---|
| 真实 ReActAgent(非模拟) | 测试实际的智能体行为,包括工具调用和多步推理 |
| 独立的评分器 LLM(快速模型) | 成本低且速度快;智能体 LLM 在执行期间已消耗令牌 |
asyncio.Semaphore(5) | 将并发限制在 5 以避免向 LLM 提供商发送过多请求导致速率限制错误 |
| 每个案例都是独立的 | 案例之间没有对话历史;每个案例都获得一个新的智能体实例 |
| 后台执行 | 运行作为异步任务触发 — API 立即返回,前端每 3 秒轮询一次 |
工作流
1. 创建数据集
导航到 Eval Center → Datasets 标签页,然后点击 New Dataset。 数据集是测试用例的命名集合。为其提供一个描述性的名称(例如,“Customer Support — Tier 1 Questions”)和可选的描述。2. 添加测试用例
点击进入您的数据集并添加测试用例。每个用例有三个字段:| 字段 | 必需 | 描述 |
|---|---|---|
| 提示词 | 是 | 发送给智能体的确切问题或指令 |
| 预期行为 | 是 | 对正确答案应该是什么样的自然语言描述 |
| 断言 | 否 | 具体检查项列表(例如,“答案提到退款政策”、“响应少于200字”) |
3. 启动评估
转到 Eval Runs 选项卡,然后点击 New Evaluation。选择:- Agent — 任何您拥有的智能体
- Dataset — 任何至少包含一个测试用例的数据集
4. 查看结果
结果页面显示:- 标题:智能体名称、数据集名称、状态徽章、通过率、平均延迟、总令牌数
- 进度条:随着用例完成而填充(绿色 = 通过比例)
- 结果表:每个测试用例一行,包含:
- 提示词(截断 — 点击展开)
- 判定:通过(绿色)、失败(红色)或错误(橙色)
- 智能体的回答(截断 — 点击展开)
- 评分器的推理(为什么通过或失败)
- 延迟(毫秒)和令牌计数
测试内容
包含内容
- 内置工具:计算器、网络搜索、网页获取、Python 执行、文件操作等
- 智能体指令:智能体的
extra_instructions字段会被传递 - 智能体配置的模型:如果智能体有自定义模型配置,将使用该模型
不包括的内容(设计考虑)
- 连接器:外部 HTTP 连接器需要实时第三方服务 — 为避免测试不稳定而在评估中跳过
- MCP 服务器:原因相同 — 外部进程依赖
- 对话历史:每个案例独立运行,没有先前上下文
- 知识库:知识库检索工具在评估模式下不加载
这意味着评估结果反映的是智能体的推理和工具使用能力,而不是它与外部服务的集成。通过连接器测试功能单独测试连接器。
评分器
评分器是一个 LLM(系统的”快速”模型),它接收四条信息并返回结构化的 JSON 判决: 系统提示:You are an impartial AI evaluator. Your job is to judge whether an AI agent’s answer meets the expected behavior for a given prompt. Be strict but fair. A “pass” requires the answer to genuinely address the prompt according to the expected behavior. A “fail” means the answer is wrong, incomplete, off-topic, or misses key requirements.用户消息包括:
- 原始提示
- 预期行为
- 断言列表(或”未指定”)
- 智能体的实际答案
structured_llm_call 和函数调用来强制执行架构。如果评分器本身失败(网络错误、格式错误的响应),该案例被标记为 error。
最佳实践
数据集设计
- 从小处开始:5–10 个案例涵盖智能体的核心用例
- 覆盖边界情况:至少包含 2–3 个对抗性或超出范围的提示
- 在预期行为中保持具体:模糊的期望会导致评分不一致
- 使用断言来处理硬性要求:“必须提及价格”比希望评分器捕捉到它更可靠
解释结果
- 80%+ 通过率 是配置良好的智能体的良好基线
- 低通过率且高延迟 表明智能体在多步推理方面遇到困难
- 错误状态 意味着智能体或评分器崩溃 — 检查服务器日志了解详情
- 评分器分歧:如果您认为评分器有误,请阅读其推理。您可能需要优化您的预期行为描述
何时重新评估
- 更改智能体指令后
- 切换智能体的 LLM 模型后
- 添加或删除工具类别后
- 在任何生产部署前(CI/CD 集成将在未来版本中推出)