Andrej Karpathy大佬 (前特斯拉 AI 總監,OpenAI 創始成員之一)剛剛分享了他個人在進行“嚴肅” AI 輔助編程時遵循的一套獨特流程(節奏)。注意,這不是隨便寫寫玩(就是現在非?;鸬囊粋€詞 "vibe code":氛圍編程),而是用于他真正關心、需要專業對待的代碼項目
這套方法強調了開發者如何與 AI 協作,更像是在引導一位極其聰明但有時不太靠譜的“實習生”,而不是簡單地復制代碼。信息密度很高,值得我們細細品味
Karpathy 的 AI 輔助編程心法,總結下來有七個關鍵步驟:
第一步:上下文拉滿 (Stuff everything relevant into context)
這是基礎。你需要把項目所有相關的信息都喂給 AI。對于大型項目,這可能需要花些時間。如果是小項目,可以直接打包所有相關文件。Karpathy 甚至給出了一個files-to-prompt
工具的示例命令:files-to-prompt . -e ts -e tsx -e css -e md --cxml --ignore node_modules -o prompt.xml
這個命令大致意思是,將當前目錄下所有的.ts
,.tsx
,.css
,.md
文件內容(忽略node_modules
文件夾)打包成一個 XML 格式的 prompt 文件,供 AI 讀取。核心思想是:給 AI 足夠的全貌信息。
第二步:策略先行,而非代碼 (Describe the next single, concrete incremental change)
明確你想要實現的下一個具體、增量的改動是什么。關鍵點來了:不要直接讓 AI 寫代碼。相反,你應該要求 AI 提出幾種實現該目標的高級方法,并分析各自的優缺點(pros/cons)。Karpathy 指出,LLM 的判斷力并非總是最佳,通常實現一個功能有好幾種方式,先看選項再決定。如果需要,可以再讓 AI 把選定的方法具體化
第三步:選定方案,獲取初稿 (Pick one approach, ask for first draft code)
從上一步 AI 提供的幾種方法中,選擇你認為最合適的一種。然后,才讓 AI 基于這個選定的方法,生成第一版代碼草稿
第四步:評審與學習(關鍵環節) (Review / learning phase)
這是 Karpathy 流程中的核心,也是體現“不復制代碼”的關鍵。你需要手動地:
? 在旁邊打開瀏覽器,查閱代碼中你不熟悉或新調用的 API 的官方文檔。
? 向 AI 提問,要求它解釋代碼、澄清疑點、進行修改。
? 如果發現當前方法有問題或不夠好,要勇于回溯(wind back),嘗試之前討論過的其他方法。
這個階段,重點是開發者自己主動學習和理解,而不是把思考完全外包給 AI。
第五步:測試驗證 (Test)
對 AI 生成或修改后的代碼進行嚴格的測試。確保它能按預期工作,并且沒有引入新的問題。
第六步:代碼提交 (Git commit)
測試通過后,將代碼提交到版本控制系統(如 Git)。這是一個標準的開發實踐,確保工作的成果被記錄和保存。
第七步:規劃下一步,循環往復 (Ask for suggestions on what we could implement next. Repeat.)
完成一個增量改動后,可以詢問 AI 對于“接下來可以實現什么功能”的建議。然后,基于這些建議或你自己的規劃,開始新一輪的循環,回到第一步或第二步。
一圖總結:
核心理念:管好“天才實習生”
Karpathy 將這個過程中的 AI 形容為一個“過度熱情、知識淵博但有時會胡說八道、勇氣有余而品味不足的天才實習生”。它知道很多,但需要你嚴格把控方向和質量
因此,整個流程強調:
保持緊密控制 (Tight leash):開發者始終是主導者
慢下來,保持防御性、謹慎、甚至偏執 (Slow, defensive, careful, paranoid):不輕信 AI 的輸出,步步為營
抓住行內學習機會(Always taking the inline learning opportunity):利用 AI 作為學習工具,深化自己對代碼和技術的理解,而不是回避學習
不委托理解 (Not delegating):理解代碼的責任最終在開發者自己。
Karpathy 也坦言,目前這個流程的很多階段還顯得有些笨拙和手動化。現有的 AI 編程工具在 UI/UX 設計上,對于支持這種精細化的、以開發者為中心的協作流程,還有巨大的改進空間。
AI 輔助編程仍然處在非常早期的階段。Karpathy 的這套實戰心法,無疑為我們如何在實際工作中更有效、更負責任地利用 AI 提供了寶貴的思路。它提醒我們,AI 是強大的助手,但最終的判斷力、品味和學習成長的責任,仍然在開發者自己手中
希望這套方法能給你帶來啟發
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.