AI 編程提示詞實戰:拆解 Cloudflare 開源項目的 90 個 Prompt
近年來,AI 在編程領域的應用愈發廣泛,從代碼自動補全到自動化測試,再到如今能夠獨立完成項目架構設計和文檔編寫,AI 正逐步成爲開發者手中的 "超級助手"。但 AI 寫代碼到底靠不靠譜?開發者如何高效利用 AI?
最近,Cloudflare 的一個開源項目——workers-oauth-provider,幾乎完全由 AI 生成,項目作者在每個 commit 中都附上了用到的 prompt(提示詞),這爲我們揭開了 AI 驅動開發的真實面紗。我深入分析了 90 多個 prompt,總結出一套 AI 編程的核心經驗。本文將結合這些實戰案例,探討如何用 AI 高效驅動開發。
一、開局制勝:詳細初始 Prompt 奠定項目基礎
AI 寫代碼的第一步是什麼?不是直接讓 AI"寫一個 XX 功能",而是用盡可能詳細、全面的 Prompt 來定義項目的目標、技術棧、功能需求和實現細節。
以 Cloudflare 的 workers-oauth-provider 爲例,項目一開始就用英文詳細描述了目標:
We are going to write a TypeScript library that implements the provider side of the OAuth 2 protocol. The library is intended to be used on Cloudflare Workers. A worker that uses the library might look like this: [詳細的API設計、使用示例、技術要求…]
在這個 Prompt 中,作者明確了:
-
技術棧要求:TypeScript + Cloudflare Workers
-
使用場景:OAuth 2 協議的 Provider 端
-
存儲方案:Workers KV
-
安全要求:只存儲 hash,不存儲明文
-
詳細 API 設計和使用示例
效果如何? 這樣一次性爲 AI 輸入了完整的上下文,AI 不僅生成了項目的核心架構,還實現了主要功能。詳細的初始 Prompt 就像爲 AI"畫好藍圖",後續開發效率大大提升。
💡 實踐要點:初始 Prompt 要覆蓋項目的所有核心要素,包括技術選型、架構設計、安全要求、性能指標等。時間花在前期規劃上,後期調試時間會顯著減少。
二、化整爲零:複雜功能分步實現
AI 雖強大,但面對複雜功能,分步實現更有效。比如要讓庫從支持 OAuth 2.0 升級到 OAuth 2.1,作者沒有一次性讓 AI"全部升級",而是分階段推進:
This library currently implements an OAuth 2.0 provider. We want to update it to support OAuth 2.1, but let's do it in multiple steps. Can you start by implementing PKCE…
這種 "拆解任務" 的方式,不僅讓 AI 輸出更可控,也便於開發者逐步檢查和調整每一步的實現效果。每個小目標都用清晰的 Prompt 描述,AI 能更專注於當前任務,避免因任務過大而產生混亂。
分步實現的典型場景:
-
功能升級(如 OAuth 2.0 → 2.1)
-
新特性添加(如添加多種認證方式)
-
性能優化(如緩存機制、併發處理)
-
安全加固(如加密算法升級、權限細化)
三、文檔先行:主動要求 AI 生成註釋和說明
AI 生成的代碼往往功能強大,但文檔註釋卻很簡陋,甚至缺失。開發者必須主動要求 AI 補全文檔。例如:
Can you please add doc comments toall the exported types explaining eachone, including a comment oneach property andmethod?
如果不主動要求,AI 通常不會自動生成詳細註釋。完善的文檔不僅方便團隊協作,也方便後續維護。
文檔生成的最佳實踐:
-
要求爲每個導出類型、屬性、方法添加註釋
-
生成使用示例和最佳實踐指南
-
創建 API 文檔和架構說明
-
添加錯誤處理和故障排除指南
四、安全第一:AI 也會犯錯,審查不能省
AI 雖然能寫出看似 "完美" 的代碼,但安全隱患依然存在。以 Cloudflare 項目爲例,AI 在處理 Token 密鑰時,出現了潛在的安全漏洞:
There's a security flaw in the way you wrap keys for tokens: You used a SHA-256 hash of the token as the key material for the wrapping. However, SHA-256 is also how we compute "token IDs"…
這說明:AI 寫代碼不是 "全自動",安全審查必須人工介入。
安全審查清單:
-
加密算法的正確使用
-
敏感數據的存儲和傳輸
-
權限控制和訪問驗證
-
輸入驗證和 SQL 注入防護
-
錯誤信息泄露風險
-
依賴庫的安全漏洞
開發者要對 AI 生成的關鍵代碼進行深度審查,尤其是涉及加密、安全、權限等敏感模塊。可以在 Prompt 中要求 AI 解釋安全實現的原理,並主動檢查潛在風險。
五、Prompt 技巧:具體勝過模糊
AI 的輸出質量,很大程度上取決於 Prompt 的具體程度。模糊的 Prompt 容易讓 AI"發揮過度" 或者 "偏題"。
對比示例:
-
❌ 糟糕的 Prompt:改進這個函數
-
✅ 優秀的 Prompt:Let's make it so that apiRoute can optionally be an array of multiple routes. If any route matches, we consider the request to be an API request.
高質量 Prompt 的要素:
-
明確的目標和期望結果
-
具體的輸入輸出格式
-
邊界條件和異常情況
-
性能和安全要求
-
代碼風格和命名規範
六、測試驅動:給 AI 足夠的上下文
AI 寫代碼時,測試同樣重要。直接讓 AI"寫測試用例" 往往效果一般,但如果你把項目背景、接口約定、邊界條件、異常情況等上下文信息一併輸入,AI 生成的測試用例會更貼合實際需求。
Please write unit tests for the `authorize` function, covering normal cases, error cases, and edge cases. The function should handle OAuth 2.1 PKCE flow, validate client credentials, andreturn appropriate error codes for different failure scenarios.
測試策略:
-
單元測試:覆蓋每個函數的正常和異常情況
-
集成測試:驗證模塊間的協作
-
端到端測試:模擬真實使用場景
-
性能測試:驗證併發和大數據量處理
-
安全測試:檢查權限控制和數據保護
七、迭代優化:持續改進的開發流程
AI 驅動開發不是 "一次成型",而是持續迭代的過程。Cloudflare 項目中,作者通過多輪對話不斷完善代碼:
-
第一輪:實現基礎功能
-
第二輪:完善錯誤處理
-
第三輪:優化性能
-
第四輪:加強安全
-
第五輪:完善文檔
每一輪都有明確的改進目標,這種漸進式開發方式讓最終產品質量更高。
八、AI 驅動開發的最佳實踐總結
結合 Cloudflare 項目和 @lastz321 的分析,AI 驅動開發的核心經驗可以總結爲:
🎯 前期準備
-
詳細初始 Prompt:一次性描述清楚項目目標、技術棧、接口設計和安全要求
-
任務拆解:複雜功能分步驟實現,每一步都用具體 Prompt 描述
📝 開發過程
-
具體 Prompt:描述越具體,AI 輸出質量越高
-
文檔補全:主動要求 AI 生成註釋、使用示例和 API 文檔
-
測試驅動:提供足夠上下文,讓 AI 生成高質量測試用例
🔒 質量保證
-
安全審查:關鍵代碼必須人工審查,重點關注加密、權限、數據保護
-
迭代優化:通過多輪對話不斷完善代碼質量
-
代碼審查:即使是 AI 生成的代碼,也要遵循團隊的代碼審查流程
九、AI 編程的未來展望與挑戰
🚀 發展趨勢
AI 正在重塑編程流程,未來可能出現的變化:
-
低代碼 / 無代碼平臺的進一步普及
-
自然語言編程成爲主流開發方式
-
AI 代碼審查和自動化測試更加智能
-
個性化編程助手根據開發者習慣定製
⚠️ 面臨挑戰
-
代碼質量控制:如何確保 AI 生成代碼的可靠性
-
安全風險管理:AI 可能引入的安全漏洞
-
知識產權問題:AI 訓練數據的版權爭議
-
技能轉變需求:開發者需要掌握 Prompt 工程技能
💡 應對策略
-
將 AI 視爲 "高效助手" 而非 "完全替代"
-
重點培養架構設計和問題分析能力
-
加強代碼審查和安全意識
-
持續學習新的 AI 工具和技術
結語
AI 驅動開發已經從概念走向實踐,Cloudflare 的 workers-oauth-provider 項目爲我們提供了寶貴的實戰經驗。AI 不是萬能的 "銀彈",但確實是一位高效的 "編程夥伴"。
關鍵在於掌握正確的使用方法:用詳細的 Prompt 描述需求,將複雜任務分步實現,主動要求生成文檔和測試,對關鍵代碼進行安全審查。隨着 AI 技術的發展,Prompt 工程將成爲開發者的新必備技能。
你用 AI 寫過代碼嗎?在使用過程中遇到了哪些挑戰?有哪些好用的 Prompt 技巧?歡迎在評論區分享你的經驗!
參考資料
-
Cloudflare workers-oauth-provider 項目 [1]
-
OpenAI Prompt Engineering Guide[2]
參考資料
[1]
Cloudflare workers-oauth-provider 項目: https://github.com/cloudflare/workers-oauth-provider
[2]
OpenAI Prompt Engineering Guide: https://platform.openai.com/docs/guides/prompt-engineering
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源:https://mp.weixin.qq.com/s/FjUKUTknE9wzjoQl6iOk9Q