Coolkid mascot CoolkidLab Build in Public. Level up together.
首頁新手教學免費工具AI 新聞GitHub 精選服務關於 Coolkid

新手教學 · 疑難排解

Agent 為什麼越來越笨?Claude Code/Codex

閱讀
摘要

短答給趕時間的人:Agent 用久了開始忘記事情,不一定是它突然變笨,常見原因是 context 被對話、檔案、工具輸出和規則塞滿。Claude Code 可以輸入 /context 查看,再用 /compact 或 /clear;Codex 多半會自動整理,換新 task 後則要重新讀專案規則與進度檔。Claude Code 的固定規則放 CLAUDE.md,Codex 放 AGENTS.md,會變動的工作進度另外寫進斷點檔。摘要仍可能漏掉早期細節,所以不要把唯一版本的決策只留在聊天裡。

我第一次遇到的現象,不是跳出一個明確的「記憶已滿」錯誤,而是同一場工作做得越久,Agent 越容易漏掉前面談過的限制。

現在看到 context 百分比升高,我不再靠感覺猜。Claude Code 先輸入 /context; 則看工作畫面的 context/壓縮提示,先找出空間到底花在哪裡。

你只要先回答一件事:接下來還是不是同一個任務?同一件事先整理重點,換題就開新的對話或 task。想換 Agent 仍接回原進度,就把固定規則和工作進度分開存進檔案。

我的網站專案已經跨過 100 個以上的對話與工作階段。真正讓工作接得上的,不是硬撐同一場,而是把規則與進度放回檔案。

先確認不是變笨,而是 context 被什麼占滿

context 是 Agent 這一場能同時處理的內容量。Claude Code 輸入 /context 可以查看;Codex 則看工作畫面提供的 context 或壓縮提示。名稱不同,先找出空間用量的目的相同。

不只你打的訊息會算進去。Agent 讀過的檔案、指令輸出、規則檔、載入的技能與系統指示,都會放進同一個 context;Claude Code 常見的是 CLAUDE.md,Codex 常見的是 AGENTS.md。

所以同樣聊 20 輪,讀過 3 個短檔案和讀過 30 個長檔案,剩下的空間完全不同。輪數只能當提示,不能拿來判斷 Agent 是否快滿。

依照 Claude Code 官方文件,接近上限時會先清理較舊的工具輸出,再自動把對話整理成摘要;Codex 也會用壓縮與新工作階段維持長任務,但兩者的介面和觸發方式不完全相同。

context 顯示 100% 也不等於專案壞掉,通常代表這場工作需要整理。先看有沒有正在自動壓縮、是否開始漏掉早期限制,再決定要繼續整理還是換新工作階段。

比較可靠的訊號有三個:context 顯示接近上限、畫面出現自動壓縮提示、Agent 忘記早期決定或重複讀同一批檔案。只有回應變慢,還可能是網路、模型或工具正在執行。

確認是 context 問題後,再看你是否還要繼續同一件事。這個判斷會決定要整理目前工作,還是直接開乾淨的新對話或 task。

方法 1:同一件事繼續做,先整理再下指令

任務還沒做完,但 context 已經接近上限,先請 Agent 整理目前進度,再繼續做。Claude Code 可以輸入 /compact;Codex 多半會自動壓縮,也可以直接要求它先列出進度摘要。

不要只叫它「繼續」。在 Claude Code 可以補上保留重點,例如「/compact 保留改過的檔案、測試結果、尚未完成的項目與不能改的限制」;在 Codex 則用同樣的自然語言要求摘要,別把 Claude Code 專用斜線指令硬套過去。

這種寫法比完全交給系統猜更穩,適合同一篇文章、同一個錯誤或同一個功能還要繼續處理的時候。重點不是某個指令,而是先把交接資訊說清楚。

壓縮的代價是細節會變成摘要。結論通常還在,但當時為什麼排除某個方案、哪次測試只是假通過,可能被縮成一句話。這就是你感覺 Agent 越來越笨的常見來源。

我現在會先把重要決定、已改檔案與驗證結果寫進專案檔案,再整理對話。這些資訊有磁碟上的版本,就不必賭摘要會不會保留。

如果工作已經換題,不需要前面的對話,Claude Code 可用 /clear,Codex 可開新的 task 或對話。舊對話仍能從紀錄中找回,這不是把專案檔案刪掉。

但新對話也有代價:少了限制背後的來由,接手的 Agent 可能做出合理卻偏離原計畫的選擇。我把這個實例寫在新對話為什麼會做偏

方法 2:固定規則分開放,CLAUDE.md 與 AGENTS.md 各就各位

有些規則每次開新對話或 task 都要重新交代,像是回覆語言、建置指令、不能修改的資料夾。

這些規則要放進 Agent 會讀的專案規則檔:Claude Code 是根目錄的 CLAUDE.md,Codex 則是 AGENTS.md。規則跟工具對上,換對話就不用從頭交代。

固定規則檔在新工作階段會重新載入,所以真正不能漏掉的規則,比留在對話前半段可靠。Codex 可用官方建議的 /init 產生 AGENTS.md 起點。

不過規則檔也會佔 context。Claude Code 官方文件建議 CLAUDE.md 控制在 200 行內;Codex 的 AGENTS.md 也應保持短,只留下每場都需要的規則。

# CLAUDE.md 或 AGENTS.md 範例(放在專案資料夾根部)

- 回覆一律用繁體中文
- 這是靜態網站專案,改動後要跑 python build.py
- 大改動前先列計畫給我確認
- 不要動 legacy/ 資料夾裡的東西

我的判斷方式很簡單:同一條規則糾正到第 2 次,就評估是否寫進對應的 CLAUDE.md 或 AGENTS.md。

只在特定工作才需要的長說明不要全部塞進去。可以拆成獨立規範或技能,規則檔只留一行「遇到什麼情況要去哪裡讀」。

如果你還沒寫過,可以先看CLAUDE.md 怎麼寫;Codex 使用者則可從官方的 Codex /init 說明開始。兩者都先從 3 行起步,比直接複製一大份規則安全。

方法 3:用開源斷點系統,換 Agent 也能接著做

CLAUDE.md 或 AGENTS.md 適合放不常變動的規則,但目前做到哪裡、改了哪些檔案、下一步是什麼,每一場都會改變。

這些狀態適合另外寫進斷點檔,例如專案裡的 progress.md,不要讓規則檔變成每天都要重寫的工作日誌。

收工前我會叫 AI 記錄 5 件事:完成項目、改過的檔案、實際跑過的驗證、尚未完成的工作與下一步需要的輸入。

開新對話或 task 後,第一句先叫 Agent 讀斷點檔,再用 的狀態檢查指令 git status 和實際測試校對,就能接著做。

新工作階段拿到的是乾淨空間,專案狀態則從磁碟重新讀取。這比期待 Agent 從一場很長的對話裡自己抓重點穩定。

這套方法是我維持網站專案的核心。整個專案跨過 100 個以上的工作階段,換 Claude Code 或 Codex 後仍然可以接回原進度。

我現在把斷點拆成兩層:精簡狀態控制在 30 行內,只放當前階段、下一步與阻塞事項;長脈絡放另一個檔案,需要時才讀。這種格式不綁任何一家 Agent。

這樣既不會每場開工先塞一大包舊資料,也保留了重要決策的來由。換 Agent 如果做出不同選擇,還能回頭對照,不用靠印象爭論。

我也把這套方法做成可直接安裝的跨對話斷點系統,原始碼與安裝指令都公開在 GitHub。它不會讓 Agent 永久記住所有對話,而是用狀態檔和開場自動載入,把上次的進度重新交回去。

先確認 context 花在哪裡。同一件事先整理重點;換題就開新對話或 task。Claude Code 用 CLAUDE.md,Codex 用 AGENTS.md,變動進度一律放斷點檔。

Agent 顯示 context 100%,不代表只能放棄這場工作。先看對話、檔案、工具輸出與規則用了多少空間:Claude Code 可用 /context,Codex 看 context 與壓縮提示。接近上限時系統可能整理對話,但摘要會漏掉早期細節。三種處理方式:同一件事先整理並指定保留重點;換題開新對話或 task;固定規則分別放 CLAUDE.md 或 AGENTS.md,會變動的進度與驗證結果寫進斷點檔。我的網站專案跨過 100 個以上的工作階段,靠 30 行內的精簡狀態加長脈絡檔接續,而不是把所有內容留在同一場。

名詞解釋

context(上下文視窗)
AI 一次能「記在腦中」的內容上限,包含你說的話、它讀的檔案跟對話紀錄。塞滿了就會忘掉前面的事,這就是長對話後 AI 開始恍神的原因。
token(字元計費單位)
AI 讀寫文字的計量單位,一個中文字約 1-2 個 token。訂閱方案的用量限制、API 的計費都是按 token 算,所以「講重點、少貼無關內容」直接等於省錢。
大型語言模型(LLM, Large Language Model)
ChatGPT、Claude 這類 AI 背後的技術:讀過海量文字後,學會理解與生成人類語言的模型。
命令列(CLI, Command Line Interface)
用打字指令操作電腦的方式,沒有按鈕跟視窗。Claude Code 就是命令列工具。
Git
程式碼的版本紀錄系統:每次改動存成一個「存檔點」(commit),隨時可以回溯、比對、還原,不怕改壞。
Codex
OpenAI 的程式型 AI 代理,跟 Claude Code 同類:能讀寫你的檔案、跑指令、動手把功能做出來。

全站名詞表 · 166 條 →

不想錯過 Lab 的新文章?
訂閱後有新文章上線,就寄信通知你,
點有興趣的進來看就好。

填 email 就完成訂閱(信由 Substack 代寄)、隨時取消、不轉賣 email。

如果內容對你有用就太好了
隨喜斗內

Buy Me a Coffee at ko-fi.com
NEXT CHAPTER ▸ Claude Code 額度多久重置?Pro 限制與 5 招

常見問題FAQ

Agent 為什麼越用越笨,開始忘記前面說的話?

先確認 context 是否接近上限。Agent 的 context 會放入對話、讀過的檔案、工具輸出、規則檔與其他指示,接近上限時系統可能清理或壓縮,摘要仍可能漏掉早期細節。Claude Code 可用 /context、/compact、/clear;Codex 則看 context 提示、要求整理,或開新的 task。

整理目前對話和開新 task 差在哪?Claude Code、Codex 要怎麼選?

同一件事還要繼續,就先要求 Agent 列出改過的檔案、測試結果、未完成項目與不能改的限制,再整理 context。Claude Code 可用 /compact;換題才用 /clear 或開新對話。Codex 可讓目前工作先做摘要,或直接開新 task。舊對話和專案檔案都不會因此被刪除。

CLAUDE.md、AGENTS.md 是什麼?該寫什麼進去?

它們都是專案固定規則檔:Claude Code 讀 CLAUDE.md,Codex 讀 AGENTS.md。適合放回覆語言、建置指令與不能修改的範圍;會變動的進度不要塞在裡面。兩者都應保持短,只留下每場都需要的規則,特定任務的長說明另外存放。

怎麼讓 Claude Code 或 Codex 跨對話記住專案進度?

把會變動的進度寫進斷點檔。至少記錄完成項目、改過的檔案、實際驗證、未完成工作與下一步輸入。新對話或 task 先讀斷點,再用 git status 和測試校對。我目前把精簡狀態控制在 30 行內,長脈絡另放檔案,需要時才讀,已用這套接續 100 個以上的工作階段。

看完這篇之前先確認:

適合你
  • 對話越長 AI 越恍神 開始忘記前面說過的事
  • 常看到 context 相關提示 想知道那是什麼
  • 每開新對話都要重新交代一次專案 很煩
不適合
  • 報 limit / spend 訊息 (那是額度,另一篇)
  • 工具完全沒反應 (那是卡住,另一篇)
  • 想找「無限記憶」的設定 (沒有,只有管理方法)

← 回新手教學 · 看「出錯看這裡」這個主題

⚠ 本站所有內容僅供教育與研究用途,不構成投資建議,不保證任何獲利。投資有風險,使用者須自行判斷並承擔結果。
TAO 道 · Hikari Zen YouTube ↗
音樂透過 YouTube 播放
♪ TAO 道 · Hikari Zen — Japanese Zen Music(YouTube)