GitHub Copilot 完整教學

Part 15:進階技巧 - 最佳實踐

讓 Copilot 成為你真正的工作夥伴

提示工程 效率提升 最佳實踐

🎯 本單元學習目標

完成這個單元後,你將能夠:

1. 具體描述需求

寫出精準的提示,獲得更好的結果

2. 提供上下文

給予足夠背景,讓 Copilot 理解情境

3. 分步驟請求

拆解複雜任務,逐步建構程式碼

4. 迭代改進

根據結果持續優化,達到最佳效果

核心觀念:這一單元是「AI 使用者」與「AI 駕駛者」的分水嶺!

📝 提示工程基礎

提示工程(Prompt Engineering)
設計好的輸入,讓 AI 產生更好的輸出

❌ 模糊的提示

  • 幫我處理列表
  • 寫一個函式
  • 這個不對,改一下

✅ 精準的提示

  • 回傳列表中所有偶數的總和
  • 使用 Google docstring 格式
  • 請加上錯誤處理
黃金法則:提示越具體,回應越精準!

1 具體描述需求

提問範例

請用 Python 寫一個函式,接收一個列表,回傳列表中所有偶數的總和
具體描述需求

具體提問 vs 模糊提問的差異

關鍵要素: 說明輸入(接收列表)、處理(找偶數)、輸出(回傳總和)

2 提供上下文

提問範例

我正在開發一個學生成績管理系統,請幫我寫一個函式,計算班級平均分數
提供上下文

有背景說明的提問,Copilot 會產生更相關的程式碼

為什麼重要?上下文讓 Copilot 知道你的應用場景,產生更適合的變數名稱和邏輯

3 分步驟請求

拆解複雜任務

第一步:請先建立一個 Student 類別,包含姓名和分數屬性 第二步:請加上計算平均的方法
分步驟請求

逐步建構程式碼,更容易控制結果

優點:每一步都可以檢查和修正,不會一次產生太多錯誤

4 指定輸出格式

提問範例

請用 Python 寫一個函式,並使用 Google 風格的 docstring,包含參數說明和使用範例
指定輸出格式

Copilot 按照指定格式產生程式碼

可指定的格式:docstring 風格、命名規範、縮排方式、程式語言等

5 迭代改進

修改要求

在同一個對話中持續優化:

請加上錯誤處理

或:

請改用遞迴方式實作
迭代改進

根據結果繼續修改,達到最佳效果

迭代流程:產生 → 檢查 → 修改要求 → 再產生 → 直到滿意

6 善用範例

提問範例

請依照以下函式的風格,產生一個新的函式: [貼上範例程式碼]
善用範例

Copilot 會模仿範例的風格產生新程式碼

應用場景:保持程式碼風格一致、遵循團隊規範、產生系列函式

⚠️ 常見錯誤與解決

❌ 提問太模糊

「幫我寫程式」
✅ 解決:說明要做什麼、輸入輸出

❌ 期望太高

「寫一個完整的電商網站」
✅ 解決:拆成小任務逐步完成

❌ 不檢查結果

「直接複製貼上使用」
✅ 解決:一定要測試和驗證

❌ 不迭代改進

「第一次不滿意就放棄」
✅ 解決:繼續修改要求直到滿意

🚀 效率提升技巧

快捷鍵記憶

Tab 接受建議
Esc 拒絕建議
Ctrl+Alt+I 開 Chat

善用 @ 和 #

@workspace 專案範圍
#file:xxx 參照檔案
讓 Copilot 更了解你的程式碼

Slash 指令

/fix 修復錯誤
/explain 解釋程式碼
/tests 產生測試
/doc 產生文件

保持對話連續

在同一個 Chat Session
Copilot 會記得上下文
迭代改進更方便

🔒 Copilot 的限制

不是 100% 正確

AI 可能產生錯誤程式碼
一定要測試和檢查

知識有截止日

可能不知道最新的套件
或 API 變更

不理解業務邏輯

你需要提供足夠的
背景和需求說明

可能有安全風險

產生的程式碼可能有漏洞
需要安全審查

記住:Copilot 是你的「副駕駛」,最終的判斷和責任還是在你!

🏋️ 實作練習

練習目標:應用最佳實踐技巧,提升 Copilot 使用效率

練習步驟

  1. 使用「具體描述需求」技巧,請 Copilot 產生一個計算 BMI 的函式
  2. 使用「提供上下文」技巧,說明這是用於健康管理 App
  3. 使用「指定輸出格式」技巧,要求 Google 風格 docstring
  4. 使用「迭代改進」技巧,加上輸入驗證和錯誤處理
  5. 使用「善用範例」技巧,依照同樣風格產生計算 TDEE 的函式
進階挑戰:嘗試用分步驟請求,建立一個完整的健康數據類別

📝 隨堂測驗

問題 1:以下哪個是「具體」的提示?

A. 幫我處理資料
B. 請用 Python 寫一個函式,計算列表中所有偶數的總和
C. 寫個程式
D. 弄一下

問題 2:為什麼要「分步驟請求」?

A. 讓 Copilot 累一點
B. 複雜任務拆解後更容易檢查和修正
C. Copilot 一次只能產生 10 行程式碼
D. 增加對話次數

問題 3:Copilot 產生的程式碼,你應該?

A. 直接使用,不需檢查
B. 測試、檢查,確認符合需求才使用
C. 全部刪掉自己寫
D. 只看不用

✅ 測驗解答

問題 1 答案:B

「請用 Python 寫一個函式,計算列表中所有偶數的總和」是具體的提示,因為它說明了:使用的語言(Python)、要做什麼(計算偶數總和)、輸入(列表)、輸出(總和)。

問題 2 答案:B

分步驟請求可以讓複雜任務拆解成小任務,每一步都可以檢查和修正,更容易控制結果,不會一次產生太多錯誤。

問題 3 答案:B

AI 產生的程式碼不是 100% 正確,必須測試、檢查,確認符合需求才能使用。Copilot 是副駕駛,最終判斷和責任還是在你!

🎉 Part 15 重點回顧

六大最佳實踐

1. 具體描述需求
2. 提供上下文
3. 分步驟請求

持續優化

4. 指定輸出格式
5. 迭代改進
6. 善用範例

效率工具

快捷鍵、@workspace
#file、Slash 指令

記住限制

不是 100% 正確
一定要測試檢查

核心觀念

「提示越精準,Copilot 越強大」

下一單元預告

Part 16:進階技巧 - 多檔案協作
用 Copilot 處理大型專案!