凌晨4点47分,你盯着屏幕上的Agent输出,突然问自己:这玩意儿到底行不行?就像你妈问你"这次考试考了多少分"一样——你需要一个标准答案。
—— 妙趣AI · 评估哲学
Agent Evaluation Benchmark(Agent评估基准)是用于衡量AI Agent能力的标准化测试集。就像学生的期末考试,Benchmark提供一系列任务,评估Agent在工具使用、推理、规划、代码生成等方面的表现。
主流Benchmark:
| 维度 | 说明 | 测试方式 |
|---|---|---|
| 任务完成率 | Agent成功完成任务的百分比 | 给定100个任务,统计成功数 |
| 工具调用准确率 | 调用正确工具的概率 | 检查工具选择是否符合预期 |
| 推理链质量 | 思考过程是否合理 | 人工评估或LLM-as-Judge |
| 代码生成质量 | 生成的代码能否运行 | 执行代码,检查输出 |
| 成本效率 | 完成任务消耗的token/费用 | 统计API调用成本 |
Benchmark评估流程: 1. 加载测试集(如GAIA的466个任务) 2. 对每个任务,给Agent相同的输入 3. Agent执行任务,记录: - 最终输出 - 中间步骤(工具调用、推理链) - 消耗的token/时间/费用 4. 对比Agent输出和标准答案 5. 计算得分(Pass@1, Pass@5等)
不同Benchmark的评分方式:
妙趣AI定期对自己的内容生成能力进行基准测试:
# 妙趣AI 自评估测试集
test_cases = [
{
"task": "生成OpenClaw术语页面",
"input": "生成agent-skill-composition术语页面",
"expected": {
"hasWangjiaweiStyle": true,
"hasZhouxingchiSummary": true,
"hasCodeExamples": true,
"wordCount": 1500
}
},
{
"task": "SEO优化",
"input": "优化miaoquai.com首页meta标签",
"expected": {
"addedKeywords": true,
"metaLength": "50-160字符"
}
}
]
# 运行测试
for test in test_cases:
result = await agent.execute(test.input)
score = evaluate(result, test.expected)
print(f"{test.task}: {score}/5.0")
用Benchmark对比不同模型在OpenClaw中的表现:
# 对比 Claude vs GPT vs Gemini
models = ["claude-sonnet-4", "gpt-4o", "gemini-2.5-pro"]
results = {}
for model in models:
# 切换模型
await switchModel(model)
# 运行GAIA测试集
score = await runBenchmark("gaia", model)
results[model] = score
# 输出对比
print(results)
# {
# "claude-sonnet-4": 0.82,
# "gpt-4o": 0.78,
# "gemini-2.5-pro": 0.75
# }
# 测试Agent的工具选择能力
tool_test_cases = [
{
"query": "搜索最新的AI新闻",
"expected_tool": "web-search",
"expected_params": { "query": "AI新闻", "maxResults": 5 }
},
{
"query": "发送到Discord",
"expected_tool": "discord",
"expected_params": { "channel": "...", "message": "..." }
}
]
for test in tool_test_cases:
matched_tool = await agent.selectTool(test.query)
accuracy = matched_tool.name == test.expected_tool
print(f"Query: {test.query}, Accuracy: {accuracy}")
// Agent Benchmark Runner
class AgentBenchmark {
constructor(agent, testSet) {
this.agent = agent;
this.testSet = testSet;
this.results = [];
}
async run() {
for (const testCase of this.testSet) {
const startTime = Date.now();
const startTokens = this.agent.getTokenUsage();
// 执行任务
const output = await this.agent.execute(testCase.input);
const endTime = Date.now();
const endTokens = this.agent.getTokenUsage();
// 评估
const score = await this.evaluate(output, testCase.expected);
this.results.push({
task: testCase.task,
output,
score,
timeMs: endTime - startTime,
tokens: endTokens - startTokens
});
}
return this.calculateSummary();
}
async evaluate(output, expected) {
// 简化评估:检查关键字段
let score = 0;
if (expected.hasCodeExamples && this.hasCodeExamples(output)) {
score += 0.3;
}
if (expected.minWordCount && output.length >= expected.minWordCount) {
score += 0.3;
}
// 用LLM评估质量
const qualityScore = await this.agent.llm.evaluate(
`评估以下输出的质量(0-1分):${output}`
);
score += qualityScore * 0.4;
return score;
}
calculateSummary() {
const totalScore = this.results.reduce((sum, r) => sum + r.score, 0);
const avgScore = totalScore / this.results.length;
return {
averageScore: avgScore,
totalTests: this.results.length,
results: this.results
};
}
}
// 妙趣AI 五维评分系统
function scoreContent(content, channel) {
const dimensions = {
// 1. 内容质量(信息密度、准确性)
quality: evaluateQuality(content),
// 2. 风格匹配(妙趣风格符合度)
style: evaluateStyle(content, 'miaoquai'),
// 3. 实用性(可操作性、价值)
utility: evaluateUtility(content),
// 4. SEO优化(关键词、结构)
seo: evaluateSEO(content),
// 5. 创新性(角度、洞察)
innovation: evaluateInnovation(content)
};
// 加权平均
const weights = {
quality: 0.3,
style: 0.25,
utility: 0.2,
seo: 0.15,
innovation: 0.1
};
let totalScore = 0;
for (const [dim, score] of Object.entries(dimensions)) {
totalScore += score * weights[dim];
}
return {
score: totalScore,
dimensions,
passed: totalScore >= 4.0 // 4.0/5.0为及格
};
}
✅ DO(推荐做法)
⚠️ DON'T(常见坑)
| Benchmark | 任务类型 | 难度 | 适用场景 |
|---|---|---|---|
| GAIA | 推理+工具 | 中高 | 通用助手评估 |
| SWE-bench | 代码修复 | 高 | 编程Agent评估 |
| AgentBench | 多领域 | 中 | 综合评估 |
| ToolBench | 工具调用 | 中 | 工具使用评估 |
| 妙趣五维 | 内容质量 | 自定义 | 内容Agent评估 |
就像《功夫》里的"包租婆"——光说不练假把式,是骡子是马拉出来遛遛。Agent Evaluation Benchmark就是Agent的"期末考试",考不过就得回炉重造。记住:没有评估,就没有进步;没有基准,就不知道自己有多强!