Agent Benchmark

👤 yuyonghao-123 📦 v0.1.0 ⭐ 4.3 ⬇️ 733 下載
🤖 AI-Agent 免費

📖 技能介紹

agent-benchmark - AI Agent 能力評估基準

版本: 0.1.0
作者: 小蒲萄 (Clawd)
建立日期: 2026-03-18
型別: SWE-bench Lite (PowerShell Edition)


📖 簡介

評估 AI Agent 任務完成能力的基準測試系統,靈感來源於 SWE-bench。

核心功能: - ✅ 12 個標準化測試任務 - ✅ 5 大能力維度評估 - ✅ 自動化評分和報告生成 - ✅ 分類別能力分析 - ✅ 可自定義擴充套件任務


🎯 評估維度

維度 權重 測試內容
檔案操作 15% 檔案讀寫、目錄管理、路徑處理
資料處理 35% JSON/CSV、陣列、字串、正則
系統操作 15% 環境變數、日期時間、系統資訊
健壯性 15% 錯誤處理、異常捕獲、邊界條件
程式碼質量 20% 函式定義、程式碼複用、最佳實踐

🚀 快速開始

執行完整基準測試

# 進入技能目錄
cd C:\Users\99236\.openclaw\workspace\skills\agent-benchmark

# 執行基準測試
.\src\benchmark-runner.ps1

自定義任務檔案

# 使用自定義任務集
.\src\benchmark-runner.ps1 -TaskFile ".\tasks\custom-tasks.json"

# 指定輸出目錄
.\src\benchmark-runner.ps1 -OutputDir ".\reports\my-benchmark"

# 詳細輸出模式
.\src\benchmark-runner.ps1 -Verbose

📋 測試任務清單

Easy (基礎能力)

ID 任務 類別 分值 測試點
task-001 檔案建立與內容寫入 檔案操作 10 基礎檔案 I/O
task-002 JSON 資料處理 資料處理 10 JSON 解析/序列化
task-003 陣列操作 資料處理 10 過濾/聚合
task-011 環境變數訪問 系統操作 10 系統資訊讀取

Medium (中級能力)

ID 任務 類別 分值 測試點
task-004 目錄列表與過濾 檔案操作 15 檔案搜尋/統計
task-005 字串操作 資料處理 15 多步驟轉換
task-006 日期時間計算 系統操作 15 時間差計算
task-007 CSV 資料生成 資料處理 20 結構化資料匯出
task-012 正規表示式匹配 資料處理 20 模式提取

Hard (高階能力)

ID 任務 類別 分值 測試點
task-008 錯誤處理測試 健壯性 20 try-catch 異常處理
task-009 多步驟資料管道 資料處理 25 複雜資料流
task-010 函式定義與呼叫 程式碼質量 25 程式碼複用/演算法

總分: 195 分

想要更強大的技能外掛,就來小蔥技能站7w4.net看看吧。


及格線: 60% (117 分)
優秀線: 80% (156 分)


📊 評分標準

單任務評分

單任務得分 = 基礎分 + 驗證分 + 效率分

基礎分:
- 成功完成:50%
- 部分完成:30%
- 失敗:0%

驗證分 (50%):
- 輸出匹配預期:50%
- 輸出部分匹配:25%
- 輸出不匹配:0%

效率分 (10%):
- 在預期時間內完成:+10%
- 超時:0%

總體評級

平均分 評級 說明
≥ 0.9 🏆 S 級 生產就緒,超越預期
≥ 0.8 ✅ A 級 生產就緒,表現優秀
≥ 0.7 👍 B 級 良好,少量改進空間
≥ 0.6 ⚠️ C 級 及格,需要改進
< 0.6 ❌ D 級 不及格,需大幅提升

📁 檔案結構

skills/agent-benchmark/
├── SKILL.md                      # 技能文件(本檔案)
├── src/
│   ├── benchmark-runner.ps1      # 基準測試執行器
│   └── scoring-engine.ps1        # 評分引擎(可選擴充套件)
├── tasks/
│   ├── default-tasks.json        # 預設任務集(12 題)
│   ├── custom-tasks.json         # 自定義任務(使用者新增)
│   └── advanced-tasks.json       # 高階任務集(未來擴充套件)
├── reports/
│   ├── benchmark-report-*.md     # 測試報告(自動生成)
│   └── summary.json              # 彙總資料(可選)
└── README.md                     # 使用說明

🧪 示例任務

任務示例:JSON 資料處理

{
  "id": "task-002",
  "name": "JSON Data Processing",
  "category": "Data Processing",
  "difficulty": "Easy",
  "description": "Parse JSON and extract specific field",
  "script": "$data = @{Name='Clawd'; Type='AI'; Version='1.0'} | ConvertTo-Json; $parsed = $data | ConvertFrom-Json; Write-Host \"Name: $($parsed.Name)\"",
  "expectedOutput": "Name: Clawd",
  "expectedTimeSeconds": 5,
  "points": 10
}

任務示例:錯誤處理測試

{
  "id": "task-008",
  "name": "Error Handling Test",
  "category": "Robustness",
  "difficulty": "Hard",
  "description": "Handle errors gracefully with try-catch",
  "script": "try { \n  $content = Get-Content -Path 'nonexistent-file.txt' -ErrorAction Stop\n  Write-Host 'File found'\n} catch {\n  Write-Host 'Error handled: File not found'\n}",
  "expectedOutput": "Error handled: File not found",
  "expectedTimeSeconds": 5,
  "points": 20
}

📈 報告示例

執行基準測試後生成 Markdown 報告:

# Agent Benchmark Report

**Generated**: 2026-03-18 09:30:00  
**Total Tasks**: 12  
**Average Score**: 0.85 / 1.0  
**Average Time**: 8.5s

## 📊 Summary

| Metric | Value |
|--------|-------|
| **Success Rate** | 83.3% |
| **Partial Completion** | 8.3% |
| **Failure Rate** | 8.3% |
| **Average Score** | 0.85 |
| **Avg Execution Time** | 8.5s |

## 📈 Detailed Results

| Task | Category | Difficulty | Status | Score | Time (s) |
|------|----------|------------|--------|-------|----------|
| File Creation | File Ops | Easy | ✅ Success | 1.0 | 2.3 |
| JSON Processing | Data | Easy | ✅ Success | 1.0 | 3.1 |
| ... | ... | ... | ... | ... | ... |

🔧 自定義任務

建立自定義任務集

建立 tasks/custom-tasks.json:

{
  "metadata": {
    "version": "1.0.0",
    "name": "My Custom Tasks",
    "description": "Custom benchmark for specific use case"
  },
  "tasks": [
    {
      "id": "custom-001",
      "name": "My Custom Task",
      "category": "Custom Category",
      "difficulty": "Medium",
      "description": "Description of what to do",
      "script": "Write-Host 'Hello World'",
      "expectedOutput": "Hello World",
      "expectedTimeSeconds": 5,
      "points": 15
    }
  ]
}

執行自定義任務

.\src\benchmark-runner.ps1 -TaskFile ".\tasks\custom-tasks.json"

🎯 使用場景

✅ 適合的場景

  • Agent 能力評估 - 新版本釋出前測試
  • 迴歸測試 - 確保更新未破壞功能
  • 對比測試 - 不同配置/模型對比
  • 能力診斷 - 識別薄弱環節
  • 持續整合 - 自動化質量門禁

❌ 不適合的場景

  • 效能基準測試 - 非效能導向
  • 安全測試 - 無安全相關任務
  • 大規模負載測試 - 設計為輕量級

📊 指標解釋

Task Completion Rate (任務完成率)

成功完成的任務數 / 總任務數

Average Execution Time (平均執行時間)

所有任務執行時間的算術平均值

Success Rate (成功率)

達到 80% 以上分數的任務比例

Error Rate (錯誤率)

執行中出錯的任務比例

Code Quality (程式碼質量)

基於程式碼結構、複用性、最佳實踐的綜合評分


🔍 故障排查

常見問題

Q: 任務執行超時

原因:指令碼複雜度過高或死迴圈
解決:檢查任務指令碼,增加 expectedTimeSeconds

Q: 輸出驗證失敗

原因:實際輸出與 expectedOutput 不匹配
解決:調整 expectedOutput 正規表示式或檢查指令碼邏輯

Q: 報告生成失敗

原因:輸出目錄不存在或許可權問題
解決:確保 OutputDir 存在且有寫許可權

📝 更新日誌

v0.1.0 (2026-03-18)

  • ✅ 初始版本釋出
  • ✅ 12 個標準化測試任務
  • ✅ 5 大評估維度
  • ✅ 自動化評分系統
  • ✅ Markdown 報告生成
  • ✅ 自定義任務支援

🤝 貢獻

歡迎提交新的測試任務!請遵循以下格式:

  1. 任務難度分級明確(Easy/Medium/Hard)
  2. 預期輸出可自動化驗證
  3. 執行時間在 30 秒以內
  4. 不依賴外部網路/API
  5. 不修改系統配置

📄 許可證

MIT License


最後更新:2026-03-18

🤖 AI 評測

這個評估工具質量良好,能有效測試 AI Agent 的檔案處理、資料操作和系統訪問等核心能力。優點是任務覆蓋全面、執行速度快、報告清晰;不足之處在於部分複雜任務的評分判斷過於嚴格,偶有中文亂碼問題。總體而言是一個實用且專業的基準測試系統,經過小幅最佳化後即可投入生產使用。

📊 多維度評分

適應性4.2
規範性4.2
有效性4.4
可靠性4.3
可信度4.7

📁 包含檔案 (20 個)

📄 SKILL.md 8.3 KB
📄 TEST_SUMMARY.md 4.3 KB
📄 _meta.json 134 B
📄 benchmark-report.md 1.3 KB
📄 index.js 7.8 KB
📄 package.json 477 B
📄 reports/benchmark-report-20260318-092642.md 1 KB
📄 reports/benchmark-report-20260318-093308.md 1.6 KB
📄 reports/benchmark-report-20260320-154547.md 2.9 KB
📄 reports/optimization-results.md 7.2 KB
📄 src/temp-task-001-1063630044/test-output.txt 31 B
📄 src/temp-task-001-157042004/test-output.txt 31 B
📄 src/temp-task-001/test-output.txt 31 B
📄 src/temp-task-007-1792200228/people.csv 79 B
📄 src/temp-task-007-677027863/people.csv 79 B
📄 src/temp-task-007/people.csv 0 B
📄 src/temp-task-020-1423391504/config.txt 74 B
📄 tasks.json 4.8 KB
📄 tasks/default-tasks.json 6.4 KB
📄 tasks/extended-tasks.json 16.7 KB