|
2 | 2 |
|
3 | 3 | ## 🎯 場景概述 |
4 | 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 來實作 |
| 5 | +在這個場景中,你將體驗 **100% Agent 模式** - 讓 AI 完全接管從 Issue 到 Pull Request 的開發流程。 |
| 6 | + |
| 7 | +### 你將學到什麼? |
| 8 | +- 如何讓 Agent 讀取並理解 GitHub Issues |
| 9 | +- 如何讓 Agent 自主實作功能 |
| 10 | +- 如何讓 Agent 創建專業的 Pull Request |
| 11 | +- 體驗真實的 AI 驅動開發流程 |
| 12 | + |
| 13 | +## 📚 前置準備 |
| 14 | + |
| 15 | +在開始之前,請確保你已經: |
| 16 | +1. Fork 了 `copilot-agent-demo-todo` repository |
| 17 | +2. 更新了 git remote 到你的 Fork |
| 18 | +3. 在你的 GitHub repo 創建了至少一個 Issue |
58 | 19 |
|
59 | | -完成後請執行以下工作: |
60 | | -1. 分析這個 Issue 內容 |
61 | | -2. 查看 .github 目錄的開發規範 |
62 | | -3. 實作這個功能 |
63 | | -4. 創建符合規範的 Pull Request |
| 20 | +如果還沒完成,請參考 [SETUP.md](./08-comprehensive-project/SETUP.md) 的快速設置指南。 |
64 | 21 |
|
65 | | -記得在 PR 中詳細說明 |
| 22 | +## 🚀 實作步驟 |
| 23 | + |
| 24 | +### 步驟 1:了解你的專案結構 |
| 25 | + |
| 26 | +你的 Fork 包含一個待辦事項應用,檔案結構如下: |
66 | 27 | ``` |
| 28 | +copilot-agent-demo-todo/ |
| 29 | +├── index.html # 應用介面 |
| 30 | +├── app.js # 核心邏輯(含一些 bug) |
| 31 | +├── style.css # 樣式檔案 |
| 32 | +└── README.md # 專案說明 |
| 33 | +``` |
| 34 | + |
| 35 | +### 步驟 2:創建你的第一個 Issue |
67 | 36 |
|
68 | | -**使用模式:Agent** |
69 | | -**開啟新對話** |
| 37 | +如果還沒有 Issue,請在你的 GitHub repo 創建一個。建議的 Issue: |
70 | 38 |
|
71 | | -**重點展示**: |
72 | | -- Agent 自動讀取 `.github/copilot-instructions.md` |
73 | | -- Agent 遵循專案的開發規範 |
74 | | -- Agent 展示實作如何思考 |
75 | | -- Agent 按 PR 規範創建完整的 PR |
| 39 | +**簡單功能**: |
| 40 | +- 標題:添加深色模式切換 |
| 41 | +- 描述:請為待辦事項應用添加深色模式,包含一個切換按鈕 |
76 | 42 |
|
77 | | -#### Demo 2:批次分析 - 評估所有 Issues |
| 43 | +**Bug 修復**: |
| 44 | +- 標題:修復刪除任務後重新整理會還原的問題 |
| 45 | +- 描述:當刪除任務後,重新整理頁面,被刪除的任務又出現了 |
| 46 | + |
| 47 | +### 步驟 3:讓 Agent 接管開發 - 你的第一個 Agent 體驗 |
| 48 | + |
| 49 | +#### 練習 1:單一 Issue 實作 |
| 50 | + |
| 51 | +在 VS Code 中開啟 Copilot Chat,選擇 **Agent 模式**,輸入: |
78 | 52 |
|
79 | | -**Prompt:** |
80 | 53 | ``` |
81 | | -分析所有 open issues,為每個 issue 評估實作難度和時間 |
82 | | -請提供一個優先順序建議,並說明理由 |
| 54 | +請查看我的 GitHub repo 中的 open issues,選擇第一個 issue 來實作 |
83 | 55 | ``` |
84 | 56 |
|
85 | 57 | **使用模式:Agent** |
86 | 58 |
|
87 | | -**展示重點**: |
88 | | -- Agent 能批次分析多個 Issue |
89 | | -- Agent 能評估技術難度 |
90 | | -- Agent 能提供策略建議 |
| 59 | +**觀察重點**: |
| 60 | +- Agent 如何自動連接到你的 GitHub repo |
| 61 | +- Agent 如何理解 Issue 的需求 |
| 62 | +- Agent 如何規劃實作步驟 |
| 63 | +- Agent 如何修改程式碼 |
91 | 64 |
|
92 | | -### 步驟 3:進階應用展示 (3分鐘) |
| 65 | +#### 練習 2:完整自動化流程 |
93 | 66 |
|
94 | | -#### 更多實際應用場景 |
| 67 | +當 Agent 完成實作後,繼續指示: |
95 | 68 |
|
96 | | -##### 1. 批次處理 |
97 | 69 | ``` |
98 | | -請處理所有標記為 'good first issue' 的問題,為每個創建獨立的 PR |
| 70 | +請為剛才的修改創建一個 Pull Request,包含: |
| 71 | +1. 清楚的標題 |
| 72 | +2. 詳細的修改說明 |
| 73 | +3. 測試步驟 |
99 | 74 | ``` |
100 | 75 |
|
101 | | -##### 2. 文件更新 |
| 76 | +**使用模式:Agent** |
| 77 | + |
| 78 | +### 步驟 4:進階練習(選擇性) |
| 79 | + |
| 80 | +當你熟悉基本流程後,可以嘗試: |
| 81 | + |
| 82 | +#### 進階練習 1:批次分析 |
102 | 83 | ``` |
103 | | -當功能 PR 合併後: |
104 | | -請檢查是否需要更新 README.md 說明新功能使用方式 |
| 84 | +分析我的所有 open issues,評估每個的實作難度和所需時間 |
105 | 85 | ``` |
106 | 86 |
|
107 | | -##### 3. Code Review 協助 |
| 87 | +#### 進階練習 2:策略規劃 |
108 | 88 | ``` |
109 | | -查看 PR #5 |
110 | | -請提供這個 PR 的改進建議,包括程式碼品質和最佳實踐 |
| 89 | +根據現有的 issues,建議一個開發順序,並說明理由 |
111 | 90 | ``` |
112 | 91 |
|
113 | | -## 💡 關鍵要點 |
114 | | - |
115 | | -### GitHub 工作流程整合 |
116 | | -1. **真實的 Issue**:不是模擬,是真實的開發需求 |
117 | | -2. **指令系統整合**:讓 Agent 理解專案規範 |
118 | | -3. **完整的流程**:從 Agent 理解需求、實作到創建 PR |
119 | | -4. **實際的價值**:展示真實開發場景的效率提升 |
120 | | - |
121 | | -### 指令系統架構範例 |
| 92 | +#### 進階練習 3:多 Issue 處理 |
122 | 93 | ``` |
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 # 重構指南 |
| 94 | +選擇兩個相關的 issues 一起實作,並創建一個綜合的 PR |
133 | 95 | ``` |
134 | 96 |
|
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 |
| 97 | +## 💡 實用技巧 |
| 98 | + |
| 99 | +### 1. 清晰的指令 |
| 100 | +給 Agent 明確的指示,例如: |
| 101 | +- 「請實作 Issue #1」比「幫我寫程式」更好 |
| 102 | +- 「創建 PR 並說明測試步驟」比「提交程式碼」更完整 |
| 103 | + |
| 104 | +### 2. 分步驟執行 |
| 105 | +如果 Agent 一次處理太多,可以分步驟: |
| 106 | +1. 先讓 Agent 分析 Issue |
| 107 | +2. 確認理解後再實作 |
| 108 | +3. 最後創建 PR |
| 109 | + |
| 110 | +### 3. 善用 Context |
| 111 | +雖然 Agent 模式不支援 @workspace,但 Agent 會自動理解專案結構 |
| 112 | + |
| 113 | +## 🎯 學習重點回顧 |
| 114 | + |
| 115 | +### 你剛剛體驗了什麼? |
| 116 | +1. **100% Agent 模式**:AI 完全主導開發流程 |
| 117 | +2. **真實 GitHub 工作流程**:從 Issue 到 PR 的完整體驗 |
| 118 | +3. **AI 的決策能力**:觀察 Agent 如何分析、規劃和實作 |
| 119 | +4. **效率提升**:原本需要 30 分鐘的工作,Agent 幾分鐘完成 |
| 120 | + |
| 121 | +### Agent 模式的優勢 |
| 122 | +- **自主性**:Agent 可以獨立完成複雜任務 |
| 123 | +- **整合性**:自動整合 GitHub API,無需手動操作 |
| 124 | +- **智能性**:理解需求並制定最佳解決方案 |
| 125 | +- **完整性**:從分析到實作到文件,一次完成 |
| 126 | + |
| 127 | +## 🚀 下一步 |
| 128 | + |
| 129 | +### 實際應用建議 |
| 130 | +1. **在你的專案中應用**: |
| 131 | + - 創建 `.github/copilot-instructions.md` |
| 132 | + - 讓 Agent 處理日常的 Issues |
| 133 | + - 逐步提高 Agent 的使用比例 |
| 134 | + |
| 135 | +2. **團隊協作**: |
| 136 | + - 分享你的 Agent 使用經驗 |
| 137 | + - 建立團隊的 AI 使用規範 |
| 138 | + - 創建共享的 prompt 模板 |
| 139 | + |
| 140 | +3. **持續優化**: |
| 141 | + - 觀察 Agent 的產出品質 |
| 142 | + - 調整指令讓 Agent 更準確 |
| 143 | + - 記錄最佳實踐 |
| 144 | + |
| 145 | +## 💭 思考題 |
| 146 | + |
| 147 | +1. Agent 模式適合處理哪些類型的任務? |
| 148 | +2. 如何在保持程式碼品質的同時提高 Agent 使用率? |
| 149 | +3. 你的團隊可以如何整合 Agent 到現有工作流程? |
| 150 | + |
| 151 | +## 🎉 恭喜! |
| 152 | + |
| 153 | +你已經完成了 GitHub Copilot Agent 的完整學習旅程!從 0% 到 100% Agent,你見證了 AI 如何改變軟體開發的方式。 |
| 154 | + |
| 155 | +記住:**Agent 是你的開發夥伴,而不只是工具。** 善用它,讓你專注於更有價值的創造性工作! |
0 commit comments