2026-05-18

Claude Code 用了兩周后,我發(fā)現(xiàn)它最強(qiáng)的不是寫(xiě)代碼

很多人第一次打開(kāi) Claude Code,第一反應(yīng)是:

這不就是另一個(gè) AI 編程助手嗎?

能寫(xiě)代碼,能解釋代碼,能生成文檔,能跑命令??雌饋?lái)和 Cursor、Copilot、Windsurf 沒(méi)有太大區(qū)別。

但真正用上一段時(shí)間后,會(huì)發(fā)現(xiàn)它的重點(diǎn)不在“多補(bǔ)幾行代碼”。

Claude Code 更有意思的地方,是把 AI 放進(jìn)了終端工作流里。

你可以讓它讀項(xiàng)目、看文件、跑測(cè)試、分析報(bào)錯(cuò)、查看 diff、整理提交信息,甚至通過(guò) CLAUDE.md 記住項(xiàng)目規(guī)則。

它不是停留在聊天框里回答問(wèn)題,而是開(kāi)始參與一條完整的工程鏈路。

這也是 Claude Code 最近被很多開(kāi)發(fā)者重新討論的原因。

AI 編程正在從“會(huì)不會(huì)寫(xiě)代碼”,轉(zhuǎn)向“能不能進(jìn)入真實(shí)項(xiàng)目流程”。

這篇文章,我們就從工程實(shí)踐角度聊聊:Claude Code 到底該怎么用,為什么很多人用了一圈還覺(jué)得淺,以及測(cè)試開(kāi)發(fā)工程師能從里面看到什么機(jī)會(huì)。


目錄

  1. Claude Code 和普通代碼助手差在哪
  2. 為什么說(shuō)它不是簡(jiǎn)單的“代碼補(bǔ)全工具”
  3. 快速上手:先跑通基礎(chǔ)環(huán)境
  4. 三個(gè)小實(shí)驗(yàn),理解它的工作方式
  5. 11 個(gè)真正影響效率的核心技巧
  6. CLAUDE.md:讓 AI 理解你的項(xiàng)目
  7. .claudeignore:別讓上下文變成垃圾桶
  8. 權(quán)限配置:讓 AI 能干活,但不能亂來(lái)
  9. 測(cè)試開(kāi)發(fā)視角:Claude Code 最值得用在哪些場(chǎng)景
  10. 真正的門(mén)檻,不是安裝,而是工程化使用習(xí)慣

一、Claude Code 和普通代碼助手差在哪

過(guò)去我們用 AI 編程工具,更多是在編輯器里完成局部動(dòng)作。

寫(xiě)一個(gè)函數(shù)。 解釋一段代碼。 補(bǔ)全幾行邏輯。 根據(jù)注釋生成代碼。 幫忙看一個(gè)報(bào)錯(cuò)。

這類(lèi)能力當(dāng)然有價(jià)值,但它們大多還停留在“局部輔助”。

真正復(fù)雜的工程開(kāi)發(fā)不是只寫(xiě)代碼。

一個(gè)真實(shí)任務(wù)往往要經(jīng)歷:

理解需求; 閱讀項(xiàng)目結(jié)構(gòu); 找到相關(guān)文件; 判斷技術(shù)棧; 修改代碼; 運(yùn)行測(cè)試; 分析報(bào)錯(cuò); 繼續(xù)修復(fù); 查看 diff; 整理提交信息; 沉淀文檔。

Claude Code 的價(jià)值,就在于它不是只停留在“生成代碼”這一步,而是能參與這條鏈路。

它運(yùn)行在終端里,可以圍繞項(xiàng)目文件、命令執(zhí)行、測(cè)試結(jié)果、Git 變更和項(xiàng)目配置持續(xù)協(xié)作。

換句話(huà)說(shuō),它更像是一個(gè)終端里的 AI 工程搭檔。

如果只把它當(dāng)成“會(huì)寫(xiě)代碼的聊天窗口”,很容易用淺。

它真正的價(jià)值,是進(jìn)入工程流程。


二、為什么說(shuō)它不是簡(jiǎn)單的代碼補(bǔ)全工具

普通代碼補(bǔ)全工具解決的是“當(dāng)前這一段代碼怎么寫(xiě)”。

Claude Code 更接近解決:

這個(gè)項(xiàng)目該怎么改; 這個(gè)測(cè)試為什么失??; 這次 diff 改了什么; 這個(gè)模塊缺哪些測(cè)試; 這個(gè)任務(wù)應(yīng)該怎么拆; 這個(gè)項(xiàng)目規(guī)則怎么讓 AI 記住。

舉個(gè)例子。

你可以直接讓它做一個(gè)完整任務(wù):

幫我給用戶(hù)登錄模塊補(bǔ)充單元測(cè)試,運(yùn)行測(cè)試,如果失敗就分析原因并修復(fù)。

這句話(huà)背后,其實(shí)包含多個(gè)動(dòng)作:

  1. 找到登錄模塊相關(guān)代碼
  2. 判斷項(xiàng)目使用什么測(cè)試框架
  3. 生成測(cè)試文件
  4. 覆蓋正常登錄、異常賬號(hào)、密碼錯(cuò)誤、空參數(shù)等場(chǎng)景
  5. 執(zhí)行測(cè)試命令
  6. 根據(jù)失敗日志修復(fù)測(cè)試或代碼
  7. 再次運(yùn)行驗(yàn)證

這已經(jīng)不是單點(diǎn)代碼生成,而是一個(gè)小型工程閉環(huán)。

測(cè)試開(kāi)發(fā)工程師應(yīng)該特別關(guān)注這一點(diǎn)。

因?yàn)闇y(cè)試工作本來(lái)就不是只寫(xiě)腳本,而是圍繞需求、風(fēng)險(xiǎn)、數(shù)據(jù)、執(zhí)行、結(jié)果、回歸形成閉環(huán)。

Claude Code 對(duì)測(cè)試開(kāi)發(fā)最大的啟發(fā),不是“AI 能寫(xiě)自動(dòng)化腳本了”。

而是:

AI 開(kāi)始具備參與測(cè)試工程流程的能力。


三、快速上手:先把基礎(chǔ)環(huán)境跑通

Claude Code 基于 Node.js 構(gòu)建,安裝前需要確認(rèn)本地 Node.js 版本不低于 18。

常規(guī)安裝方式如下:

npm install -g @anthropic-ai/claude-codeclaude --version

進(jìn)入項(xiàng)目目錄后啟動(dòng):

cd /path/to/your/projectclaude

首次啟動(dòng)時(shí),一般會(huì)經(jīng)歷幾個(gè)步驟:

登錄 Anthropic 賬戶(hù); 選擇使用計(jì)劃; 確認(rèn)服務(wù)條款; 可選配置 API 密鑰。

對(duì)于國(guó)內(nèi)用戶(hù)來(lái)說(shuō),可能會(huì)遇到網(wǎng)絡(luò)訪問(wèn)或 API 配置問(wèn)題。如果使用兼容 Anthropic API 格式的服務(wù),一般需要配置 API 地址和密鑰。

這里不建議一開(kāi)始就手工復(fù)制一堆命令亂配。

更穩(wěn)妥的方式是讓已有 AI Agent 幫你檢查環(huán)境,比如:

安裝 claude code cli,并檢查 Node.js 版本是否兼容。

或者:

幫我配置 Claude Code 的 API 地址和密鑰,并驗(yàn)證是否能正常啟動(dòng)。

這樣可以避免很多基礎(chǔ)環(huán)境問(wèn)題。

真正要關(guān)注的不是“能不能裝上”,而是裝好之后怎么進(jìn)入項(xiàng)目流程。


四、三個(gè)小實(shí)驗(yàn),先理解它的工作方式

很多人剛裝好 Claude Code,就直接打開(kāi)公司項(xiàng)目讓它改業(yè)務(wù)代碼。

這其實(shí)不太穩(wěn)。

工具沒(méi)熟悉,權(quán)限沒(méi)配置,上下文沒(méi)建立,Git 狀態(tài)也不干凈,很容易出現(xiàn)“改了一堆,但不敢用”的情況。

建議先做三個(gè)小實(shí)驗(yàn)。


實(shí)驗(yàn) 1:先看它怎么理解問(wèn)題

可以輸入:

你好,你是誰(shuí)?

再試一個(gè)技術(shù)問(wèn)題:

什么是閉包?太長(zhǎng)不看版本。

再試一個(gè)對(duì)比問(wèn)題:

JavaScript 和 TypeScript 有什么區(qū)別?

這一步不是為了學(xué)習(xí)這些知識(shí),而是觀察它的回答結(jié)構(gòu)。

好的工程協(xié)作,不只是答案正確,還要表達(dá)清楚。

Claude Code 的回答通常會(huì)先給核心判斷,再展開(kāi)細(xì)節(jié)。這種結(jié)構(gòu)適合快速獲取信息,也適合后續(xù)讓它幫你寫(xiě)文檔、整理方案、生成復(fù)盤(pán)。


實(shí)驗(yàn) 2:讓它生成一份 Markdown 文檔

可以輸入:

幫我寫(xiě)一份 Git 常用命令的 Markdown 文檔。要求:包含命令、說(shuō)明、示例。

它一般會(huì)按照?qǐng)鼍敖M織內(nèi)容:

初始化倉(cāng)庫(kù); 日常提交; 分支管理; 遠(yuǎn)程協(xié)作; 沖突處理; 回滾操作。

這個(gè)實(shí)驗(yàn)可以驗(yàn)證它的結(jié)構(gòu)化輸出能力。

對(duì)測(cè)試開(kāi)發(fā)來(lái)說(shuō),這類(lèi)能力很實(shí)用。

測(cè)試方案、接口測(cè)試說(shuō)明、自動(dòng)化框架文檔、缺陷復(fù)盤(pán)、上線(xiàn)檢查清單,都可以先讓它生成初稿,再由人來(lái)審核和補(bǔ)充。


實(shí)驗(yàn) 3:讓它寫(xiě)一個(gè)可運(yùn)行的小程序

比如輸入:

用 Python 寫(xiě)一個(gè)貪吃蛇游戲。要求:1\. 使用 pygame 庫(kù)2\. 有分?jǐn)?shù)顯示3\. 按 ESC 退出寫(xiě)完后幫我運(yùn)行它。

這個(gè)實(shí)驗(yàn)?zāi)芸吹?Claude Code 的完整鏈路:

這一步非常關(guān)鍵。

因?yàn)槟銜?huì)發(fā)現(xiàn),它不是只會(huì)“輸出一段代碼”。

它可以創(chuàng)建文件、執(zhí)行命令、讀取報(bào)錯(cuò)、繼續(xù)修復(fù)。

這才是 Claude Code 和普通聊天式編程助手的明顯區(qū)別。


五、11 個(gè)真正影響效率的核心技巧

Claude Code 上手不難,真正拉開(kāi)差距的是下面這些用法。


1. 雙擊 Esc:別讓錯(cuò)誤對(duì)話(huà)繼續(xù)滾下去

AI 協(xié)作最常見(jiàn)的問(wèn)題不是它不會(huì)回答,而是它開(kāi)始沿著錯(cuò)誤方向回答。

你說(shuō)錯(cuò)了一個(gè)條件。 它理解錯(cuò)了一個(gè)需求。 你發(fā)現(xiàn)剛才的問(wèn)題問(wèn)得不準(zhǔn)確。 它已經(jīng)開(kāi)始往不該改的方向走。

這時(shí)候不要硬聊。

Claude Code 里可以用 Esc 快速回退:

按一次 Esc:清除當(dāng)前輸入按兩次 Esc:回退上一輪對(duì)話(huà)按三次 Esc:清空對(duì)話(huà)歷史

但這里有一個(gè)重要細(xì)節(jié):

Esc 回退的是對(duì)話(huà)狀態(tài),不是代碼文件。

如果 Claude Code 已經(jīng)修改了文件,Esc 不會(huì)自動(dòng)撤銷(xiāo)文件變更。

所以在正式項(xiàng)目里,大改之前最好先保證 Git 狀態(tài)干凈。

比如:

git statusgit add .git commit -m "chore: save current work before claude session"

或者至少:

git stash push -m "before claude session"

AI 可以大膽用,但回滾手段必須提前準(zhǔn)備好。


2. @ 引用文件:讓 AI 看準(zhǔn)確的上下文

很多人會(huì)這樣問(wèn):

幫我看看登錄模塊有沒(méi)有問(wèn)題。

這個(gè)問(wèn)題太模糊。

更好的方式是:

@src/services/auth.ts @tests/login.test.ts幫我分析登錄邏輯和現(xiàn)有測(cè)試覆蓋情況。

@ 引用文件的好處是:

讓 AI 明確讀取哪些文件; 減少無(wú)關(guān)上下文; 降低誤判概率; 節(jié)省 Token; 讓回答更貼近項(xiàng)目實(shí)際。

比如測(cè)試開(kāi)發(fā)場(chǎng)景可以這樣用:

@openapi.yaml請(qǐng)基于接口定義設(shè)計(jì)接口測(cè)試用例,覆蓋正常場(chǎng)景、參數(shù)缺失、非法參數(shù)、權(quán)限異常和冪等性問(wèn)題。

或者:

@tests/e2e/login.spec.ts這個(gè) Playwright 用例最近不穩(wěn)定,請(qǐng)分析可能原因,并優(yōu)化等待策略。

當(dāng)你給的上下文越精準(zhǔn),它越容易輸出可用結(jié)果。


3. ! 執(zhí)行命令:把測(cè)試和構(gòu)建納入對(duì)話(huà)

Claude Code 支持直接執(zhí)行終端命令:

!npm test
!git status
!npm run build

這意味著你可以讓它參與測(cè)試閉環(huán):

!npm test測(cè)試失敗了,請(qǐng)分析失敗原因,并判斷是業(yè)務(wù)代碼問(wèn)題還是測(cè)試代碼問(wèn)題。

這個(gè)能力對(duì)測(cè)試開(kāi)發(fā)非常重要。

因?yàn)闇y(cè)試工程的核心不是寫(xiě)完腳本,而是跑起來(lái)、看結(jié)果、定位問(wèn)題、修復(fù)問(wèn)題、再次驗(yàn)證。

過(guò)去這條鏈路需要人在多個(gè)窗口之間切換。

Claude Code 可以把它收進(jìn)一個(gè)終端工作流。


4. /plan:復(fù)雜任務(wù)先拆,不要直接讓它開(kāi)寫(xiě)

很多人用 Claude Code 翻車(chē),都是因?yàn)橐簧蟻?lái)就讓它直接改。

比如:

幫我實(shí)現(xiàn)用戶(hù)認(rèn)證功能。

這個(gè)需求太大。

更好的做法是先進(jìn)入規(guī)劃模式:

/plan我想添加用戶(hù)認(rèn)證功能,請(qǐng)幫我制定實(shí)施計(jì)劃。

它會(huì)先分析項(xiàng)目結(jié)構(gòu),然后拆出階段:

用戶(hù)表設(shè)計(jì); 注冊(cè)接口; 登錄接口; Token 或 Session 機(jī)制; 權(quán)限中間件; 前端登錄頁(yè); 異常處理; 單元測(cè)試; 集成測(cè)試。

這一步非常重要。

因?yàn)閺?fù)雜任務(wù)真正難的不是寫(xiě)代碼,而是邊界拆分。

沒(méi)有計(jì)劃就讓 AI 改代碼,本質(zhì)上是在讓它替你做架構(gòu)判斷。

這很危險(xiǎn)。

正確方式應(yīng)該是:

先讓 AI 給方案; 人來(lái)判斷方案是否合理; 再讓 AI 分階段執(zhí)行; 每完成一階段就檢查 diff 和測(cè)試結(jié)果。


5. /init:生成項(xiàng)目說(shuō)明書(shū) CLAUDE.md

/init 是 Claude Code 里非常關(guān)鍵的命令。

它會(huì)掃描項(xiàng)目結(jié)構(gòu),讀取配置文件,分析技術(shù)棧和常用命令,然后生成一份 CLAUDE.md

這個(gè)文件可以理解為 Claude Code 的項(xiàng)目記憶。

最小可用版本大概長(zhǎng)這樣:

# 項(xiàng)目名稱(chēng)## 技術(shù)棧- 前端:React 18 + TypeScript- 構(gòu)建工具:Vite- 測(cè)試框架:Vitest + Playwright- 樣式方案:Tailwind CSS## 常用命令```bashnpm run devnpm run testnpm run buildnpm run lint

代碼規(guī)范

  • 組件使用函數(shù)組件
  • API 請(qǐng)求統(tǒng)一走 request 封裝
  • 提交信息遵循 Conventional Commits
  • 測(cè)試文件統(tǒng)一放在 tests 目錄
有了這個(gè)文件,Claude Code 每次進(jìn)入項(xiàng)目時(shí),就能知道:項(xiàng)目用什么技術(shù)棧;  怎么啟動(dòng);  怎么測(cè)試;  代碼風(fēng)格是什么;  哪些目錄放什么內(nèi)容;  團(tuán)隊(duì)約定是什么。  沒(méi)有 CLAUDE.md 的項(xiàng)目,AI 每次都像新來(lái)的同事。有了 CLAUDE.md,AI 至少知道項(xiàng)目的基本規(guī)矩。---## 6\. /compact:長(zhǎng)對(duì)話(huà)一定要壓縮上下文很多人用 AI 工具時(shí)會(huì)遇到一個(gè)現(xiàn)象:剛開(kāi)始回答挺準(zhǔn),聊著聊著就開(kāi)始跑偏。這不一定是模型突然變差了,很可能是上下文變臟了。長(zhǎng)對(duì)話(huà)會(huì)積累大量?jī)?nèi)容:已經(jīng)廢棄的方案;  中間嘗試過(guò)的錯(cuò)誤;  不再需要的文件;  臨時(shí)討論的問(wèn)題;  舊的需求表述。  這些信息都會(huì)占用 Token,也會(huì)影響判斷??梢杂茫篳``bash/compact

它會(huì)把當(dāng)前對(duì)話(huà)壓縮成摘要,只保留關(guān)鍵決策和當(dāng)前狀態(tài)。

建議在這些場(chǎng)景使用:

連續(xù)聊了 5 到 6 輪之后; 完成一個(gè)階段,準(zhǔn)備進(jìn)入下一個(gè)階段之前; 感覺(jué)它開(kāi)始遺忘重點(diǎn)時(shí); 上下文使用率明顯變高時(shí)。

AI 協(xié)作不是上下文越多越好。

真正高效的上下文,應(yīng)該是干凈、準(zhǔn)確、可復(fù)用。


7. /diff:讓 AI 解釋變更,而不是盲目提交

寫(xiě)代碼只是第一步。

工程里更重要的是知道:

改了哪些文件; 為什么這么改; 有沒(méi)有引入風(fēng)險(xiǎn); 測(cè)試是否覆蓋; 提交信息是否清楚。

可以用:

/diff

然后繼續(xù)問(wèn):

請(qǐng)基于當(dāng)前 diff 總結(jié)這次變更,指出潛在風(fēng)險(xiǎn),并生成一個(gè) Conventional Commit message。

推薦的 Git 工作流是:

/diff請(qǐng)總結(jié)當(dāng)前變更,并生成提交信息。!git add -A!git commit -m "feat: xxx"

不要讓 AI 在你沒(méi)看 diff 的情況下直接提交。

這就像讓一個(gè)新同事不經(jīng)過(guò) Code Review 直接合并代碼。

AI 可以幫你提高效率,但不能替你承擔(dān)工程責(zé)任。


8. Shift + Tab:自動(dòng)接受修改,但別一上來(lái)就開(kāi)

Claude Code 默認(rèn)在修改文件前會(huì)詢(xún)問(wèn)確認(rèn)。

這是好事。

學(xué)習(xí)階段建議保留默認(rèn)模式,因?yàn)槟阈枰浪降滓氖裁础?/p>

熟悉之后,可以用 Shift + Tab 開(kāi)啟自動(dòng)接受模式,減少反復(fù)確認(rèn)。

但開(kāi)啟自動(dòng)接受前,最好滿(mǎn)足幾個(gè)條件:

當(dāng)前 Git 狀態(tài)是干凈的; 你清楚它要修改哪些文件; 任務(wù)范圍比較明確; 不是在改部署、權(quán)限、支付、生產(chǎn)配置等敏感邏輯。

否則自動(dòng)接受很容易變成自動(dòng)翻車(chē)。


9. Ctrl + C:方向錯(cuò)了就及時(shí)剎車(chē)

當(dāng) Claude Code 正在執(zhí)行長(zhǎng)任務(wù),或者你發(fā)現(xiàn)它理解錯(cuò)了,不要等它全部做完。

直接 Ctrl + C 停止當(dāng)前操作。

它和 Esc 的區(qū)別是:

Ctrl + C:停止正在執(zhí)行的操作雙擊 Esc:回退上一輪對(duì)話(huà)狀態(tài)

一個(gè)是剎車(chē),一個(gè)是回退。

用 AI 編程,一定要有打斷意識(shí)。

很多問(wèn)題不是 AI 一開(kāi)始就不可控,而是人發(fā)現(xiàn)方向不對(duì)后,沒(méi)有及時(shí)停下來(lái)。


10. /context:看清 Token 到底花在哪

當(dāng)你覺(jué)得 Claude Code 響應(yīng)慢、成本高、回答變亂,可以用:

/context

它會(huì)顯示當(dāng)前上下文使用情況。

重點(diǎn)看幾個(gè)信息:

Token 使用率; 引用了多少文件; 哪些文件占用最多上下文; 是否讀入了無(wú)關(guān)目錄。

如果發(fā)現(xiàn) node_modules、構(gòu)建產(chǎn)物、日志文件、大型資源文件進(jìn)入上下文,那就說(shuō)明 .claudeignore 需要調(diào)整。

Token 不只是成本問(wèn)題,也是質(zhì)量問(wèn)題。

上下文越臟,AI 越容易抓錯(cuò)重點(diǎn)。


11. /resume:多任務(wù)切換時(shí)保留上下文

當(dāng)你在多個(gè)任務(wù)之間來(lái)回切換,可以用:

/resume

它可以幫助你回到之前的會(huì)話(huà)狀態(tài)。

比如你剛才在修登錄 bug,中間臨時(shí)問(wèn)了一個(gè)算法問(wèn)題,之后想回到原來(lái)的修復(fù)任務(wù),就可以用 /resume。

對(duì)于長(zhǎng)周期任務(wù)來(lái)說(shuō),這個(gè)命令可以減少重復(fù)解釋上下文的成本。

但如果會(huì)話(huà)已經(jīng)很長(zhǎng),建議先 /compact,再繼續(xù)后續(xù)任務(wù)。


六、CLAUDE.md:決定 AI 能不能真正理解項(xiàng)目

如果一個(gè)項(xiàng)目沒(méi)有 CLAUDE.md,Claude Code 對(duì)項(xiàng)目的理解主要依賴(lài)臨時(shí)讀取文件和你的描述。

這就很容易出現(xiàn)幾個(gè)問(wèn)題:

每次都要解釋技術(shù)棧; 每次都要告訴它測(cè)試命令; 每次都要說(shuō)明代碼規(guī)范; 每次都要提醒它目錄結(jié)構(gòu); 多人協(xié)作時(shí)規(guī)則不統(tǒng)一。

一個(gè)好的 CLAUDE.md,至少應(yīng)該包含這些內(nèi)容:

# 項(xiàng)目名稱(chēng)## 項(xiàng)目概述一句話(huà)說(shuō)明項(xiàng)目做什么,服務(wù)什么用戶(hù),核心業(yè)務(wù)是什么。## 技術(shù)棧- 前端框架- 后端框架- 數(shù)據(jù)庫(kù)- 測(cè)試框架- 構(gòu)建工具- 部署方式## 項(xiàng)目結(jié)構(gòu)說(shuō)明 src、tests、components、services、api 等目錄的用途。## 常用命令- 啟動(dòng)開(kāi)發(fā)環(huán)境- 運(yùn)行測(cè)試- 類(lèi)型檢查- 代碼格式化- 生產(chǎn)構(gòu)建## 編碼規(guī)范- 命名規(guī)則- 組件寫(xiě)法- API 封裝方式- 錯(cuò)誤處理方式- 日志規(guī)范## 測(cè)試規(guī)范- 單元測(cè)試放哪里- E2E 測(cè)試怎么跑- 哪些模塊必須補(bǔ)測(cè)試- Bug 修復(fù)是否需要回歸測(cè)試## 常見(jiàn)坑- 哪些文件不要改- 哪些接口有歷史兼容問(wèn)題- 哪些配置涉及生產(chǎn)環(huán)境

這份文件不是給老板看的,也不是給客戶(hù)看的。

它是寫(xiě)給 AI 的項(xiàng)目說(shuō)明書(shū)。

越清楚,Claude Code 越不容易亂來(lái)。


七、.claudeignore:別讓上下文變成垃圾桶

Claude Code 能讀取項(xiàng)目上下文,但不是所有文件都應(yīng)該讓它讀。

很多項(xiàng)目 Token 消耗異常高,不是因?yàn)槿蝿?wù)復(fù)雜,而是因?yàn)樯舷挛睦锘爝M(jìn)了大量沒(méi)用內(nèi)容。

建議 .claudeignore 至少包含:

node_modules/dist/build/.next/coverage/*.log.env.env.local.vscode/.idea/*.png*.jpg*.jpeg*.gif*.mp4

這些文件的問(wèn)題很明顯:

依賴(lài)目錄太大; 構(gòu)建產(chǎn)物沒(méi)有必要; 日志文件噪音多; 環(huán)境變量可能包含敏感信息; 圖片視頻對(duì)多數(shù)代碼任務(wù)沒(méi)幫助。

合理配置 .claudeignore,通常能帶來(lái)三個(gè)變化:

響應(yīng)更快; Token 消耗更低; 回答更聚焦。

很多人只關(guān)注提示詞怎么寫(xiě),卻忽略了上下文治理。

但在真實(shí)工程里,上下文治理比提示詞更重要。


八、權(quán)限配置:讓 AI 能干活,但不能亂來(lái)

Claude Code 可以執(zhí)行命令、修改文件,所以權(quán)限配置不能忽視。

權(quán)限通常分成三類(lèi):

{  "permissions": {    "allow": [],    "ask": [],    "deny": []  }}

可以這樣理解:

allow:安全操作,自動(dòng)允許; ask:有風(fēng)險(xiǎn)操作,執(zhí)行前確認(rèn); deny:危險(xiǎn)操作,直接禁止。

例如:

{  "permissions": {    "allow": [      "Bash(git status)",      "Bash(git diff:*)",      "Bash(npm test:*)",      "Bash(npm run lint:*)",      "Edit(src/**/*.{ts,tsx})",      "Edit(tests/**/*.test.ts)"    ],    "ask": [      "Bash(git commit:*)",      "Bash(git push:*)",      "Bash(npm install:*)",      "Bash(npm run build)",      "Edit(package.json)",      "Edit(tsconfig.json)"    ],    "deny": [      "Bash(rm -rf:*)",      "Bash(sudo:*)",      "Bash(curl * | sh)",      "Bash(wget * | sh)",      "Read(.env)"    ]  }}

這個(gè)配置背后的原則很簡(jiǎn)單:

只讀操作可以放寬; 測(cè)試和 lint 可以放寬; 提交、推送、安裝依賴(lài)要確認(rèn); 危險(xiǎn)命令和敏感文件要禁止。

AI 工具越強(qiáng),越要有邊界。

不是不信任 AI,而是不應(yīng)該讓任何工具繞過(guò)工程安全底線(xiàn)。


九、測(cè)試開(kāi)發(fā)視角:Claude Code 最值得用在哪些場(chǎng)景

對(duì)測(cè)試開(kāi)發(fā)工程師來(lái)說(shuō),Claude Code 不是只用來(lái)寫(xiě)業(yè)務(wù)代碼的。

它更適合放到測(cè)試工程鏈路里。


1. 輔助生成自動(dòng)化測(cè)試用例

比如:

@src/services/order.ts請(qǐng)為訂單創(chuàng)建邏輯生成單元測(cè)試,重點(diǎn)覆蓋邊界值、異常輸入、狀態(tài)流轉(zhuǎn)和重復(fù)提交。

它可以根據(jù)代碼邏輯反推測(cè)試場(chǎng)景。

但注意,AI 生成的用例不能直接當(dāng)最終結(jié)果。

測(cè)試人員要重點(diǎn)審核:

是否覆蓋核心業(yè)務(wù)風(fēng)險(xiǎn); 斷言是否有意義; 邊界條件是否完整; 異常路徑是否真實(shí)存在; 測(cè)試數(shù)據(jù)是否可維護(hù)。

AI 適合補(bǔ)充思路,不適合替你做最終質(zhì)量判斷。


2. 分析失敗用例

可以這樣用:

!npm test測(cè)試失敗了,請(qǐng)分析失敗原因,判斷是業(yè)務(wù)邏輯問(wèn)題、測(cè)試斷言問(wèn)題,還是環(huán)境問(wèn)題。

這類(lèi)場(chǎng)景非常適合 Claude Code。

因?yàn)樗梢越Y(jié)合測(cè)試輸出、源碼和測(cè)試文件一起分析。

傳統(tǒng)流程里,你可能需要復(fù)制日志、打開(kāi)文件、搜索調(diào)用鏈、重新跑命令。

Claude Code 能把這些動(dòng)作合在一個(gè)會(huì)話(huà)里。


3. 生成接口自動(dòng)化腳本

如果項(xiàng)目里有 OpenAPI、Swagger 或接口文檔,可以這樣問(wèn):

@openapi.yaml請(qǐng)基于這個(gè)接口文檔生成 Pytest + Requests 的接口測(cè)試腳本。要求覆蓋正常場(chǎng)景、參數(shù)缺失、非法參數(shù)、權(quán)限異常和冪等性問(wèn)題。

它可以快速生成接口測(cè)試初稿。

再由測(cè)試人員補(bǔ)充:

業(yè)務(wù)前置數(shù)據(jù); 鑒權(quán)邏輯; 環(huán)境變量; 數(shù)據(jù)清理; 接口依賴(lài)關(guān)系; 斷言策略。

這樣比從零手寫(xiě)腳本效率高很多。


4. 優(yōu)化 UI 自動(dòng)化穩(wěn)定性

UI 自動(dòng)化最常見(jiàn)的問(wèn)題不是寫(xiě)不出來(lái),而是不穩(wěn)定。

比如 Playwright 用例偶現(xiàn)失敗,可以讓 Claude Code 分析:

@tests/e2e/login.spec.ts這個(gè) Playwright 用例最近經(jīng)常失敗,請(qǐng)分析可能的不穩(wěn)定原因,并優(yōu)化等待策略。

它可能會(huì)從這些角度給出建議:

定位器是否穩(wěn)定; 是否依賴(lài)固定 sleep; 頁(yè)面跳轉(zhuǎn)是否等待完成; 接口返回是否有異步延遲; 測(cè)試數(shù)據(jù)是否相互污染; 斷言是否過(guò)早執(zhí)行。

這類(lèi)問(wèn)題非常貼近測(cè)試開(kāi)發(fā)日常。


5. 重構(gòu)測(cè)試框架目錄

當(dāng)測(cè)試代碼越寫(xiě)越多,目錄結(jié)構(gòu)往往會(huì)變亂。

可以讓 Claude Code 先做分析:

@tests/請(qǐng)分析當(dāng)前測(cè)試目錄結(jié)構(gòu),給出一套更適合維護(hù)的分層方案。

它可以從這些維度整理:

單元測(cè)試; 接口測(cè)試; E2E 測(cè)試; 測(cè)試數(shù)據(jù); 公共 fixture; 頁(yè)面對(duì)象模型; 斷言工具; 測(cè)試報(bào)告。

這對(duì)測(cè)試框架治理很有幫助。


6. 生成缺陷復(fù)盤(pán)和回歸建議

Bug 修完之后,不要只停留在代碼修復(fù)。

可以基于 diff 生成復(fù)盤(pán):

/diff請(qǐng)基于這次 bug 修復(fù),生成一份缺陷復(fù)盤(pán)文檔。包括問(wèn)題現(xiàn)象、根因分析、影響范圍、修復(fù)方案和回歸測(cè)試建議。

這類(lèi)能力非常適合團(tuán)隊(duì)沉淀知識(shí)庫(kù)。

尤其是測(cè)試團(tuán)隊(duì),很多經(jīng)驗(yàn)如果不沉淀,就會(huì)一直停留在個(gè)人腦子里。

Claude Code 可以幫助把一次修復(fù)變成可復(fù)用的團(tuán)隊(duì)資產(chǎn)。


十、一個(gè)更適合測(cè)試開(kāi)發(fā)的 Claude Code 工作流

如果從測(cè)試開(kāi)發(fā)角度使用 Claude Code,我更建議采用下面這條流程:

[圖片上傳中...(image-b2bfcf-1779074854436-1)]

這里面,AI 不是替代測(cè)試工程師。

AI 負(fù)責(zé)提高產(chǎn)出速度。

人負(fù)責(zé)判斷質(zhì)量。

哪些場(chǎng)景必須測(cè); 哪些風(fēng)險(xiǎn)不能漏; 哪些斷言才有業(yè)務(wù)意義; 哪些失敗屬于環(huán)境問(wèn)題; 哪些缺陷值得復(fù)盤(pán); 哪些自動(dòng)化腳本需要長(zhǎng)期維護(hù)。

這些仍然是測(cè)試開(kāi)發(fā)工程師的核心價(jià)值。


十一、Claude Code 用不好,往往不是工具問(wèn)題

很多人用 Claude Code 用得淺,不是因?yàn)楣ぞ卟恍?,而是使用方式還停留在問(wèn)答模式。

常見(jiàn)問(wèn)題有幾個(gè)。


1. 需求太模糊

比如:

幫我優(yōu)化一下代碼。

這類(lèi)問(wèn)題很難得到高質(zhì)量結(jié)果。

更好的寫(xiě)法是:

@src/components/UserList.tsx請(qǐng)從渲染性能、狀態(tài)管理、重復(fù)邏輯和可測(cè)試性四個(gè)角度審查這個(gè)組件,并給出可執(zhí)行的修改方案。

2. 不給上下文

如果不告訴它項(xiàng)目結(jié)構(gòu)、相關(guān)文件、測(cè)試命令、業(yè)務(wù)規(guī)則,它只能泛泛而談。

AI 不是神,它需要上下文。

但上下文不是越多越好,而是越準(zhǔn)確越好。


3. 不看 diff

讓 Claude Code 改完代碼之后,一定要看 diff。

不看 diff,就相當(dāng)于讓一個(gè)剛接觸項(xiàng)目的人直接提交代碼。

這是工程風(fēng)險(xiǎn),不是工具問(wèn)題。


4. 不配置 .claudeignore

把 node_modules、構(gòu)建產(chǎn)物、日志、臨時(shí)文件都丟進(jìn)上下文,只會(huì)讓 AI 越來(lái)越糊涂。

很多回答不準(zhǔn),根源不是模型能力,而是上下文太臟。


5. 沒(méi)有 Git 保護(hù)

AI 改代碼之前,至少要知道怎么回滾。

建議養(yǎng)成習(xí)慣:

git status

確認(rèn)當(dāng)前分支狀態(tài)。

大改之前先提交或 stash。

這是使用任何 AI 編程工具的底線(xiàn)。


十二、最后:AI 編程的門(mén)檻正在變

Claude Code 的出現(xiàn),說(shuō)明 AI 編程正在發(fā)生一個(gè)變化。

過(guò)去大家關(guān)心的是:

AI 能不能寫(xiě)代碼; AI 能不能補(bǔ)全函數(shù); AI 能不能解釋報(bào)錯(cuò); AI 能不能生成腳本。

現(xiàn)在更應(yīng)該關(guān)心的是:

AI 能不能理解項(xiàng)目; 能不能遵守團(tuán)隊(duì)規(guī)范; 能不能參與測(cè)試閉環(huán); 能不能看懂 diff; 能不能管理上下文; 能不能在權(quán)限邊界內(nèi)執(zhí)行任務(wù); 能不能把開(kāi)發(fā)、測(cè)試、提交、復(fù)盤(pán)串起來(lái)。

這才是 Claude Code 值得學(xué)習(xí)的地方。

它不是讓工程能力變得不重要。

恰恰相反,它會(huì)放大工程能力的差距。

懂項(xiàng)目結(jié)構(gòu)的人,能寫(xiě)出更好的 CLAUDE.md。 懂測(cè)試策略的人,能判斷 AI 生成的用例是否有效。 懂 Git 工作流的人,敢讓 AI 參與真實(shí)項(xiàng)目。 懂上下文治理的人,能控制成本和質(zhì)量。 懂權(quán)限邊界的人,能讓 AI 高效但不失控。

未來(lái)的差距,不會(huì)只體現(xiàn)在“誰(shuí)會(huì)用 AI 寫(xiě)代碼”。

更大的差距會(huì)體現(xiàn)在:

誰(shuí)能把 AI 放進(jìn)自己的工程流程里,形成穩(wěn)定、可控、可復(fù)用的生產(chǎn)力。

Claude Code 最強(qiáng)的地方,也許不是寫(xiě)代碼本身。

而是它讓我們重新思考:

一個(gè)開(kāi)發(fā)者、一個(gè)測(cè)試開(kāi)發(fā)工程師,應(yīng)該如何把 AI 納入真實(shí)的工程協(xié)作流程。

本文部分內(nèi)容參考了霍格沃茲測(cè)試開(kāi)發(fā)學(xué)社整理的相關(guān)技術(shù)資料,主要涉及軟件測(cè)試、自動(dòng)化測(cè)試、測(cè)試開(kāi)發(fā)及 AI 測(cè)試等內(nèi)容,側(cè)重測(cè)試實(shí)踐、工具應(yīng)用與工程經(jīng)驗(yàn)整理。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • ChatGPT 免費(fèi)額度,不花錢(qián)也能用 很多人第一次接觸 ChatGPT,都會(huì)先糾結(jié)一個(gè)問(wèn)題:不付費(fèi)到底能不能用?...
    大喬家的閱讀 25評(píng)論 0 0
  • ChatGPT 怎么添加圖片?多模態(tài)上傳教程 現(xiàn)在很多人用 ChatGPT,已經(jīng)不只是“打字問(wèn)答”了,圖片識(shí)別、截...
    甘草味閱讀 27評(píng)論 0 0
  • 面試后遲遲沒(méi)消息,怎么判斷你是不是“第一順位候選人”? 導(dǎo)讀 應(yīng)屆生找工作時(shí),最折磨人的不是筆試,也不是面試,而是...
  • ChatGPT 怎么使用?新手入門(mén)到精通教程 很多新手第一次打開(kāi) ChatGPT,最容易犯的錯(cuò)誤是把它當(dāng)成搜索引擎...
    甘草味閱讀 20評(píng)論 0 0
  • ChatGPT 為什么那么貴?平價(jià)替代推薦 最近不少開(kāi)發(fā)者和內(nèi)容從業(yè)者都有同一個(gè)感受:ChatGPT 好用,但長(zhǎng)期...
    是巧巧呀閱讀 22評(píng)論 0 0

友情鏈接更多精彩內(nèi)容