題)
用 Context Engineering 的思路排查線上問(wèn)題最近處理一個(gè)遺留項(xiàng)目的生產(chǎn)問(wèn)題讓我對(duì) Claude、Codex 這類 AI Coding 工具在診斷線上環(huán)境問(wèn)題有了一些心得。背景一個(gè)我并不熟悉的老項(xiàng)目這次問(wèn)題來(lái)自一個(gè)幾年前開(kāi)發(fā)完成的項(xiàng)目。項(xiàng)目本身已經(jīng)不是團(tuán)隊(duì)當(dāng)前主要開(kāi)發(fā)對(duì)象但還有客戶在持續(xù)使用。這類項(xiàng)目有幾個(gè)典型特點(diǎn)前端、后端、App、固件都有自己的代碼和邏輯。部署方式和運(yùn)行環(huán)境可能已經(jīng)不是團(tuán)隊(duì)日常最熟悉的那套。原始開(kāi)發(fā)人員未必隨時(shí)可問(wèn)。文檔可能不完整或者已經(jīng)跟當(dāng)前線上狀態(tài)有偏差??蛻羧匀辉谟盟詥?wèn)題必須盡快定位和解決。我自己并不熟悉這個(gè)項(xiàng)目也沒(méi)有辦法花很多時(shí)間從頭學(xué)習(xí)它的完整架構(gòu)和基本原理??蛻粲龅降膯?wèn)題某個(gè)用戶前一天還能使用第二天開(kāi)始頁(yè)面上沒(méi)有出現(xiàn)操作按鈕。后臺(tái)配置看起來(lái)正常服務(wù)端接口也沒(méi)有明顯報(bào)錯(cuò)。最好能快速看現(xiàn)場(chǎng)視頻、查日志、理解鏈路然后盡快給出判斷。這也是我最想分享的點(diǎn)在不熟悉項(xiàng)目的情況下如何讓 Claude / Codex 這類 AI Coding 工具快速進(jìn)入狀態(tài)并且真的幫上忙。第一件事盡可能提供完整代碼上下文對(duì)復(fù)雜系統(tǒng)來(lái)說(shuō)只給后端代碼通常不夠。如果問(wèn)題涉及端到端鏈路最好能讓 AI 看到所有相關(guān)代碼前端代碼后端代碼App 代碼SDK 代碼固件或設(shè)備側(cè)協(xié)議代碼不用擔(dān)心AI會(huì)一次性讀完所有代碼它的能力已經(jīng)足夠在必要時(shí)候進(jìn)行深度搜索、跳轉(zhuǎn)、關(guān)聯(lián)。部署腳本、配置文件、API 文檔、歷史排查記錄 —— 這些其實(shí)不需要。因?yàn)檫@些都可以通過(guò)代碼得出結(jié)論。用代碼做Single Source of Truth更好。第二件事提供客戶項(xiàng)目背景和部署方式代碼之外還需要業(yè)務(wù)和部署上下文。比如客戶的租戶名稱、賬號(hào)清單、權(quán)限配置情況。但是這些信息提供起來(lái)比較麻煩因?yàn)槲覍?duì)客戶的一些具體的配置到底是標(biāo)準(zhǔn)化的還是定制化的我不太了解。我唯一能給出的是這個(gè)客戶的租戶ID和受影響用戶ID。其他的需要AI根據(jù)代碼的使用鏈路自己去后臺(tái)或數(shù)據(jù)庫(kù)里查詢。當(dāng)時(shí)大概有三種選擇。第一種是直接讓 AI 訪問(wèn)生產(chǎn)數(shù)據(jù)庫(kù)。 第二種是調(diào)用生產(chǎn)環(huán)境 API。 第三種是讓 AI 使用我的賬號(hào)登錄瀏覽器直接查看客戶項(xiàng)目配置。我最后選了第三種也不是因?yàn)槟姆N更好而是這種方式最簡(jiǎn)單不需要去搞 APIKEY也不需要搞readonly的數(shù)據(jù)庫(kù)賬號(hào)。這里用到了Chrome Dev Tools MCP第三件事告訴 AI 日志在哪里并給它 CLI這次我用的是觀測(cè)云的 CLI。排查生產(chǎn)問(wèn)題日志位置非常關(guān)鍵。最好明確告訴 AI后端 API 日志、App 日志、前端監(jiān)控、設(shè)備或固件日志、第三方調(diào)用日志分別在哪里以及日志里的關(guān)鍵字段是什么request id、user id、device id怎么關(guān)聯(lián)。如果日志量不大可以直接導(dǎo)出給 AI。但真實(shí)生產(chǎn)日志往往很大不可能一次性塞進(jìn)聊天窗口這時(shí)候 CLI 就很關(guān)鍵。CLI 的價(jià)值在于AI 不需要我手工復(fù)制大量日志給它而是可以直接查詢?cè)贫巳罩緜}(cāng)庫(kù)。讓 AI 從被動(dòng)閱讀變成主動(dòng)查詢。AI自動(dòng)排查的效果它很細(xì)地查每一段日志權(quán)限預(yù)取有沒(méi)有成功App 有沒(méi)有離線藍(lán)牙掃描有沒(méi)有發(fā)生有沒(méi)有識(shí)別到目標(biāo)設(shè)備有沒(méi)有創(chuàng)建本地 session有沒(méi)有建立連接有沒(méi)有寫入 token有沒(méi)有上報(bào)最終事件。我把幾天的工作量壓縮成了半小時(shí)并且給出了非常準(zhǔn)確的結(jié)論。一次排查結(jié)束后如果所有結(jié)論只留在聊天記錄里很快就會(huì)丟失。可以用Compound Engineering的SKILL沉淀solution 文檔形成可復(fù)用經(jīng)驗(yàn)。核心收獲第一AI 需要完整上下文代碼、項(xiàng)目背景、部署方式、業(yè)務(wù)場(chǎng)景、關(guān)鍵概念和時(shí)間窗口。 第二要給 AI 進(jìn)入現(xiàn)場(chǎng)的工具尤其是日志查詢 CLI。沒(méi)有日志入口AI 只能猜有了 CLI它才能逐段排除。 第三不能直連數(shù)據(jù)庫(kù)時(shí)可以讓 AI 通過(guò) Chrome DevTools MCP 查看后臺(tái)頁(yè)面。后臺(tái)本身就是業(yè)務(wù)配置的解釋層。 第四盡可能使用視覺(jué)模型。很多后臺(tái)配置不是 JSON而是表格、標(biāo)簽、狀態(tài)、按鈕和彈窗。 第五人的作用不是手工查每一行日志而是補(bǔ)上下文、審查AI的行動(dòng)路徑。 最后排查結(jié)束后要沉淀把結(jié)論寫成 solution 文檔讓這次上下文變成下次可復(fù)用的經(jīng)驗(yàn)。預(yù)覽時(shí)標(biāo)簽不可點(diǎn)微信掃一掃贊賞作者喜歡作者關(guān)閉0人付費(fèi)更多正在加載…正在加載…關(guān)閉更多名稱已清空微信掃一掃贊賞作者喜歡作者其它金額贊賞后展示我的頭像作品暫無(wú)作品喜歡作者其它金額¥最低贊賞 ¥0確定返回其它金額更多贊賞金額¥最低贊賞 ¥01234567890.AI調(diào)研 · 目錄#AI調(diào)研上一篇Compound Engineering 重構(gòu)把 Agent 收進(jìn) Skill下一篇如何啟動(dòng)多個(gè) Codex 瀏覽器會(huì)話作者提示: 個(gè)人觀點(diǎn)僅供參考關(guān)閉更多搜索「」網(wǎng)絡(luò)結(jié)果關(guān)閉調(diào)整當(dāng)前正文文字大小更多100%原文鏈接xiaofeng.dev