Communitygithub.com

uzysjung/uzys-agent-harness

根據您的技術棧策劃經過審查的 AI 編碼技能與插件 — 僅安裝您需要的項目,支援 Claude Code、Codex、OpenCode 及 Antigravity

uzys-agent-harness 是什麼?

此技能提供一個正式的評估框架,專為 Claude Code 會話設計,實現評估驅動開發(EDD)原則。它幫助開發者在 AI 輔助工作流程中定義通過/失敗標準、衡量代理可靠性(使用 pass@k 指標),並建立回歸測試套件。支援 Claude Code、Codex、OpenCode 及 Antigravity 等平台,技能包含能力評估(測試新功能)、回歸評估(確保既有功能不受影響)以及多種評分方式:程式碼評分器(確定性檢查)、模型評分器(使用 Claude 評估開放式輸出)和人工評分器。通過結構化的工作流程(定義→實作→評估→報告)和儲存在 .claude/evals/ 目錄下的評估定義,此技能將評估提升為第一級開發工件,有助於追蹤可靠性和及早發現回歸問題。

相容平台✓Claude Code✓Codex CLI~Cursor✓Antigravity✓OpenCode
npx skills add uzysjung/uzys-agent-harness

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

Eval Harness 技能

一個正式的評估框架,專為 Claude Code 會話設計,實現評估驅動開發(EDD)原則。

使用時機

  • 為 AI 輔助工作流程設定評估驅動開發(EDD)
  • 為 Claude Code 任務完成定義通過/失敗標準
  • 使用 pass@k 指標衡量代理可靠性
  • 為提示或代理變更建立回歸測試套件
  • 跨模型版本對代理效能進行基準測試

理念

評估驅動開發將評估視為「AI 開發的單元測試」:

  • 在實作 之前 定義預期行為
  • 在開發過程中持續執行評估
  • 每次變更追蹤回歸
  • 使用 pass@k 指標衡量可靠性

評估類型

能力評估

測試 Claude 是否能夠做到以前做不到的事情:

[CAPABILITY EVAL: feature-name]
Task: 描述 Claude 應該完成的任務
Success Criteria:
  - [ ] 標準 1
  - [ ] 標準 2
  - [ ] 標準 3
Expected Output: 預期結果的描述

回歸評估

確保變更不會破壞既有功能:

[REGRESSION EVAL: feature-name]
Baseline: SHA 或檢查點名稱
Tests:
  - existing-test-1: PASS/FAIL
  - existing-test-2: PASS/FAIL
  - existing-test-3: PASS/FAIL
Result: X/Y 通過 (先前 Y/Y 通過)

評分方式

1. 程式碼評分器

使用程式碼進行確定性檢查:

# 檢查檔案是否包含預期模式
grep -q "export function handleAuth" src/auth.ts && echo "PASS" || echo "FAIL"

# 檢查測試是否通過
npm test -- --testPathPattern="auth" && echo "PASS" || echo "FAIL"

# 檢查構建是否成功
npm run build && echo "PASS" || echo "FAIL"

2. 模型評分器

使用 Claude 評估開放式輸出:

[MODEL GRADER PROMPT]
評估以下程式碼變更:
1. 是否解決了所述問題?
2. 結構是否良好?
3. 是否處理了邊界情況?
4. 錯誤處理是否恰當?

Score: 1-5 (1=差, 5=優秀)
Reasoning: [解釋]

3. 人工評分器

標記為需要人工審查:

[HUMAN REVIEW REQUIRED]
Change: 變更的描述
Reason: 需要人工審查的原因
Risk Level: LOW/MEDIUM/HIGH

指標

pass@k

「k 次嘗試中至少成功一次」

  • pass@1:首次嘗試成功率
  • pass@3:3 次嘗試內成功
  • 典型目標:pass@3 > 90%

pass^k

「所有 k 次試驗都成功」

  • 更高的可靠性門檻
  • pass^3:連續 3 次成功
  • 用於關鍵路徑

評估工作流程

1. 定義(編碼前)

## EVAL DEFINITION: feature-xyz

### Capability Evals
1. 能夠建立新使用者帳戶
2. 能夠驗證電子郵件格式
3. 能夠安全地雜湊密碼

### Regression Evals
1. 現有登入功能仍正常運作
2. 會話管理未受變更
3. 登出流程保持完整

### Success Metrics
- pass@3 > 90% 用於能力評估
- pass^3 = 100% 用於回歸評估

2. 實作

編寫程式碼以通過定義的評估。

3. 評估

# 執行能力評估
[執行每個能力評估,記錄 PASS/FAIL]

# 執行回歸評估
npm test -- --testPathPattern="existing"

# 產生報告

4. 報告

EVAL REPORT: feature-xyz
========================

Capability Evals:
  create-user:     PASS (pass@1)
  validate-email:  PASS (pass@2)
  hash-password:   PASS (pass@1)
  Overall:         3/3 passed

Regression Evals:
  login-flow:      PASS
  session-mgmt:    PASS
  logout-flow:     PASS
  Overall:         3/3 passed

Metrics:
  pass@1: 67% (2/3)
  pass@3: 100% (3/3)

Status: READY FOR REVIEW

整合模式

實作前

/eval define feature-name

在 .claude/evals/feature-name.md 建立評估定義檔案

實作期間

/eval check feature-name

執行當前評估並回報狀態

實作後

/eval report feature-name

產生完整的評估報告

評估儲存

將評估存放在專案中:

.claude/
  evals/
    feature-xyz.md      # 評估定義
    feature-xyz.log     # 評估執行歷史
    baseline.json       # 回歸基準

最佳實踐

  1. 在編碼之前 定義評估 - 強迫對成功標準進行清晰思考
  2. 頻繁執行評估 - 及早捕捉回歸
  3. 長期追蹤 pass@k - 監控可靠性趨勢
  4. 盡可能使用程式碼評分器 - 確定性 > 機率性
  5. 安全性需人工審查 - 永遠不要完全自動化安全檢查
  6. 保持評估快速 - 緩慢的評估不會被執行
  7. 將評估與程式碼一起版本化 - 評估是第一級工件

範例:新增身份驗證

## EVAL: add-authentication

### Phase 1: Define (10 min)
Capability Evals:
- [ ] 使用者可以使用電子郵件/密碼註冊
- [ ] 使用者可以使用有效憑證登入
- [ ] 無效憑證被拒絕並附帶適當錯誤
- [ ] 會話在頁面重新載入後仍然持續
- [ ] 登出會清除會話

Regression Evals:
- [ ] 公開路由仍然可訪問
- [ ] API 回應未變更
- [ ] 資料庫模式相容

### Phase 2: Implement (varies)
[編寫程式碼]

### Phase 3: Evaluate
Run: /eval check add-authentication

### Phase 4: Report
EVAL REPORT: add-authentication
==============================
Capability: 5/5 passed (pass@3: 100%)
Regression: 3/3 passed (pass^3: 100%)
Status: SHIP IT

相關技能