面試官壞笑:「你用 AI 編程一年了,怎麼保證 Claude Code 寫出來的程式碼是對的?」我:「直接上 Claude Fable 5 啊!」

大家好,我是二哥呀。

我發現,對於 Claude Code,群組裡、留言區、私訊,問得最多的兩個問題是:Claude Code 到底怎麼用?怎麼保證它寫出來的程式碼是對的?

第一個問題好回答,裝上就能用。

甚至你用 PaiSwitch 可以切換任何底層模型(開源的)。昨天剛升級,新增了桌面版。

第二個問題的答案就需要長篇大論了。

今天這篇,我就把自己摸索出來的經驗濃縮成 6 個實戰 Case,每個 Case 都有具體的提示詞、執行過程和最終效果,看完大家就明白了。

TIPS:Claude 今天剛升級了 Fable 5 模型,AI 圈都在吹這個模型超過了 GPT-5.5,大家用了嗎?

對了,Claude 升級到最新版就能用。

01、CLAUDE.md 非常重要

很多小夥伴裝完 Claude Code 就直接開幹,一上來就讓它寫程式碼。

但我的經驗是,第一步應該先寫 CLAUDE.md。

CLAUDE.md 是 Claude Code 的專案級指令檔,放在專案根目錄,每次新開會話的時候 Claude Code 都會自動載入。大家可以理解為給 Claude Code 寫了一份「新員工入職手冊」,裡面需要寫清楚專案的技術棧、程式碼規範、目錄結構、禁止指令。

Case1:給 PaiCLI 加一個 /export 指令

我用 PaiCLI 來做這個對比。

PaiCLI 是一個對標 Claude Code 的 Java Agent CLI。

測試提示詞:

給 PaiCLI 加一個 /export 指令,把目前會話的對話記錄匯出成 Markdown 檔案,儲存到 ~/.paicli/exports/ 目錄下。

沒有 PAI.md 的時候,模型拿到的上下文只有使用者的這句話和它自己讀到的程式碼檔案。

有 PAI.md 的時候,PaiCLI 啟動就會把 PAI.md 的內容注入 system prompt。

我們來看一下 /export 指令的執行結果。

啟動一個新的 session,隨便輸入一個提示詞。再執行 /export 指令。

然後我們看一下匯出的 Markdown 檔案內容。

其中 PAI.md 中的內容如下所示。

也就是說,雖然我們在使用 Agent 的時候只發了一句很簡單的內容,但因為 Harness 的存在,系統指令裡其實已經塞了很多上下文。

包括 Skills、MCP 工具的描述等等。

這裡也是提醒一下,你的 Agent 沒必要裝太多的全域 Skills 和 MCP,它們很有可能就是上下文的干擾資訊。

最好是針對每個專案來。

02、用 PaiCLI 搓一個 3D 互動頁面

最有視覺衝擊力的還是前端和 3D,咱們就拿一個 Three.js 的任務來展示 PaiCLI 的程式碼生成能力。

之所以沒直接用 Claude Code,是因為這種等級的 case 還不需要,哈哈。

剛好也可以證明一下 PaiCLI 的能力。

Case2:Three.js 星空粒子互動頁面

提示詞如下。

用 Three.js 寫一個星空粒子互動頁面。要求:1)3000 個粒子隨機分布在球形空間內,粒子顏色漸變(藍-紫-粉);2)滑鼠移動時,周圍的粒子被「吸引」靠近游標位置,形成漣漪效果;3)背景是深色漸變,底部有一行發光文字“Built with PaiCLI”;4)支援手機端觸控互動;5)輸出一個完整的 HTML 檔案,可以直接在瀏覽器打開。

用 DeepSeek V4 Pro 出來的效果,粒子的顏色漸變很自然,滑鼠移過去確實有漣漪效果,手機端觸控也能正常互動。

技巧,視覺類任務的提示詞寫法

視覺類任務的提示詞有一個規律——把「看到什麼」和「互動做什麼」分開寫。

先描述靜態畫面(粒子顏色、背景色、文字樣式),再描述動態互動(滑鼠移動效果、點擊行為、動畫)。

Claude Code/Codex 處理這種結構化描述的能力非常強。

03、Skill 讓 PaiCLI 變專家

Skill 是 Claude Code 的「專業知識包」。裝了對應的 Skill 之後,Claude Code 在處理特定領域的任務時會更加專業和準確。

為了方便示範,我們這裡仍然用 PaiCLI 來展示 Skill 的威力。PaiCLI 也支援 Skill,安裝方式和 Claude Code 一樣。

Case,用 web-access Skill 做競品調研

提示詞如下。

使用 web-access 幫我調研一下 Dify 和 FastGPT 這兩個 AI 工作流平台,重點關注節點類型、模型接入方式、是否支援私有化部署。整理成對比表格。

沒有 web-access 的話,PaiCLI 可能會用 WebSearch 搜幾下就交差了,給的資訊沒有什麼深度。

但有了 web-access 就完全不一樣了。

對比表格的資訊密度非常高。

技巧,Skill 的安裝和管理

Skill 的安裝非常簡單,直接告訴 Claude Code 去安裝就行。比如:

幫我安裝 web-access skill,倉庫位址是 github.com/eze-is/web-…

安裝完的 Skill 檔案存在專案的 .claude/skills/ 目錄下。每個 Skill 有一個 SKILL.md 主檔案定義指令邏輯,還可以有 references/ 目錄放參考文件。我們也可以自己寫 Skill,格式就是一個 Markdown 檔案加一個 YAML 頭部。

建議為每一個專案單獨安裝和設定 Skill,不要全域安裝,因為全域會占用大量上下文。

04、Hook——確定性規則兜底機率性模型

前面講的 CLAUDE.md 和 Skill 都屬於「提示詞級別的約束」——本質上是在 system prompt 裡告訴模型「該怎麼做」。

Hook 不一樣,它是程式碼級別的攔截,跑在模型之外。你設好規則,它每次都執行,沒有抽卡。

打個比方,CLAUDE.md 相當於你給新員工口頭交代的規則,「我們團隊的程式碼不允許用 MD5 加密」。新員工聽了,大多數時候都會遵守,但忙起來可能會忘。Hook 相當於 CI/CD 流水線上的自動化檢查,程式碼裡用了 MD5 直接編譯不過,不管你忘沒忘。

三種觸發時機

Hook 支援三種時機:

  • PreToolUse——模型呼叫工具之前觸發。適合做安全攔截,比如偵測到 git push 要提交 .env 檔案,直接拒絕,不用讓模型去判斷。
  • PostToolUse——工具執行完之後觸發。適合做品質檢查,比如寫完 Java 檔案自動跑 mvn compile,編譯失敗把錯誤資訊回饋給模型,它自動修復再編譯。
  • Stop——會話結束時觸發。適合做狀態持久化,比如把本輪會話的關鍵決策自動儲存到日誌,下次新會話啟動時自動恢復上下文。

設定方式

Hook 配在 .claude/settings.json 裡。一個 Java 後端專案的編譯檢查 Hook 長這樣:

json 代碼解讀複製代碼{
  "hooks": {
    "afterWrite": [
      {
        "pattern": "**/*.java",
        "command": "mvn compile -q 2>&1 | tail -20"
      }
    ]
  }
}

前端專案可以把命令換成 eslint --fix,Python 專案換成 pytest -x

原理都一樣——工具執行完之後自動跑一次驗證,失敗了把錯誤餵回模型,模型修完再觸發驗證,循環直到通過。

05、Fable 5 做 PaiCLI 的宣傳 PPT

就在今天,Anthropic 發布了 Claude Fable 5,一個被 AI 圈稱之為神的模型。

Claude 桌面版更新到最新版就能看到,使用截止日是 6 月 22 日。

Fable 5 強在哪

跑分咱就不看了,直接上實戰。

提示詞:

bash 代碼解讀複製代碼我要給PaiCLI這個項目設計一個宣傳PPT,用 https://github.com/op7418/guizang-ppt-skill 這個Skill 
項目的基本資訊:一個類似Claude Code的 Agent CLI
目標群體:27屆大學生,想要學習Agent的同學
品牌調性:溫暖治癒、自然鬆弛、外冷內熱、有故事感

代碼庫你能用的可以用,(不是所有素材都用上),我只需要最終交付的PPT頂級審美,讓人看了就想馬上去學。

Claude 桌面版會先取得歸藏 PPT Skill,同時了解 PaiCLI 專案素材,然後按照 Skill 的方法論製作宣傳 PPT。

token 消耗整體還可以。

6 月 22 日之前 Pro 和 Max 使用者可以免費用,建議大家在這個窗口期試試。

我截圖大家看一下效果,整體我覺得還是很 nice 的,專案的重點也都捕捉到了。

06、上下文管理和提示詞原則

Claude Code 的上下文視窗是有限的。會話變長之後,早期對話會被自動壓縮,之前的細節可能遺失。

這意味著上下文是 Agent 最貴的資源。

「不要裝太多全域 Skill 和 MCP」,本質上就是在管理上下文開銷——每多一個 Skill 描述、每多一個 MCP 工具定義,都會占用上下文預算。

幾個應對原則:

  • 複雜任務拆成獨立子任務,每個子任務在新會話裡做
  • 專案的關鍵資訊寫在 CLAUDE.md 裡,它每次自動載入,不會因為壓縮而遺失
  • 覺得模型開始「忘事」了,手動執行 /compact 觸發壓縮,保留最近的對話和關鍵決策,清掉早期冗餘

一個好的提示詞包含三個要素:

  • 操作對象——哪個檔案、哪段程式碼
  • 操作動作——修改、刪除、新增、重構
  • 驗證方式——跑測試、編譯、手動確認

三個要素齊了,執行準確率高很多。

說到底,AI 編程時代的核心競爭力不是模型有多強,是你能不能把模型的能力和工程工具結合起來,形成一套可重複、可驗證的工作流。

工具不會自己變厲害,是你駕馭它的方式讓它變厲害。】

我們下期見。


原文出處:https://juejin.cn/post/7650809417412509732


精選技術文章翻譯,幫助開發者持續吸收新知。

共有 0 則留言


精選技術文章翻譯,幫助開發者持續吸收新知。
🏆 本月排行榜
🥇
站長阿川
📝16   ❤️1
484
🥈
我愛JS
1
評分標準:發文×10 + 留言×3 + 獲讚×5 + 點讚×1 + 瀏覽數÷10
本數據每小時更新一次
📢 贊助商廣告 · 我要刊登