How & Why
Opus 4.7 發了兩天,反饋褒貶不一
一部分人說手感不如 4.6,同樣的 prompt 跑出來感覺不對,長 session 里 token 燒得比以前兇。另一部分人,包括我自己,反而覺得這版比 4.6 更順,長任務穩,code review 更準,做模糊調試不用手把手帶
Anthropic 顯然也看到了這個分化。4 月 15 日和 16 日連發兩篇 Claude Code 的使用指南,一篇講 Opus 4.7 的最佳實踐,一篇講 1M context 下的 session 管理。兩篇合起來正好回答了「為什么手感變了」和「怎么用才對」
我把兩篇整合起來講
![]()
Opus 4.7 各 effort 檔位在 agentic coding 上的表現
一、為什么手感變了
Anthropic 官方在最佳實踐那篇里,點了五條和 4.6 不同的地方。這五條合起來,就是「手感變了」的全部原因
第一條,tokenizer 換了
同樣一段文本,Opus 4.7 算出來的 token 數是 4.6 的 1 到 1.35 倍。如果之前按 token 用量做過預算或者 harness,現在會發現數字對不上。價格本身沒變,換了計數方式而已
第二條,默認 effort 檔位升到了 xhigh
Opus 4.7 引入了一個新檔位 xhigh,介于 high 和 max 之間。Claude Code 已經把默認檔位從原來的 high 自動升到 xhigh,老用戶沒手動設過的話,升級后會自動切。Xhigh 比 high 想得多、token 用得多,所以會覺得「反應變慢了」「token 燒得兇了」
第三條,高 effort 檔位下更傾向于多思考,尤其在長 session 后期
官方原文說,Opus 4.7 在 higher effort levels, especially on later turns in longer sessions 會主動多想。長 session 里這一條會疊加 context rot 效應,放大 token 波動
第四條,三個默認行為改了
→ 回答長度按任務復雜度走。簡單查詢更短,開放分析更長。Opus 4.6 默認偏啰嗦,4.7 收斂
→ 工具調用變少,推理變多。大多數場景結果更好,但習慣了 4.6 狂讀文件的用戶會覺得「怎么不主動搜了」
→ Spawn subagent 變少。4.7 對是否委派給子 agent 更審慎
第五條,Extended Thinking 的固定 thinking budget 模式不支持了
換成了 adaptive thinking。每一步 thinking 是可選的,模型自己判斷要不要深入想。簡單的問題直接答,沒必要想的跳過。官方說 overthinking 改善明顯
這五條加起來,如果 prompt 和 harness 原封不動從 4.6 搬過來,就會感覺「手感不對」。事實上模型沒變糟,只是默認變了
二、怎么用才能發揮最大實力
手感變了的部分,正好對應新的使用方式。官方這兩篇博客其實分了兩個層面講,一是單次交互怎么寫 prompt,二是長 session 怎么管 context。下面按這兩個層面走
單次交互:把任務一次說清楚
官方第一條建議,也是整篇最重要的一條
把 Claude 當有能力的工程師,不是結對編程的同伴
第一輪就給全 context。 意圖、約束、驗收標準、相關文件位置,一次性說清。模糊的 prompt 分多輪漸進給,token 效率和結果質量都會掉
減少用戶交互輪數。 每一輪用戶消息都會增加 reasoning 開銷。問題批量問,該給的 context 一次給足
合適時用 auto mode。 Claude Code Max 用戶可以用研究預覽版的 auto mode,Shift+Tab 切換。長任務且前期 context 給足的時候特別合適
任務完成時加通知。 可以讓 Claude 在任務結束時播放一個聲音,它會用 hook 機制自己創建通知
Effort 五檔怎么選
官方給的建議
low / medium成本或延遲敏感、任務范圍清楚的時候用。硬任務上會弱一些,但同檔位下比 Opus 4.6 強
high平衡智能和成本。多 session 并發或者想省錢時用
xhigh(默認)大部分編碼和 agent 任務的最佳檔位。智能和自主性接近 max,但不會像 max 那樣在長 agent 跑動時 token 失控
max真正困難的問題才用,邊際收益遞減,而且容易過度思考。適合跑 eval 測模型上限,或者極端 intelligence-sensitive 的場景
官方特別提醒,不要把 4.6 的檔位原封不動搬過來。同一個任務里也可以手動切檔位管 token
Adaptive thinking 怎么引導
固定預算不再支持之后,想控制 thinking 頻率只能在 prompt 里寫
→想多想Think carefully and step-by-step before responding. This problem is harder than it looks.
→想少想Prioritize responding quickly rather than thinking deeply. When in doubt, respond directly.
需要更多工具調用或 subagent 時怎么寫
Opus 4.7 默認調工具少、spawn subagent 少,如果場景需要更激進地讀文件、搜索、或者并行處理,必須在 prompt 里明確寫清楚什么時候用、為什么用
官方給的 subagent 示范 prompt 是這樣
不要為單輪就能完成的工作 spawn subagent(比如改一個已經看到的函數)。扇出多個文件或獨立項時,在同一輪里 spawn 多個 subagent
官方還提醒一件事,用正面例子(想要什么樣的)比 don't do this 這種負面指示更管用
長 session:1M context 不等于省心
Opus 4.7 的長任務能力提升了,1M context window 也擴出來了。但這兩件事疊加的結果,是用戶在 session 管理上的差異變得比以前更大
有人一直開著一兩個 session,有人每條 prompt 都開新的。什么時候 /compact、什么時候 /clear、什么時候 /rewind、什么時候上 subagent,這一塊是 4.7 之后最值得重新理一遍的
先把三個概念對齊
![]()
context window 是模型一次能看到的全部
Context window: 模型生成下一條回答時能看到的全部內容。系統 prompt、對話歷史、每個工具調用和輸出、每個讀過的文件,都算進去。Claude Code 的 context window 是 100 萬 token
Context rot: 模型表現會隨 context 變大而下降。原因是 attention 被攤薄,老的無關內容開始干擾當前任務
Compaction: context 快到上限時,Claude Code 會自動把已完成的任務總結成一段描述,然后在新 context window 里接著做。也可以手動觸發
![]()
Compaction 把舊內容壓縮成摘要,騰出空間繼續
每一輪交互都是一個分叉點
Claude 剛做完一件事,context 里留下了工具調用、工具輸出、你的指令。下一步的選擇其實不止「繼續」一個
官方給了五個選項
Continue同 session 發下一條消息
/rewind(連按兩下 Esc)跳回之前某條消息,從那里重新 prompt。之后的消息全部從 context 里丟掉
/clear開新 session,通常帶一段自己總結好的簡要
Compact總結當前 session,在總結之上繼續
Subagents把下一段工作委派給一個獨立 context 的 agent,只把最終結果拉回來
最自然的是 continue,另外四個都是為了管 context
![]()
每一輪之后,有五條路可以走
開新 session 的判斷
基本原則:開新任務時,也開新 session
1M context 讓長任務更穩,比如從零搭一個全棧應用,現在能在一個 session 里完成。但 context rot 依然存在
有些相關任務,比如剛實現一個 feature 之后寫文檔,開新 session 的話 Claude 要重新讀這些文件,慢且貴。這種情況留在舊 session 更合適
Rewind 比 Correct 好
這是整套里最反直覺的一條
Claude 讀了五個文件,試了一種方法不 work。大多數人的直覺是接著打「剛才那個不行,試試 X」。但更好的做法是 rewind 回文件讀取之后那一步,帶著學到的東西重新 prompt,類似「別用 A 方案,foo 模塊沒這個接口,直接用 B」
文件讀取的成果保留下來,失敗的嘗試從 context 里清掉。context 里只剩有用的東西
還有一個用法是 summarize from here 或 /rewind,讓 Claude 自己寫一段 handoff 消息,類似給上一個版本的自己留個紙條
![]()
Rewind 跳回早前某條消息,帶著學到的東西重來
Compact 和 /clear 不是一回事
Session 變長之后,想卸掉陳舊 context,有兩種辦法。/compact 和 /clear,用起來感覺相似,實際差別很大
Compact 讓模型自己總結,然后用總結替換對話歷史。有損,但不用自己動手,Claude 可能還更周全地把重要學習和文件都留住。可以用指令引導,比如 /compact focus on the auth refactor, drop the test debugging
/clear 是自己寫下什么重要。「我們在重構 auth middleware,約束是 X,重要文件是 A 和 B,方案 Y 已經排除」這種。工作量大一些,但留下的 context 完全由你決定
![]()
Compact 把對話壓成摘要,/clear 直接開新局
官方還點了一個壞 autocompact 的常見場景:模型預測不出你下一步要干什么的時候
比如長 debug session 之后 autocompact 觸發,總結了整個調試過程。你下一條消息是「那現在修一下 bar.ts 里另一個 warning」。但 session 專注在 debug 上,那個 warning 可能根本沒被總結進來
更棘手的是 context rot 下,模型在 compact 的那一刻,恰好是最不聰明的時候。1M context 多出來的余地,正好可以用來提前主動 /compact,用一段描述告訴 Claude 接下來要做什么
Subagent 的判斷標準
Subagent 適合的場景:提前就知道這段工作會產生大量中間輸出,但之后用不到
Claude 通過 Agent 工具 spawn subagent,子 agent 自己有一個新的 context window,能做多少做多少,最后把結果綜合成一段 report 發回父 session
Anthropic 內部用一句話來判斷
我還會再用到這個工具輸出嗎,還是只要結論就夠?
Claude Code 會自動調 subagent,也可以主動要求。官方給了三個示范 prompt
→Spin up a subagent to verify the result of this work based on the following spec file
→Spin off a subagent to read through this other codebase and summarize how it implemented the auth flow, then implement it yourself in the same way
→Spin off a subagent to write the docs on this feature based on my git changes
![]()
Subagent 擁有獨立 context,只把結果返回父 session
一張實用對照表
官方在文末給了一張表,把情境、選項、原因對應起來
同一任務,context 仍然相關選 Continue。窗口里的內容都在起作用,沒必要重建
Claude 走錯路了選 Rewind(連按兩下 Esc)。保留有用的文件讀取,丟掉失敗嘗試,帶著學到的東西重新 prompt
任務還沒完,但 session 被陳舊的調試填滿選 /compact
。成本低,Claude 判斷什么重要,必要時用指令引導
開始一個真正的新任務選 /clear。零 rot,延續什么完全由你決定
下一步會產生大量輸出但只需要結論選 Subagent。中間工具噪音留在子 context,只有結果返回
回到開頭那個分化
說手感變了的朋友沒感覺錯,默認行為確實調了不少。說更好用的朋友(包括我)也沒夸張。4.7 的新默認剛好貼合自己的用法
Opus 4.7 更聰明、更克制,Claude Code 的默認也調得更激進。想讓它好用,第一輪把任務說清楚,effort 留在 xhigh,長會話里主動管 context,該 rewind 就 rewind,該 subagent 就 subagent
比以前要多操一點心,但一旦上道,結果會更好
兩篇原文都來自 Anthropic 官方博客
→ Best practices:claude.com/blog/best-practices-for-using-claude-opus-4-7-with-claude-code
→ Session management:claude.com/blog/using-claude-code-session-management-and-1m-context
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.