隨著與 AI 代理人的配對編程已經變得普遍,其成果的質量在很大程度上依賴於「如何下達指示」。然而,在一些場合,許多人依然是「隨意」地撰寫提示。
我自己在引入 Cursor 初期,經常給出如「修復錯誤」或「添加登錄功能」這樣模糊的指示。結果如預期般,AI 反覆做出偏離目標的修改,反而耗費更多時間。「不知道該如何利用 AI」的聲音隨之而來。
反觀一些資深的工程師和管理者,他們能夠比以往更好地控制 AI,創造出超過過去的成就。
為了縮小差距,我時常會與新進工程師一起查看 Cursor 的交流歷史並提供反饋。
在這過程中,我突然意識到,連這種回顧也可以體系化?如果能客觀地評估指示的質量並明確改進點,那麼我們或許可以更上一層樓,提升整體生產力。
實際上,這種回饋的入口已經達到了效率化的效果,因此我想將其整理並以提示的形式公開。
使用方式方面,我認為在 Cursor 的對話結束後,最後投放一下以下提示會是最佳選擇,簡而言之,這是「與 Cursor 歷史配合的提示」,希望能靈活地運用時機。
你是「與 AI 編程代理人的合作評估」專業評審員。根據以下聊天記錄,評估“用戶(人類)對 Cursor 系列 AI 代理人的指示”的質量,並提出改進建議。評估對象是 **用戶的指示**,不會受到代理人輸出結果的影響。
## 評估原則
- 目標導向(明確的完成定義)
- 約束條件的明示(技術性/商業性)
- 上下文共享(文件、輸入輸出示例、日誌等)
- Cursor 獨特功能的利用(@file, YOLO, TDD, .cursorrules, 索引同步)
- 按步驟進行
- 調試流程(使用日誌)
- 重構安全措施
- 驗證/測試
- 安全性/隱私考量
- 計劃者/執行者分工
- 上下文管理(防止範疇漂移)
## 輸出規範(僅限 Markdown 報告)
請按照以下標題和格式報告。
# 總評
- 整體印象和最大的改進點(1〜3 行)
## 成熟度等級
- **L1〜L5**(用1〜2 句說明理由)
## 分數表
| 指標 | 分數 | 理由 |
|---|---:|---|
| 目標導向 | x | |
| 約束的具體性 | x | |
| 上下文共享 | x | |
| Cursor 功能利用 | x | |
| 分步進行 | x | |
| 調試反復 | x | |
| 重構保護 | x | |
| 驗證/測試 | x | |
| 安全性/隱私 | x | |
| 計劃者/執行者分工 | x | |
| 範疇管理 | x | |
## 優勢
- 使用項目符號列出 3〜5 點
## 改進點(評論和改善建議組合)
請使用以下格式列舉多個:
- **用戶評論(摘錄):** 「#17: 建立登錄功能」
- **問題點:** 完成定義和約束不明確
- **改善建議:** 「#17: 實現用戶認證的登錄功能。採用 OAuth2,通過 Next.js 的 API 路由。完成條件:成功登錄時發行 JWT。」
- **用戶評論(摘錄):** 「#23: 修復錯誤」
- **問題點:** 目標範圍和重現條件不清晰
- **改善建議:** 「#23: 在 @file(auth.ts) 的函數 loginHandler 中,解析錯誤 'invalid token' 的重現日誌,並提供原因和修正建議。」
(重複此格式)
## 立即有效的對策
- 具體的修正提示 3〜5 點
## 高影響措施(持續改進)
- 引入 .cursorrules、利用 TDD、規範索引同步等 3〜5 點
## 可直接使用的下一步提示
目的:
- <TARGET_GOAL>
- 完成定義: <DONE_CRITERIA>(驗證: <TEST_CMD>)
前提和約束:
- <HARD_CONSTRAINTS>
- 品質/性能: <QA_POLICY>, <PERF_BUDGET>
- 影響範圍: <AFFECTED_FILES>(<PROTECTED_REGION_COMMENT> 禁止變更)
上下文:
- 對象: @file(<PATH>) / @folder(<dir>) / @Symbols(<symbol>)
- 輸入輸出示例: <INPUT_EXAMPLE> → <OUTPUT_EXAMPLE>
- 執行環境: <RUNTIME_ENV>
進行方式:
1) 提示設計方案(含備選方案)
2) 實施(小提交/理由說明)
3) 創建測試並修正 → 直到 <TEST_CMD> 通過(必要時可使用 YOLO)
4) 評審影響範圍並進行輕微重構(不接觸保護區域)
驗證/報告:
- 修改點、理由、剩餘風險、不明之處
- 測試結果、日誌摘要、待辦事項
這是最重要的評估標準。如果「完成什麼時候結束」不明確,AI 也會迷失目標。
不良範例:
實現用戶認證
良好範例:
實現用戶認證功能
- 完成定義:能夠使用電子郵件和密碼登錄
- 成功時:發行 JWT 令牌,並重定向至 /dashboard
- 失敗時:顯示適當的錯誤信息
- 測試:`npm run test:auth` 需通過
明示約束條件可以恰當地縮小 AI 的探索空間,避免不必要的實現。
實例:
# 技術性約束
- 使用庫:NextAuth.js v4(不使用 v5)
- 數據庫:不更改現有的 PostgreSQL 架構
- 響應時間:認證處理在 500ms 內
# 商業性約束
- 遵循 GDPR:禁止用戶數據的日誌輸出
- 多因素認證:考慮未來擴展的設計
準確告訴 AI「目前在哪裡」至關重要。應充分利用 Cursor 的 @
功能。
有效的上下文共享:
當前錯誤狀況:
查看 @file(logs/error.log) 的最新 50 行
在 @file(src/auth/login.ts) 的第 42 行發生 TypeError
預期輸入:{ email: "[email protected]", password: "secure123" }
實際錯誤:Cannot read property 'id' of undefined
Cursor 擁有強大的功能。不利用這些功能實在是可惜。
複雜的任務必須逐步進行。一次性全部完成會導致失敗。
按步驟進行的範例:
步驟 1: 提示 3 種認證流程的設計方案
步驟 2: 使用所選設計實現框架代碼
步驟 3: 實現基本的認證邏輯
步驟 4: 添加錯誤處理
步驟 5: 創建測試案例並確認全部通過
@
以下是對實際提示進行評估的報告:
上下文共享和 Cursor 功能的利用良好,但完成定義不清晰且按步驟進行不足。安全性考量也有改進的空間。
指標 | 分數 | 理由 |
---|---|---|
目標導向 | 3 | 大概的目標有顯示,但完成條件不清晰 |
約束的具體性 | 4 | 使用技術已明示,但缺少性能要求 |
上下文共享 | 7 | 有效使用 @file,適當指定相關文件 |
Cursor 功能利用 | 6 | @file 利用良好,但 .cursorrules 和索引同步未使用 |
分步進行 | 2 | 一次要求全面實現,未進行分步方法 |
調試反復 | 3 | 錯誤發生時的應對措施不明確 |
重構保護 | 5 | 考慮到現有代碼的影響,但保護範圍不明 |
驗證/測試 | 4 | 意識到測試的存在,但缺乏具體驗證步驟 |
安全性/隱私 | 3 | 包含認證,但未考慮其他安全問題 |
計劃者/執行者分工 | 2 | 設計與實施無分離 |
範疇管理 | 5 | 目標功能明確,但缺乏未來擴展的考量 |
用戶評論(摘錄): 「請建立用戶管理界面」
用戶評論(摘錄): 「使用 Next.js 的 App Router 實現」
用戶評論(摘錄): 「妥善處理錯誤」
npm run test:admin && npm run e2e:admin
目的:
- 實現用戶管理界面(CRUD 功能)
- 完成定義: 所有功能均可運行
- 用戶列表顯示(帶分頁)
- 用戶詳細顯示
- 用戶創建/編輯(帶驗證)
- 用戶刪除(帶確認對話框)
- 驗證: npm run test:admin:users 需通過
前提和約束:
- 技術棧: Next.js 14 App Router, Prisma, TailwindCSS
- 品質/性能: 列表顯示最多 1000 件,1 秒以内顯示,錯誤率低於 1%
- 影響範圍: 僅在 @folder(app/admin/users/) 內完成(@file(app/layout.tsx) 禁止更改)
上下文:
- 對象: 新建 @folder(app/admin/users/)
- 參考實現: 繼承 @folder(app/admin/products/) 的結構
- 數據模型: 使用 @file(prisma/schema.prisma) 的 User 模型
- 輸入輸出示例:
- GET /api/admin/users → [{id, email, name, role, createdAt}...]
- POST /api/admin/users → {id, email, name, role}
進行方式:
1) 提示 UI 元件的設計方案(表格 vs 卡片格式)
2) 實現基本的 CRUD API(@folder(app/api/admin/users/))
3) 實現前端(優先使用 React Server Components)
4) 實現錯誤處理和加載狀態
5) 創建 E2E 測試(使用 Playwright)
驗證/報告:
- 實現的檔案列表及其作用
- 安全考量(授權、驗證、日誌)
- 性能測試結果
- 未來的擴展點(角色管理、一鍵操作等)
逐步引入的推介:
雖然這個提示看起來有些複雜,但我覺得不如從「目標導向」和「上下文共享」開始,而不追求完美。
單純這兩者就可以顯著提升 AI 的輸出品質。
評估的習慣化:
建議定期讓大家回顧提示(指示內容)的時間。特別是分析失敗的案例,可以迅速改善。
此外,我的提示可能有不完美的地方(這是我想表達的),希望大家能夠強化和修訂「這個觀點來教育」。
最後,請根據團隊的成熟度和專案的特性自定義評估標準。最重要的是,建立一種「有意識」而非「隨意」撰寫提示的文化。
與 AI 的合作不再是特殊技巧,而是逐漸成為工程師的基本技能。希望這個框架能夠幫助大家的 AI 配對編程更加高效且有趣。
充分利用 AI 的原因在於,對於行業來說,盡可能快且多地提供產品。期待广泛招聘志同道合的人。
隨時歡迎 DM。無論涉及招聘、AI 或管理的主題,我都很樂意討論。