Threads 最近有一則討論提到,使用者在電腦長期發燙後,交給 Claude Code 協助檢查,才發現某個程式累積了大量崩潰紀錄。這個情境值得寫的不是「讓 agent 看整台電腦」,而是:當本機異常很模糊時,怎麼把診斷範圍縮到能授權、能重跑、也能保護隱私的程度。
Claude Code 的文件將讀取、Bash 與檔案修改分成不同權限邊界;唯讀工具與需要明確核准的動作並不相同。我的做法是先準備一份最小診斷包,讓 agent 分析證據,而不是把家目錄、瀏覽器資料或所有設定檔一次攤開。
先把「電腦怪怪的」轉成一個可回答的問題
開始前先寫下這三件事:
| 要記錄的項目 | 範例 | 為什麼需要 |
|---|---|---|
| 症狀 | 待機時 CPU 持續偏高、風扇一直轉 | 避免把正常的編譯或同步誤判成異常 |
| 時間窗 | 2026-07-12 09:00 到 10:00 | 讓日誌與事件能對得上 |
| 目標程序 | app 名稱、bundle id、PID 或 crash report 名稱 | 限制搜尋範圍,不必掃整個使用者目錄 |
若沒有時間窗與目標,輸出很容易變成大量猜測。此時最好的下一步通常不是多給權限,而是先補一段可重現的觀察:例如「開啟 X 後五分鐘開始升溫」或「登入後才出現」。
建立最小診斷包,不直接開放整個家目錄
把準備交給 Claude Code 的檔案放進新資料夾,並先移除 token、email、使用者名稱、完整路徑與客戶資料。macOS 可先用你已知的程序名稱蒐集有限輸出;以下只是建立人工審閱用的快照,執行前請自行確認程序名稱與內容。
mkdir -p ~/Desktop/agent-diagnosis
ps -axo pid,ppid,%cpu,%mem,command | rg '目標程序名稱' \ > ~/Desktop/agent-diagnosis/processes.txt
log show --last 1h --predicate 'process == "目標程序名稱"' \ > ~/Desktop/agent-diagnosis/system-log.txt不要把 log show 的整份輸出原封不動送進模型。先打開檔案確認是否含有帳號、網址、請求內容或其他不該外流的資訊;必要時只留下錯誤碼、時間戳與呼叫堆疊附近幾行。
先用 plan mode 做唯讀判讀
Anthropic 的 CLI reference 支援 --permission-mode plan、--allowedTools 與 --disallowedTools。第一輪的工作是解釋日誌、找出待驗證假設,不是修檔、刪快取或重新安裝。
cd ~/Desktop/agent-diagnosis
claude --permission-mode plan \ --allowedTools "Read" "Bash(rg *)" "Bash(sed *)" \ --disallowedTools "Edit" "Write" "Bash(rm *)" "Bash(curl *)" \ "只分析這個資料夾。輸出: 1. 時間窗內可確認的事件; 2. 每個事件的證據檔與行號; 3. 尚未證實的假設; 4. 下一個最小驗證動作。 不要修改檔案或執行網路命令。"這段指令刻意不使用跳過確認的選項。官方文件把 --dangerously-skip-permissions 列為會跳過 permission prompt 的旗標;它不適合第一次處理不明的本機異常。
把「看起來像根因」和「已經證實」分開
一份好的診斷回覆至少要能區分三層:
- 觀察到的事實:某程序在指定時間窗出現的錯誤或資源使用量。
- 可驗證的假設:例如 crash report 與某次更新、特定外掛或輸入檔是否有關。
- 尚未能推出的結論:例如「一定是記憶體洩漏」或「重裝就會好」。
在沒有 profiler、重現步驟或供應商已知問題的情況下,不要把單一 crash log 當成根因證明。
如果第一輪把問題指向某個專案或設定檔,才另開第二個 session,並只加上需要的讀取路徑。需要修改時,也應先讓 agent 列出預計修改的檔案、備份方式與驗證指令,再由人確認。
用完成條件防止診斷無限延長
診斷任務很容易一直蒐集資料。替它設定停損條件:
完成條件:- 找到時間窗內最相關的三個事件,並標明來源。- 每個推測都列出一個可在本機驗證的下一步。- 若證據不足,明確回報「無法判定」,不要提出刪除或重裝建議。你也可以在非互動工作流加上 --max-turns,讓超出預期的分析留下目前證據而停止。要解決的是可閱讀的診斷紀錄,而不是讓 agent 在不明範圍內一直嘗試。
這次要記住的事
Claude Code 適合協助整理已選出的日誌與提出下一步驗證,但它不該替代問題定義或取得不必要的本機存取。先做最小診斷包、用唯讀計畫模式、把結論綁在證據與時間窗上,才有辦法安全地把模糊異常變成可處理的問題。
常見問題
Q: 可以直接讓 Claude Code 掃描家目錄找問題嗎?
A: 不建議把它當成起點。先挑出相關 crash report、程序快照或專案日誌,人工移除敏感內容後再分析。範圍越小,越容易看出結論是否真的被證據支持。
Q: 為什麼第一輪不用讓 agent 直接修復?
A: 異常的根因還不明時,修改、刪除快取或執行修復指令都會改變現場。先保留唯讀證據,第二輪才以明確的修復計畫與驗證標準處理,回溯會容易得多。
Q: plan mode 能保證不會碰到敏感資料嗎?
A: 不能。它限制可做的動作,不會自動替你判斷每個檔案的敏感性。仍要靠工作目錄、檔案篩選與人工檢查來縮小資料範圍。
參考資料:
回報錯字、失效連結,或告訴我你想看的延伸主題。