Task Workflow 技能 (任務執行流程)
描述
執行單一任務的標準流程,確保每個任務都有明確的開始、執行、驗證、完成步驟。
觸發條件
- •「開始做 {任務}」
- •「執行任務」「implement」
- •自動觸發:當 Todo List 有 in-progress 任務時
🎯 任務生命週期
code
┌─────────────────────────────────────────────────────────────────────┐ │ Task Lifecycle │ ├─────────────────────────────────────────────────────────────────────┤ │ │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ │ PLAN │───▶│ EXECUTE │───▶│ VERIFY │───▶│ COMPLETE │ │ │ │ 規劃 │ │ 執行 │ │ 驗證 │ │ 完成 │ │ │ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │ │ │ │ │ │ │ │ ▼ ▼ ▼ ▼ │ │ - 理解需求 - 寫程式碼 - 執行測試 - 更新文件 │ │ - 找相關檔案 - 修改檔案 - 檢查錯誤 - 更新 Memory │ │ - 設計方案 - 查看結果 - 人工確認 - 標記完成 │ │ │ └─────────────────────────────────────────────────────────────────────┘
📋 Phase 1: PLAN (規劃)
1.1 理解任務
code
任務:{任務描述}
□ 我理解這個任務的目標是什麼?
□ 我知道預期的輸出是什麼?
□ 我知道成功的標準是什麼?
1.2 收集上下文
使用工具:
bash
# 搜尋相關程式碼
semantic_search(query="{相關關鍵字}")
# 找特定檔案
file_search(query="**/{pattern}")
# 讀取相關檔案
read_file(filePath="{path}", startLine=1, endLine=100)
1.3 設計方案
markdown
## 任務:{任務名稱}
### 需要修改的檔案
1. `{path/to/file1}` - {修改說明}
2. `{path/to/file2}` - {修改說明}
### 執行步驟
1. {步驟 1}
2. {步驟 2}
3. {步驟 3}
### 驗證方式
- [ ] {驗證項目 1}
- [ ] {驗證項目 2}
📋 Phase 2: EXECUTE (執行)
2.1 更新狀態
python
# 標記任務為進行中
manage_todo_list(
operation="write",
todoList=[
{"id": N, "title": "{任務}", "status": "in-progress", ...}
]
)
2.2 執行修改
修改檔案時的規則:
| 動作 | 工具 | 注意事項 |
|---|---|---|
| 修改現有檔案 | replace_string_in_file | 包含 3-5 行上下文 |
| 建立新檔案 | create_file | 確認目錄正確 |
| 多處修改 | multi_replace_string_in_file | 一次完成 |
| 執行命令 | run_in_terminal | 非平行執行 |
2.3 記錄變更
即時記錄(在腦中/Todo 描述):
- •修改了哪些檔案
- •新增了什麼
- •刪除了什麼
📋 Phase 3: VERIFY (驗證)
3.1 檢查錯誤
bash
# 檢查語法錯誤
get_errors(filePaths=["{modified_files}"])
# 執行測試
runTests(files=["{test_files}"])
# 靜態分析
run_in_terminal(command="ruff check {path}")
3.2 驗證清單
code
驗證:{任務名稱}
□ 程式碼無語法錯誤
□ 相關測試通過
□ 功能正常運作
□ 沒有破壞其他功能
3.3 修復問題
如果驗證失敗:
- •分析錯誤訊息
- •定位問題
- •修復
- •重新驗證
📋 Phase 4: COMPLETE (完成)
4.1 更新 Todo List
python
manage_todo_list(
operation="write",
todoList=[
{"id": N, "title": "{任務}", "status": "completed", ...}
]
)
4.2 更新 Memory Bank
必要更新:
markdown
# progress.md
## Done
### YYYY-MM-DD
- {完成的任務描述}
- 修改:{file1}, {file2}
- 新增:{file3}
4.3 通知使用者
code
✅ 任務完成:{任務名稱}
修改的檔案:
- `{file1}` - {變更說明}
- `{file2}` - {變更說明}
驗證結果:
- 測試通過 ✅
- 無錯誤 ✅
下一步:
- {建議的下一個任務}
⚠️ 重要原則
1. 一次只做一件事
- •不要同時進行多個任務
- •完成一個再開始下一個
2. 頻繁驗證
- •每個小步驟後都檢查
- •不要等到最後才發現錯誤
3. 即時記錄
- •修改完就更新 Memory Bank
- •不要等到忘記再補
4. 交付完整
- •任務完成時要有完整的輸出
- •包含變更清單、驗證結果、下一步建議
📌 輸出範例
code
🔧 任務執行:新增資料驗證功能 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 📋 Phase 1: PLAN ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 目標:在 upload_dataset 前新增資料格式驗證 修改檔案: - automl-mcp-server/src/infrastructure/mcp/handlers/upload_tools.py ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ⚙️ Phase 2: EXECUTE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ [修改 upload_tools.py] - 新增 validate_csv_format() 函數 - 在 upload_dataset() 開頭呼叫驗證 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ✅ Phase 3: VERIFY ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ - 語法檢查:✅ 無錯誤 - 單元測試:✅ 3/3 通過 - E2E 測試:✅ 驗證功能正常 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 📦 Phase 4: COMPLETE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ✅ 任務完成! 下一個任務:撰寫驗證功能的測試案例