回顧與練習
核心要點
- 給任務之前先給上下文:說明技術棧、約定、要複用的現有部件——或者直接貼上程式碼必須契合的真實簽名。
- 定義邊界:輸入、輸出、邊界情況。軟體有趣的行為都活在它的邊緣,所以把你的字數花在那裡。
- 用小而可驗證的步驟推進,並在寫程式碼前要一份計劃;修計劃遠比修一個 便宜。
- 在有針對性的 diff 上迭代,而不是整體重寫,並用具體的例子(最好做成測試)釘死那些文字留下的模糊之處。
- 把上下文視窗當作一種資源來管理,並說明不要做什麼——明確的否定約束讓輸出保持緊湊。
動手試試
拿一個你平時可能直接打出來的模糊一行請求("給列表加個搜尋"),在發出任何東西之前先把它改寫成工程師的提示詞。加上上下文(技術棧、它要碰的檔案)、輸入/輸出、兩三個邊界情況、一個期望結果的例子,以及一條否定約束(不要碰什麼)。把改寫後的版本發出去,和那個偷懶版本本會產出的東西對比。對三個真實請求都這麼做,這種升級就會變成自動的。
本章提示詞
Context: <語言 + 框架 + 版本>,在 <檔案/模組> 中工作。
We already <可複用的相關現有模式或庫>。
Task: <一件清晰要構建的事>。
Inputs / outputs: <型別與形態>。
Edge cases to handle: <列出要緊的那些>。
Example: <一個具體輸入 -> 期望輸出>。
Constraints:
- No new dependencies — use <我們已經有的東西>。
- Touch only <這個檔案>; don't refactor anything else.
- Keep existing names and signatures unchanged.
Before coding, give me a 3-4 line plan and wait for my "go".