身為軟體工程師,你一天寫多少行程式碼?再問你:花多少時間在 PR 描述、Code Review 留言、寫 README、或者向 PM 解釋「為什麼這個功能需要三週」?
大多數工程師都低估了溝通與文件的時間成本。根據 Stack Overflow 開發者調查,工程師平均有將近三成的工作時間花在非程式碼的溝通任務上——包含寫文件、開會、回 Slack 訊息。問題不是「要不要溝通」,而是「怎麼讓溝通更有效率、更準確」。
AI 工具(ChatGPT、Claude 等)正在改變這個現況。本文從台灣資深工程師的視角,帶你用 AI 處理四大協作痛點:PR 描述、Code Review、技術文件,以及跨部門溝通。
PR(Pull Request)描述是工程師最常被忽視的溝通介面。一個爛的 PR 描述讓 reviewer 需要自己從 diff 裡拼湊脈絡,浪費雙方時間。更糟的是,PR 描述寫不清楚的工程師,在 reviewer 眼中往往被認為「不在乎品質」——即使他的程式碼本身沒問題。
| 欄位 | 說明 | 範例 |
|---|---|---|
| 背景 / Why | 為什麼要做這個改動 | 修復登入頁面在 Safari 15 的 CORS 問題 |
| 改動內容 / What | 做了哪些關鍵修改 | 調整 preflight request 的 headers |
| 測試方式 / How to test | reviewer 怎麼驗證 | 用 Safari 15 登入,確認 console 無 CORS error |
| 附帶影響 / Impact | 可能影響到哪些模組 | 僅影響 /api/auth/* endpoints |
| 截圖 / Before-After | UI 改動附圖 | (選填) |
你是一位台灣資深軟體工程師。請根據以下 git diff 摘要,
幫我寫一份結構清楚的 PR 描述(繁體中文),
包含:背景、改動說明、測試方式、潛在影響。
語氣要專業但不過度正式。
git diff 摘要:
[在這裡貼上你的 diff 摘要,不含公司機密資料]
Commit message 也一樣重要。遵循 Conventional Commits 格式(feat:、fix:、refactor:),AI 可以把「修bug」變成有意義的紀錄:
請幫我把以下改動內容,轉換成符合 Conventional Commits 格式的 commit message,
用英文撰寫,標題行 50 字元以內,body 說明改動原因。
改動:修正了使用者登出後 JWT token 沒有正確失效的問題,
原因是 Redis key 的 TTL 設定錯誤。
延伸閱讀:如何用 AI 寫出完整的 PR 描述、Commit message 最佳實踐
Code Review 是工程師文化裡最敏感的互動之一。留言太強硬,讓人覺得被針對;太客氣,問題又沒說清楚。
我在台灣多家科技公司做過 Code Review,發現最常見的問題不是技術判斷錯誤,而是留言的語氣讓對方防禦心大起,反而讓討論沒有效率。AI 可以幫你把「這寫法很爛」轉成「建議改成這樣,原因是⋯⋯」。
| 標籤 | 意思 | 使用時機 |
|---|---|---|
nit: |
小事,可以不改 | 命名風格、空格 |
suggestion: |
建議改進,非強制 | 可讀性優化 |
must fix: |
必須修正才能 merge | 邏輯錯誤、安全漏洞 |
question: |
我有疑問,請解釋 | 不理解設計決策時 |
這套標籤在 Google 工程文化裡普遍使用,台灣許多外商科技公司也已採納,明確表達留言的嚴重程度,能有效減少不必要的來回確認。
請幫我把以下 Code Review 留言,改寫成建設性、不帶攻擊性的語氣,
保留技術批評的實質內容,加上具體的改善建議。繁體中文。
原始留言:「這個迴圈每次都重新查資料庫,效能很差,要改」
範例輸出:
suggestion: 注意到這個迴圈在每次迭代都發出一次 DB query,當資料量大時可能造成 N+1 問題。建議在迴圈外一次取回所需資料(例如用
WHERE id IN (...)批量查詢),再用 Map 做 lookup,可以把 DB 呼叫從 O(n) 降到 O(1)。
留言從指責變成了教學,reviewer 的形象也跟著提升。
README 是一個 repo 的門面,也是新進工程師最先碰到的東西。「跑起來就好」的文化在台灣技術團隊很常見,但這只會讓 onboarding 成本不斷累積。一份好的 README 不需要很長,需要的是在對的地方說對的事。
# 專案名稱
一句話描述這個服務在做什麼。
## 快速開始
## 環境需求
## 設定說明
## 開發指南
## 部署說明
## 架構說明(選填)
## 常見問題
API 文件也是高頻需求。給 AI 你的 endpoint 描述或 OpenAPI schema,讓它生成可讀性高的說明文件——但記得先把結構給清楚,AI 才能填出有意義的說明,而不是通用廢話。README 寫好以後,設定說明、部署指南都可以用同樣的流程:給 AI 你的環境設定和指令,請它整理成新人看得懂的格式。
延伸閱讀:技術文件與 README 撰寫指南、工程師 AI 應用指令集
「這個功能為什麼要這麼久?」是工程師最常被問、也最難回答的問題之一。說太技術,PM 聽不懂;說太簡化,又怕失去說服力。
更深層的問題是:工程師習慣用解法思考,非技術同事習慣用結果思考。兩者出發點不同,同一件事說出來就像在說兩種語言。
不要從技術實作面開始說,先說這件事對業務或產品的影響:
| 錯誤示範 | 正確示範 |
|---|---|
| 「我們需要重構 auth service 的 JWT middleware」 | 「目前登入系統有個安全缺口,修好可以防止用戶帳號被盜用」 |
| 「資料庫 index 沒有建好導致 slow query」 | 「搜尋功能現在很慢,我找到原因了,修好後速度可以提升 80%」 |
| 「需要做 API rate limiting」 | 「如果不加保護,惡意爬蟲可能讓我們的服務掛掉,這個改動可以預防」 |
這個框架的核心是把工程語言翻譯成業務語言。Slack 訊息、週報、sprint review 簡報,都可以套用這個公式。把技術問題描述給 AI,請它用「業務影響」的角度改寫,再微調措辭後發出。
延伸閱讀:向非技術同事說明技術概念的指令、工程師角色專屬指令
| 可以貼 | 不能貼 |
|---|---|
| 功能描述(用自己的話) | 公司機密商業邏輯的原始碼 |
| 去識別化的 diff 摘要 | 含有 API keys 或密碼的程式碼 |
| 公開技術用法(React、PostgreSQL 等) | 公司內部系統架構圖 |
| 錯誤訊息(去除個資) | 含個資的 log 或 DB query 結果 |
這不是說 AI 工具不安全,而是因為各 AI 服務的訓練資料政策不同。如果你的公司有 Azure OpenAI 或 AWS Bedrock 這類企業方案,在合規的前提下可以貼更多內容——但仍需確認公司 IT 政策。
目前主流兩大選擇:
兩者各有優勢,建議都試試,選擇輸出品質最符合你工作習慣的工具。
公司程式碼能貼給 AI 嗎?
原則上避免直接貼公司機密原始碼。建議改用功能描述代替,或確認公司是否有企業版 AI 方案(Azure OpenAI、AWS Bedrock 等)。含 API keys、密碼或個資的程式碼絕對不能貼。詳見上方「安全紅線」表格。
AI 寫的 PR 描述能直接用嗎?
不建議直接複製貼上。AI 輸出是草稿,語氣是否符合團隊文化、技術細節是否正確,都需要人工審閱後再使用。把它當成有骨架的範本,修改後再提交。
Code Review 用 AI 會不會失去把關作用?
不會。AI 只用來改善留言措辭,實質的技術判斷仍然是你自己做的。你先找出問題,再讓 AI 幫你表達得更清楚——反而因為留言更清楚,讓被 review 的人更快理解並修正。
這些技巧對資淺工程師也適用嗎?
非常適用。資淺工程師在溝通和文件上往往最沒有自信,AI 提供的框架可以幫你快速學到資深工程師的表達模式。關鍵是要理解 AI 輸出背後的邏輯,而不只是複製貼上。
原則上避免直接貼公司機密原始碼。建議改用功能描述代替,或確認公司是否有企業版 AI 方案(Azure OpenAI、AWS Bedrock 等)。含 API keys、密碼或個資的程式碼絕對不能貼。
不建議直接複製貼上。AI 輸出是草稿,語氣是否符合團隊文化、技術細節是否正確,都需要人工審閱後再使用。把它當成有骨架的範本,修改後再提交。
不會。AI 只用來改善留言措辭,實質的技術判斷仍然是你自己做的。你先找出問題,再讓 AI 幫你表達得更清楚——反而因為留言更清楚,讓被 review 的人更快理解並修正。
非常適用。資淺工程師在溝通和文件上往往最沒有自信,AI 提供的框架可以幫你快速學到資深工程師的表達模式。關鍵是要理解 AI 輸出背後的邏輯,而不只是複製貼上。