TensorFusion Docs

智能体评估

评估智能体质量 — 静态检查、动态测试、工具调用验证和 LLM 评判。

智能体评估

评估系统通过多阶段流水线自动检测智能体的配置质量、工具调用准确性和回答质量,生成量化评分和改进建议。

评估流水线

评估按以下阶段顺序执行,总预算 4 分钟:

触发评估

1. 静态检查 — 配置 lint、业务设计检查
  ↓ (关键检查失败则提前终止,评分上限 0)
2. 测试用例生成 — LLM 自动生成或使用自定义用例

3. 动态运行 — 逐条执行测试用例,记录响应和工具调用
  ↓ (动态测试未执行则评分上限 30)
4. 工具调用验证 — 端点匹配、参数 Schema 校验、语义验证

5. 确定性评分 — BLEU、ROUGE、延迟等客观指标

6. LLM 评判 — 多维度主观质量评分

7. 聚合评分 — 三层评分体系 + 综合得分

评估触发来源

来源说明
creation智能体创建时自动触发
import导入模板时自动触发
manual管理员手动触发
update智能体配置变更时触发

评估模式

模式说明
fast仅运行前 2 条测试用例,跳过 LLM 评判,适合快速验证
full完整流水线,所有阶段均执行
regression使用指定的测试用例集,适合回归测试

阶段详解

1. 静态检查

不运行智能体,仅分析其配置:

检查项分类说明
system_prompt_quality配置 lintSystem Prompt 是否完整、清晰
skill_completeness配置 lint技能配置是否完备
tool_reachability配置 lint工具是否可达
config_consistency配置 lint配置项之间是否一致
task_card_coverage业务设计任务卡是否覆盖核心场景
prompt_tool_result_mandate业务设计Prompt 是否要求工具调用后再回答
prompt_clarification_strategy业务设计是否有澄清策略
prompt_refusal_boundary业务设计是否定义了拒答边界

每项检查产生 0~100 的分数,以及 critical / warning / info 严重级别。

关键检查失败会提前终止评估,整体评分为 0,并直接输出改进建议。

2. 测试用例生成

系统从智能体的技能配置中提取 API 端点,自动生成覆盖以下场景的测试用例:

用例类型说明
happy_path正常业务流程
edge_case边界情况
negative异常输入或越权请求
tool_specific针对特定工具的测试

每条用例包含问题、期望行为、期望调用的工具和参数。

3. 动态运行

逐条执行测试用例,记录:

  • 智能体的完整响应文本
  • 执行轨迹(executionTrace):所有工具调用的名称、参数、返回结果和延迟
  • 总 Token 消耗和对话轮次
  • 是否成功(success

每条用例超时 35 秒,全局动态测试阶段使用评估总预算的 50%。

4. 工具调用验证

基于动态运行的执行轨迹,验证工具调用的正确性:

Schema 校验:

  • 工具是否真实存在(非幻觉工具)
  • 参数是否符合 Schema(类型、必填项)
  • 是否存在未知参数

轨迹匹配:

  • Tool Call F1 Score(精确率、召回率、F1)
  • 参数准确率
  • 步骤比例和调用比例
  • 部分匹配评分

错误类型:

错误类型严重级别说明
hallucinated_tool严重调用了不存在的工具
silent_failure严重工具调用失败但智能体未告知用户
wrong_tool警告调用了错误的工具
wrong_params警告参数错误
missing_call警告遗漏了应该调用的工具
unnecessary_call警告不必要的工具调用

参数语义验证(full 模式):

在 Schema 校验之外,使用 LLM 判断参数值在语义上是否合理(如日期格式、业务逻辑等),评分 1~5。

5. 确定性评分

使用客观指标评估响应质量:

  • 响应非空检查 — 智能体是否返回了有效内容
  • 延迟评分 — 响应时间是否在合理范围内
  • 其他文本质量指标(BLEU、ROUGE 等)

6. LLM 评判

选取成功的动态运行结果,由 LLM 从多维度评判:

  • 回答的准确性和相关性
  • 工具使用的合理性
  • 用户体验和表达质量
  • 是否遵循了 System Prompt 的约束

每个维度产生 1~5 分的评分和改进建议。

三层评分体系

最终评分由三个维度加权得出:

维度权重计算方式
能力分(capability_score)20%静态检查平均分
执行分(execution_score)50%工具调用验证 + 参数语义验证 + 确定性评分的加权平均
可靠分(reliability_score)30%延迟评分 * 0.5 + 成功率 * 0.3 + 基础设施健康度 * 0.2

综合评分 = 能力分 * 0.2 + 执行分 * 0.5 + 可靠分 * 0.3

通过阈值

评估通过需同时满足:

  • 综合评分 >= 40
  • hallucinated_toolsilent_failure 严重错误
  • Tool Call F1 >= 0.3
  • LLM 评判无低于 2 分的维度

改进建议

评估完成后,系统从各阶段收集改进建议,按优先级排列:

建议类别来源
tool_definition工具调用验证
system_prompt静态检查、确定性评分、LLM 评判
skill_config静态检查
parameter_schema工具调用验证

每条建议包含优先级(high / medium / low)和具体说明。

REST API

触发评估

POST /api/agents/:agentId/evaluations

请求体(可选):

{
  "mode": "full",
  "testCases": [
    {
      "id": "tc-1",
      "type": "happy_path",
      "question": "帮我查询最近的订单",
      "expectedBehavior": "调用订单查询 API 并返回结果",
      "expectedTools": ["GET /orders"],
      "shouldSucceed": true
    }
  ]
}

空 body 时自动生成测试用例,使用 full 模式。

响应:

{
  "id": "eval-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "status": "pending"
}

返回 202 Accepted,评估在后台异步执行。

列出评估

GET /api/agents/:agentId/evaluations

返回该智能体的所有评估记录,按时间倒序。

获取最新评估

GET /api/agents/:agentId/evaluations/latest

获取指定评估

GET /api/agents/:agentId/evaluations/:evalId

响应结构:

{
  "id": "eval-xxx",
  "agentId": "agent-1",
  "triggerSource": "manual",
  "status": "completed",
  "overallScore": 72,
  "scoreBreakdown": {
    "staticAvg": 85,
    "toolCallAvg": 68,
    "judgeAvg": 75,
    "deterministicAvg": 80,
    "threeLayerScores": {
      "capability_score": 85,
      "execution_score": 70,
      "reliability_score": 78
    },
    "completeness": "complete",
    "coverage": {
      "endpoint_coverage": { "total": 10, "called": 7, "ratio": 0.7 },
      "scenario_coverage": { "happy_path": 3, "edge_case": 2, "negative": 1, "tool_specific": 2 }
    }
  },
  "suggestions": [
    {
      "category": "system_prompt",
      "suggestion": "建议在 System Prompt 中明确拒答边界",
      "priority": "medium"
    }
  ],
  "createdAt": "2026-04-14T10:00:00.000Z",
  "completedAt": "2026-04-14T10:03:30.000Z"
}

目录