Version: 2.0.0
AgentSkills: v1.1.0
Author: OpenClaw Community
Created: 2026-03-28
Updated: 2026-03-29
小蔥技能站7w4.net,專業的AI技能分享平臺。
Test-Driven Revolution (TDR) 是一個測試驅動的 AI 自動進化系統:
AI 寫程式碼 → AI 測試 → AI 改 bug → 測試通過 → 下一輪
與 Auto Revolution 的關係: - TDR = 使用者 interface(AgentSkills 技能包,手動觸發) - Auto Revolution = 底層執行引擎(Cron 心跳自動執行) - 兩者共享同一套配置和指令碼,只是觸發方式不同
觸發方式對比: | 系統 | 觸發方式 | 適用場景 | |------|----------|----------| | TDR | 使用者說"用 TDR 建立 XX" | 主動開發新功能 | | Auto Revolution | Cron 定時任務(每 5 分鐘) | 後臺自動執行任務佇列 |
核心工作流: 1. 任務分析 - 分析任務難度/風險/時間要求,推薦流程 2. 使用者選擇 - 使用者確認流程型別(簡化/完整/高階) 3. 執行流程 - 按選擇的流程執行(審閱→執行→稽核) 4. 迴圈迭代 - 稽核通過→下一輪;稽核失敗→打回重做
角色說明: - Planner - 負責任務分析和流程推薦(主 Agent) - Reviewer - 負責技術選型審查和指令生成(高階模型) - Executor - 負責程式碼執行和檔案操作(預設模型)⭐ - Auditor - 負責質量稽核和驗證(高階模型)
系統特性:
- 📊 任務難度分析 - 自動評估複雜度/風險/時間要求
- 🎯 流程推薦 - 根據任務型別推薦簡化/完整/高階流程
- 👤 使用者選擇 - 推薦後由使用者確認最終流程
- 🔒 原子鎖:mkdir 原子操作,防止併發競態
- 🛡️ 安全掃描:執行前檢測危險命令模式
- 📝 事件日誌:所有操作追加 JSONL 日誌
- 🔗 依賴啟用:依賴完成後自動啟用下游任務
- 💰 成本控制:Executor 統一使用預設模型
主動觸發(推薦):
- "用 TDR 建立一個 HTTP 伺服器"
- "啟動 TDR,做個報價單生成器"
- "執行進化系統,開發 XX 功能"
- "建立 TDR 任務"
不要觸發(直接執行):
- ❌ "建立一個頻道" → 直接呼叫 message 工具
- ❌ "給張三發郵件" → 直接呼叫郵件工具
- ❌ "查天氣" → 直接呼叫 weather 工具
- ❌ "建立檔案" → 直接寫檔案
| 場景 | 示例 | 推薦流程 |
|---|---|---|
| 複雜功能開發 | "用 TDR 做個郵件自動回覆系統" | 完整流程 |
| 程式碼生成 + 測試 | "用 TDR 建立 API 客戶端,帶單元測試" | 完整流程 |
| 多步驟任務 | "用 TDR 開發完整的 CRUD 介面" | 完整流程 |
| 需要質量保證 | "用 TDR 開發支付模組" | 高階流程 |
| 文件更新 | "用 TDR 補齊 references 文件" | 簡化流程 |
| Bug 修復(緊急) | "用 TDR 修復登入漏洞" | 簡化流程 |
| 場景 | 正確做法 | 原因 |
|---|---|---|
| 簡單操作 | 直接呼叫工具 | 不需要迭代測試 |
| 一次性任務 | 直接執行 | TDR 流程太重 |
| 外部 API 呼叫 | 直接呼叫 API | TDR 不直接調外部 API |
| 日常對話 | 正常回復 | 不需要程式碼生成 |
步驟: Executor 直連(無審閱/稽核)
模型: Executor = 預設模型
耗時: ~5 分鐘/任務
成本: 🆓 免費(使用包月額度)
適用場景: - 文件更新(SKILL.md、參考文件) - 簡單 Bug 修復(緊急) - 批次改進(低風險) - 程式碼量 <100 行
示例:
node scripts/auto-plan.js "更新 references 文件"
# 自動選擇:簡化流程
步驟: Reviewer → Executor → Auditor
模型:
- Reviewer: 高階模型 → fallback → 備用模型
- Executor: 預設模型
- Auditor: 高階模型 → fallback → 備用模型
耗時: ~15 分鐘/任務
成本: 🆓 免費(使用包月額度)
適用場景: - 新功能實現 - 程式碼重構(中等風險) - 多檔案修改 - 程式碼量 100-500 行
示例:
node scripts/auto-plan.js "實現 forward 命令"
# 自動選擇:完整流程
步驟: Reviewer → Executor → Auditor
模型:
- Reviewer: 頂級模型
- Executor: 預設模型
- Auditor: 頂級模型
耗時: ~15 分鐘/任務
成本: 💰$$(按量計費,約 $0.5-2/任務)
適用場景: - 核心功能開發 - 安全相關修復 - 生產釋出前驗證 - 程式碼量 >500 行
示例:
node scripts/auto-plan.js "修復 prompt injection 漏洞"
# 自動選擇:高階流程
| 維度 | 簡單 | 中等 | 複雜 |
|---|---|---|---|
| 程式碼量 | <100 行 | 100-500 行 | >500 行 |
| 檔案數 | 1-2 個 | 3-5 個 | >5 個 |
| 依賴 | 無 | 部分 | 跨模組 |
| 風險 | 低 | 中 | 高 |
| 可回滾 | 是 | 部分 | 否 |
| 任務型別 | 預設流程 | 例外情況 |
|---|---|---|
| 文件更新 | 簡化流程 | 大規模重構→完整 |
| Bug 修復 | 簡化流程 | 安全漏洞→高階 |
| 新功能 | 完整流程 | 核心功能→高階 |
| 程式碼重構 | 完整流程 | 核心架構→高階 |
| 安全修復 | 高階流程 | - |
| 批次改進 | 簡化流程 | 影響核心→完整 |
全自動模式:
# Step 1: 分析任務並推薦流程
node scripts/auto-plan.js "建立一個 HTTP 伺服器,監聽 3000 埠"
# 輸出:
# 📋 任務分析
# - 複雜度:中等(預計 300 行程式碼,3 個檔案)
# - 風險:中(新功能,不影響現有模組)
# - 時間:正常
#
# 🎯 流程推薦:完整流程
# 理由:
# 1. 新功能開發,需要質量保證
# 2. 多檔案修改(route/controller/test)
# 3. 預計耗時 ~15 分鐘
#
# ❓ 請選擇流程:
# A. 簡化流程(5 分鐘,無稽核)
# B. 完整流程(15 分鐘,有稽核)⭐ 推薦
# C. 高階流程(15 分鐘,頂級模型稽核,付費)
使用者確認後執行:
# 使用者回覆 "B" 或 "完整流程"
node scripts/auto-plan.js --confirm B
在 tasks/ 目錄下建立 JSON 檔案:
cat > tasks/task-001.json << 'EOF'
{
"task_id": "task-001",
"title": "手動建立的任務",
"description": "任務描述",
"status": "pending",
"priority": "P1",
"flow": "full",
"subtasks": [
{
"id": 0,
"title": "子任務 1",
"description": "描述"
}
]
}
EOF
flow 欄位可選值:
- simplified - 簡化流程
- full - 完整流程
- advanced - 高階流程
# 自動執行(按任務配置的 flow 欄位)
node scripts/auto-execute.js task-001
# 手動指定流程
node scripts/auto-execute.js task-001 --flow full
位置: config/models.json
{
"roles": {
"reviewer": {
"primary": "高階模型",
"fallback": "備用模型"
},
"executor": "預設模型",
"auditor": {
"primary": "高階模型",
"fallback": "備用模型"
}
},
"timeouts": {
"reviewer": 300,
"executor": 300,
"auditor": 180
},
"enforceAudit": true,
"executorDefault": "預設模型"
}
| 特性 | 簡化流程 | 完整流程 | 高階流程 |
|---|---|---|---|
| 步驟 | Executor | Reviewer→Executor→Auditor | Reviewer→Executor→Auditor |
| Executor | 預設模型 | 預設模型 | 預設模型 |
| Reviewer | - | 高階模型 | 頂級模型 |
| Auditor | - | 高階模型 | 頂級模型 |
| 耗時 | ~5m | ~15m | ~15m |
| 成本 | 🆓 | 🆓 | 💰$$ |
| 成功率 | ~80% | ~90% | ~95% |
| 適用 | 文件/簡單 Bug | 新功能/重構 | 核心/安全 |
rm -rf、DROP TABLE 等稽核失敗 → current_iteration++ → 打回 Executor 重做
最多 3 次迭代 → 標記 failed → 人工介入
超時 → 重試(最多 2 次) → 切換 fallback 模型 → 仍失敗則標記 failed
401 認證失敗 → 切換 fallback 模型 → 記錄錯誤日誌
好:
{
"subtasks": [
{"title": "建立 HTTP 伺服器", "description": "監聽 3000 埠"},
{"title": "新增路由", "description": "GET /health, GET /api/data"},
{"title": "編寫測試", "description": "單元測試覆蓋率>80%"}
]
}
不好:
{
"subtasks": [
{"title": "完成整個專案"} // 太籠統
]
}
| 版本 | 日期 | 更新內容 |
|---|---|---|
| 2.0.0 | 2026-03-29 | 新增任務難度分析、三種流程模式、使用者選擇機制 |
| 1.0.0 | 2026-03-28 | 初始版本 |
最後更新: 2026-03-29
維護者: OpenClaw Community
這是一個設計成熟的自動化任務執行系統,文件清晰易讀,流程規範(規劃→審閱→執行→稽核),支援不同複雜度的任務場景。安全防護和併發控制做得不錯。不足之處在於部分功能需要人工配合操作,全自動化程度有限,且程式碼缺少測試保護。總體質量良好,適合需要規範化開發流程的團隊使用。