|
| 1 | +# 場景 8:GitHub 自動化 Agent (100% Agent) |
| 2 | + |
| 3 | +## 🎯 場景概述 |
| 4 | + |
| 5 | +### 為什麼需要獨立 Repo? |
| 6 | +- 真實展示 Issue → PR 完整流程 |
| 7 | +- 學員體驗真實的 GitHub 協作 |
| 8 | +- 預置實際的功能需求和 Issues |
| 9 | +- 避免影響主教學專案 |
| 10 | + |
| 11 | +### 獨立 Repo 資訊 |
| 12 | +1. **Repo 名稱**:`copilot-agent-demo-todo` |
| 13 | +2. **專案類型**:待辦事項管理應用 |
| 14 | +3. **預置 Issues**:3-5 個實際功能需求和 Bug |
| 15 | +4. **功能**:完整的 Issues 和 Pull Requests 功能 |
| 16 | + |
| 17 | +## 🚀 學習目標 |
| 18 | +- 體驗 **Agent 100% 主導**:AI 驅動從 Issue 到 PR 的完整開發流程 |
| 19 | +- 了解 `.github/instructions` 和 `.github/prompts` 的實際應用 |
| 20 | +- 學習如何讓 AI 成為真正的開發夥伴 |
| 21 | +- 見證 AI 如何理解需求、制定策略、實作功能並創建 PR |
| 22 | + |
| 23 | +## 📋 教學重點 |
| 24 | + |
| 25 | +### 核心流程 |
| 26 | +1. **人類創建 Issue**:功能需求或 Bug |
| 27 | +2. **Agent 完全接管**: |
| 28 | + - 讀取 Issue 內容 |
| 29 | + - 查看 `.github/instructions` 取得開發規範 |
| 30 | + - 制定解決方案 |
| 31 | + - 實作功能 |
| 32 | + - 創建 Pull Request |
| 33 | +3. **人類審核 PR**:決定是否合併 |
| 34 | + |
| 35 | +## 🎬 Demo 腳本 |
| 36 | + |
| 37 | +### 步驟 1:展示獨立 GitHub Repository (2分鐘) |
| 38 | + |
| 39 | +#### 展示內容 |
| 40 | +1. 開啟瀏覽器展示 `copilot-agent-demo-todo` repo |
| 41 | +2. 展示已經準備好的 3-5 個 Issues |
| 42 | +3. 簡單說明每個 Issue 的內容 |
| 43 | +4. 強調這些都是真實的 GitHub Issues |
| 44 | + |
| 45 | +**預置 Issues 範例**: |
| 46 | +- Issue #1: 添加清除已完成任務功能 (enhancement, good first issue) |
| 47 | +- Issue #2: 修復刪除任務後 LocalStorage 不更新的問題 (bug) |
| 48 | +- Issue #3: 在標題顯示未完成任務數量 (enhancement) |
| 49 | +- Issue #4: 添加鍵盤快捷鍵支援 (enhancement) |
| 50 | + |
| 51 | +### 步驟 2:展示 Agent 自動化流程 (15分鐘) |
| 52 | + |
| 53 | +#### Demo 1:讓 Agent 實作功能 - 從 Issue 到 PR |
| 54 | + |
| 55 | +**Prompt:** |
| 56 | +``` |
| 57 | +請查看我的 GitHub repo 中的 open issues,選擇 Issue #1 來實作 |
| 58 | +
|
| 59 | +完成後請執行以下工作: |
| 60 | +1. 分析這個 Issue 內容 |
| 61 | +2. 查看 .github 目錄的開發規範 |
| 62 | +3. 實作這個功能 |
| 63 | +4. 創建符合規範的 Pull Request |
| 64 | +
|
| 65 | +記得在 PR 中詳細說明 |
| 66 | +``` |
| 67 | + |
| 68 | +**使用模式:Agent** |
| 69 | +**開啟新對話** |
| 70 | + |
| 71 | +**重點展示**: |
| 72 | +- Agent 自動讀取 `.github/copilot-instructions.md` |
| 73 | +- Agent 遵循專案的開發規範 |
| 74 | +- Agent 展示實作如何思考 |
| 75 | +- Agent 按 PR 規範創建完整的 PR |
| 76 | + |
| 77 | +#### Demo 2:批次分析 - 評估所有 Issues |
| 78 | + |
| 79 | +**Prompt:** |
| 80 | +``` |
| 81 | +分析所有 open issues,為每個 issue 評估實作難度和時間 |
| 82 | +請提供一個優先順序建議,並說明理由 |
| 83 | +``` |
| 84 | + |
| 85 | +**使用模式:Agent** |
| 86 | + |
| 87 | +**展示重點**: |
| 88 | +- Agent 能批次分析多個 Issue |
| 89 | +- Agent 能評估技術難度 |
| 90 | +- Agent 能提供策略建議 |
| 91 | + |
| 92 | +### 步驟 3:進階應用展示 (3分鐘) |
| 93 | + |
| 94 | +#### 更多實際應用場景 |
| 95 | + |
| 96 | +##### 1. 批次處理 |
| 97 | +``` |
| 98 | +請處理所有標記為 'good first issue' 的問題,為每個創建獨立的 PR |
| 99 | +``` |
| 100 | + |
| 101 | +##### 2. 文件更新 |
| 102 | +``` |
| 103 | +當功能 PR 合併後: |
| 104 | +請檢查是否需要更新 README.md 說明新功能使用方式 |
| 105 | +``` |
| 106 | + |
| 107 | +##### 3. Code Review 協助 |
| 108 | +``` |
| 109 | +查看 PR #5 |
| 110 | +請提供這個 PR 的改進建議,包括程式碼品質和最佳實踐 |
| 111 | +``` |
| 112 | + |
| 113 | +## 💡 關鍵要點 |
| 114 | + |
| 115 | +### GitHub 工作流程整合 |
| 116 | +1. **真實的 Issue**:不是模擬,是真實的開發需求 |
| 117 | +2. **指令系統整合**:讓 Agent 理解專案規範 |
| 118 | +3. **完整的流程**:從 Agent 理解需求、實作到創建 PR |
| 119 | +4. **實際的價值**:展示真實開發場景的效率提升 |
| 120 | + |
| 121 | +### 指令系統架構範例 |
| 122 | +``` |
| 123 | +.github/ |
| 124 | +├── copilot-instructions.md # 全域指令 |
| 125 | +├── instructions/ # 細部指令 |
| 126 | +│ ├── frontend.instructions.md # 前端規範 |
| 127 | +│ ├── testing.instructions.md # 測試規範 |
| 128 | +│ └── pr.instructions.md # PR 規範 |
| 129 | +└── prompts/ # 提示模板 |
| 130 | + ├── feature.prompt.md # 功能開發 |
| 131 | + ├── bugfix.prompt.md # Bug 修復 |
| 132 | + └── refactor.prompt.md # 重構指南 |
| 133 | +``` |
| 134 | + |
| 135 | +### 實際應用場景 |
| 136 | +- **自動化 Code Review**:Agent 分析 PR 並提供建議 |
| 137 | +- **批次問題處理**:一次處理多個相關的 Issues |
| 138 | +- **文件自動更新**:功能完成後自動更新相關文件 |
| 139 | +- **測試生成**:為新功能自動生成測試案例 |
| 140 | + |
| 141 | +## 🎯 學習成果 |
| 142 | + |
| 143 | +完成這個場景後,學員應該能: |
| 144 | +- 理解 GitHub 工作流程的 AI 整合 |
| 145 | +- 掌握指令系統的設計和使用 |
| 146 | +- 達到 90% Agent 輔助的開發效率 |
| 147 | +- 建立自己的 AI 輔助開發流程 |
| 148 | +- 理解 AI 在團隊協作中的角色 |
| 149 | + |
| 150 | +## 📝 總結重點 |
| 151 | + |
| 152 | +### 從 0% 到 100% 的旅程 |
| 153 | +1. **場景 1-2 (0% Agent)**:建立基礎認知 |
| 154 | +2. **場景 3-4 (20-30% Agent)**:初步輔助開發 |
| 155 | +3. **場景 5-6 (50-60% Agent)**:深度應用 |
| 156 | +4. **場景 7-8 (80-100% Agent)**:完全自動化 |
| 157 | + |
| 158 | +### 核心洞察 |
| 159 | +- **AI 不是工具,是夥伴**:人類定義做什麼,AI 決定如何做 |
| 160 | +- **指令系統是關鍵**:好的指令系統讓 AI 更有效 |
| 161 | +- **給 AI 空間**:讓 AI 發揮創造力和解決問題的能力 |
| 162 | + |
| 163 | +### 未來展望 |
| 164 | +- **開發者角色轉變**:從寫程式到定義需求和審核 |
| 165 | +- **效率大幅提升**:專注於業務邏輯而非實作細節 |
| 166 | +- **持續學習**:AI 和人類共同成長 |
| 167 | + |
| 168 | +## 🚨 注意事項 |
| 169 | +1. **準備工作**:確保學員已經完成 Fork 和設置 |
| 170 | +2. **時間控制**:Agent 處理可能需要時間,控制好節奏 |
| 171 | +3. **備案準備**:準備好已完成的 PR 作為備用展示 |
| 172 | +4. **強調價值**:不斷提醒這是真實的開發場景,不是 Demo |
0 commit comments