YouMind
登入

如何打造成本降低 80% 的 Coding Agent:Jev + Opus 5.5(完整架構)

@cyrilXBT
英語2026年10月09日
241K
200
25
11
306

TL;DR

本指南詳細介紹了一種用於 Coding Agent 的混合式架構,該架構利用 Opus 5.5 處理複雜推理,並使用 Jev 執行如上下文選擇和錯誤恢復等例行決策任務,從而顯著降低成本。

你的程式碼 Agent 正在用頂級模型的價格,去回答選擇題。

我該載入哪些筆記?這一步該交給大模型還是小模型?工具剛報錯了,要重試、修復還是放棄?哪些測試該先跑?

以上每一個問題,都只有四到五個可能的答案。但在目前大多數的 Agent 架構中,這些問題全都會丟給你最貴的模型來回答——還得開啟思考模式、讀完所有上下文、在真正執行前先生成一大段文字。

這就是漏錢的地方。

這篇文章會教你怎麼堵住它。Opus 5.5 負責困難的推理:規劃、寫程式、除錯。Jev 則接手幾乎每一步都會發生的那四個決策。而你的主控程式(harness)負責準備選項、檢查答案,並做出最終決定。

在下面的實際範例中,開發一個功能的 session 成本從 $6.42 降到 $2.00。整整便宜了 69%,而且文章裡列出了每一行計算過程,讓你可以直接套用自己的數字來驗證。

這篇文章是寫給任何在真實工作環境中運行程式碼 Agent 的人:無論你用的是 Claude Code、自己透過 API 搭建的主控程式,或是介於兩者之間的任何方案。你不需要重寫你的 Agent。文章裡的每個元件都能以「函式呼叫」的形式插入現有迴圈中,並附上一個開關讓你隨時停用。如果你看過我那篇 Jev + Claude Code 的文章,這篇就是升級版:概念相同,但用了更新的推理模型,並且把通用原則具體化為四個明確的決策點。

你需要一把 Jev API 金鑰、一把 Anthropic API 金鑰,以及大約一週的自家 Agent 日誌作為對照基準。

我們開始動手吧。

CyrilXBT - inline image

opus 負責推理,jev 負責決策。

問題所在:一個模型做兩份工作

觀察一個程式碼 Agent 工作十分鐘,你會發現它在做兩種截然不同的事。

第一種工作是推理。 規劃功能、撰寫函式、閱讀堆疊追蹤(stack trace)並找出日期解析器為什麼在閏年會壞掉。這類工作是開放式的,答案不在清單上。在這裡,你會想用負擔得起的最聰明模型,而 Opus 5.5 非常擅長這件事。

第二種工作是決策。 從四十條專案筆記中挑出三條相關的;判斷某個重新命名可以交給便宜的模型;決定 npm test 超時後該怎麼做;在完整跑完 1,400 個測試檔之前,先挑哪 12 個來跑。這些問題的答案都在清單上,清單很短,而且你的程式碼可以直接根據答案採取行動。

大多數 Agent 都用同一個模型處理這兩種工作,因為這是預設做法。迴圈呼叫 Opus,Opus 思考,Opus 回答,迴圈繼續。

這樣確實行得通。但它既慢又貴,而且這種代價很容易被忽略,因為單看一次決策呼叫並不覺得花錢。一次「我需要哪些筆記」的呼叫可能只要一分錢。但它每一步都會發生,而且每次都帶著完整的上下文。

還有第二個更容易被忽略的成本:當 Agent 無法決定要載入什麼時,它就會全部載入。每一條專案筆記、每一份規範文件、每一次歷史決策,全都塞進每次呼叫裡。Opus 5.5 已經把快取讀取壓到每百萬 token $0.20 的便宜價格,但「便宜 × 六十步 × 你整個筆記資料夾」加起來依然可觀。

解法:Opus 推理、Jev 決策、你的主控程式掌舵

Jev 是 TypeSafe 推出的模型,專門為上述第二種工作而生。它不生成文字。你給它上下文和帶有固定選項的類型化問題,它會回傳每個選項的機率。它在幾毫秒內就能回答,輸入成本為每百萬 token $0.042,輸出免費。

這讓整體架構變得很好描述:

Opus 5.5 負責推理。 規劃、寫程式、除錯,任何答案不在清單上的事。

Jev 負責小型決策。 它從你的主控程式準備好的選項中挑選。

你的主控程式掌握主導權。 它建立選項清單、讀取機率、套用閾值,並在 Jev 不確定時退回給 Opus。

第三點是大家最常跳過的部分,卻也是讓整套系統安全的關鍵。Jev 絕不會憑空發明選項。對於任何無法復原的操作,Jev 也絕不會擁有最終決定權。你的程式碼來定義什麼叫做「夠確定了」。

以下是本文其餘內容所依賴的輔助函式:

from dataclasses import dataclass

@dataclass

class Decision:

answer: str

prob: float

probs: dict

confident: bool

def jev_choice(context: str, question: str, options: list[str]):

將此處接上你的 Jev 客戶端:TypeSafe SDK、Vercel AI Gateway,

或 LangChain 套件。它必須針對你傳入的每個選項

回傳 {option: probability}。

raise NotImplementedError

def decide(context: str, question: str, options: list[str], threshold: float):

probs = jev_choice(context, question, options)

answer = max(probs, key=probs.get)

return Decision(answer, probs[answer], probs, probs[answer] >= threshold)

注意裡面少了什麼:沒有去問 Jev「你有多確定」。你直接讀取它回傳的機率。問任何模型「你確定嗎?」,幾乎每次都會得到「確定」。機率才是誠實的信號。

現在來看看這四個決策。

CyrilXBT - inline image

Agent 步驟中的四個決策

決策 1:在載入上下文前,先挑出相關的專案筆記

這是效果最大的單一槓桿,也是幾乎還沒有人實作的部分。

你的 Agent 有一個筆記資料夾。裡面有 AGENTS.md、架構文件、開發規範、歷史決策,以及「未經遷移絕對不要碰計費模組」之類的警告。大概有三萬個 token。大多數 Agent 每次呼叫都會全部載入,因為沒人想成為那個漏掉重要筆記的罪魁禍首。

所以,與其全部載入,不如針對每條筆記平行地向 Jev 問一個簡單的問題:Agent 執行這個任務需要這條筆記嗎?

首先,依標題將筆記切分成區塊。AGENTS.md 的每個段落變成一個獨立區塊,每份架構文件變成一個或多個區塊。

import re

def chunk_notes(markdown: str, source: str):

parts = re.split(r"
(?=## )", markdown)

return [{"source": source, "text": p.strip()} for p in parts if p.strip()]

接著,針對當前任務為每個區塊評分:

from concurrent.futures import ThreadPoolExecutor

def pick_notes(task: str, notes: list[dict], keep: int = 6, floor: float = 0.55):

def score(note):

probs = jev_choice(

context=f"TASK:
{task}

NOTE ({note['source']}):
{note['text']}",

question="Would an engineer need this note to do the task correctly?",

options=["needed", "not_needed"],

)

return probs["needed"], note

with ThreadPoolExecutor(max_workers=16) as pool:

scored = sorted(pool.map(score, notes), key=lambda s: s[0], reverse=True)

picked = [n for p, n in scored[:keep] if p >= floor]

return picked or [n for _, n in scored[:2]]

這裡有三個細節很重要。

永遠載入不可妥協的內容。 有些筆記無論如何都應該出現在每次呼叫中:安全規則、「嚴禁強制推送」、標示哪個資料庫是正式環境的那一行。幫它們標記 always,並跳過評分。

設定下限與備案。 如果沒有任何項目超過 0.55,你仍然要載入前兩名。零上下文的 Agent 比上下文稍微多一點的更糟。

記錄被捨棄的內容。 當 Agent 犯錯時,你首先要檢查的就是:那條本可以避免錯誤的筆記,是不是被評分過濾掉了。這份日誌就是你調整 keep 和 floor 的依據。

在實際範例中,光是這項改動就讓每次呼叫的筆記部分從 30,000 個 token 降到 6,000 個。單靠這一點,就能把 session 成本降低約 24%。

決策 2:將合適的任務路由給更快的執行者

不是每一步都需要 Opus。

跨八個檔案重新命名一個函式不需要。在一個已經有九個相似欄位的表單裡新增一個欄位不需要。更新 import 路徑也不需要。這些都是遵循程式庫中既有模式的修改。

因此,在每一步執行前,由 Jev 對該步驟進行分類,再由你的主控程式將類別對應到執行者:

ROUTES = {

"rename_or_move": "fast",

"small_edit_following_existing_pattern": "fast",

"new_logic": "opus",

"debugging": "opus",

"design_decision": "opus",

}

def route(step: str, recent_diff: str):

d = decide(

context=f"STEP:
{step}

RECENT CHANGES:
{recent_diff}",

question="What kind of work is this step?",

options=list(ROUTES),

threshold=0.8,

)

if not d.confident:

return "opus"

return ROUTES[d.answer]

看看這些選項是怎麼寫的。它們不是「簡單」和「困難」,更絕對不是「小模型能處理嗎?」。它們是你的程式碼可以直接對應到具體動作的任務類型。這就是每個 Jev 問題的鐵律:每個選項都必須是你的主控程式知道該如何執行的動作。

另外注意預設行為。低於 0.8 時,該步驟就交給 Opus。在這裡,路由失誤只會朝單一方向發生:把困難任務丟給快速執行者,會讓你損失一個失敗的步驟和一次重試;但把簡單任務丟給 Opus,只是多花一點錢。所以拿不定主意時,就往上升級。

快速執行者我使用 Haiku 4.5,輸入每百萬 token $1,輸出每百萬 token $5。在實際範例中,36 個真實工作步驟裡有 12 個交給了它。

決策 3:工具失敗時選擇恢復路徑

工具無時無刻不在失敗。測試超時、檔案路徑錯誤、套件未安裝、shell 指令遇到權限問題、linter 抱怨一些無關緊要的事。

大多數 Agent 會用最昂貴的方式處理:把整段錯誤丟回給大模型,讓它去思考該怎麼辦。有時候這樣做是對的。但很多時候答案顯而易見,而 Opus 卻花了 1,500 個 token 才重新發現 ENOENT 代表檔案不存在。

更糟的是,Agent 會陷入迴圈。重試、失敗、重試、失敗,每次都支付一次完整推理步驟的費用。

所以,你要把失敗狀況交給 Jev,並提供一組固定的恢復路徑:

from collections import deque

def tail(text: str, n: int = 4000):

return "".join(deque(text, maxlen=n)) # 錯誤訊息的最後 n 個字元

def recover(tool: str, command: str, error: str, attempt: int):

if attempt >= 3:

return "stop_and_report"

d = decide(

context=f"TOOL: {tool}
COMMAND: {command}
ATTEMPT: {attempt}
ERROR:
{tail(error)}",

question="What is the best next move after this failure?",

options=RECOVERY,

threshold=0.8,

)

return d.answer if d.confident else "escalate_to_opus"

text
1RECOVERY = [
2 "retry_unchanged", # 網路不穩或超時
3 "retry_after_install", # 缺少套件或工具
4 "fix_path_and_retry", # 檔案路徑或 cwd 錯誤
5 "switch_tool", # 這個工具做不到,換另一個
6 "escalate_to_opus", # 需要真正的除錯
7 "stop_and_report", # 需要人類介入
8]

嘗試次數的硬性上限寫在程式碼裡,而不是模型裡。無論多便宜的模型,都不該被允許無限重試。

每條恢復路徑都對應到主控程式裡的一個小函式。retry_after_install 會用正規表達式從錯誤訊息中讀取缺少的套件並安裝它。fix_path_and_retry 會檢查存在的路徑並建議最接近的匹配。只有 escalate_to_opus 會真正花錢,而且它只在失敗狀況真的需要思考時才會觸發。

在實際範例中,這替該 session 省下了 6 個浪費的重試步驟。

決策 4:在跑完整測試套件前先執行聚焦檢查

這一項省下的時間比金錢多,而「時間」正是讓 Agent 感覺很快的關鍵。

每次修改後,大多數 Agent 都會跑完整個測試套件。如果你的套件要跑四分鐘,Agent 每次編輯後就要等四分鐘,然後再從數百行輸出中找出唯一重要的那個失敗。

解法和處理筆記的模式一樣:針對 diff 為每個測試檔評分、先跑最相關的幾個,只有在聚焦檢查通過後才跑完整套件。

text
1def pick_tests(diff: str, test_files: list[str], keep: int = 12):
2 def score(path):
3 probs = jev_choice(
4 context=f"DIFF:\n{diff[:12000]}\n\nTEST FILE: {path}",
5 question="Could this change break tests in this file?",
6 options=["likely", "unlikely"],
7 )
8 return probs["likely"], path
9
10 with ThreadPoolExecutor(max_workers=16) as pool:
11 scored = sorted(pool.map(score, test_files), key=lambda s: s[0], reverse=True)
12 return [p for _, p in scored[:keep]]
13
14def check(diff: str, test_files: list[str]):
15 focused = pick_tests(diff, test_files)
16 if not run_tests(focused):
17 return False # 快速失敗,先修復再說
18 return run_tests(test_files) # 完整套件依然是 commit 前的最後關卡

最後一行請讀兩遍。在任何東西被 commit 之前,完整套件依然會執行。聚焦檢查是早期預警,不是替代品。你能在幾秒內而非幾分鐘內抓到大部分錯誤,而且絕不會釋出完整套件本該抓到的問題。

也要先加上那些低成本的檢查:只對變更過的檔案執行型別檢查和 lint。它們只需一秒,卻能在任何測試執行前攔下比例驚人的錯誤。

整合起來:主控程式迴圈

以下是這四個決策如何嵌入迴圈中的單一步驟:

def run_step(task: str, step: str, state):

1. context:只載入此步驟需要的筆記

notes = state.always_notes + pick_notes(step, state.notes)

2. routing:為此步驟挑選執行者

worker = state.workers[route(step, state.recent_diff())]

result = worker.run(step, notes=notes, history=state.history)

3. recovery:處理此步驟中的任何工具失敗

for failure in result.failures:

action = recover(failure.tool, failure.command, failure.error, failure.attempt)

state.apply_recovery(action, failure)

4. checks:先跑聚焦測試,commit 前跑完整套件

if result.diff:

state.log_check(check(result.diff, state.test_files))

至於 Opus 的部分:它就只是你平常的 Opus 5.5 呼叫。把穩定的上下文放在前面(system prompt、工具定義、「always」筆記),讓它們在各步驟間保持快取,再把特定於該步驟的材料放在最後。

import os

import anthropic

client = anthropic.Anthropic()

OPUS = os.environ["OPUS_MODEL"] # 你的 Opus 5.5 模型 ID

def opus_step(system: str, notes: list[dict], history: list, step: str):

notes_text = "

".join(n["text"] for n in notes)

return client.messages.create(

model=OPUS,

max_tokens=8000,

system=[{"type": "text", "text": system, "cache_control": {"type": "ephemeral"}}],

messages=history + [{"role": "user", "content": f"NOTES:
{notes_text}

STEP:
{step}"}],

)

沒什麼花俏的。省下來的錢來自你不再發送給它的內容,而不是來自什麼巧妙的提示詞。

追蹤單一步驟

當四個決策都上線後,日誌中的單一步驟看起來會像這樣。任務:為公開註冊端點加上速率限制。這段追蹤紀錄是示意用的,但你會在自家日誌中看到相同的結構。

step 14 "add a per IP rate limit to POST /signup"

[notes] 平行評分了 41 個區塊

保留:api/middleware.md (0.94)、conventions/errors.md (0.88)、

infra/redis.md (0.81)、decisions/2025_auth.md (0.62)

捨棄:37 個區塊,包含 billing、email templates、CI

[route] new_logic (0.91) → opus

[opus] 規劃變更,撰寫 middleware + config + handler 修改

[tool] npm test FAILED "Cannot find module 'bottleneck'"

[recover] retry_after_install (0.97) → npm install,重新執行

[checks] 對變更檔案執行 typecheck:pass

聚焦測試(1,388 個中的 12 個):pass

完整套件:pass

從上到下讀一遍,算算有多少行以前是一次完整的 Opus 呼叫。挑選筆記:一次大型呼叫,或者根本不挑、盲目載入 30,000 個 token 的筆記。路由:什麼都沒有,每一步都交給 Opus。缺少套件:用一次完整推理步驟去推導出「缺少模組」等於「安裝該模組」。挑選測試:什麼都沒有,每次編輯都跑完整套件。

現在,那段追蹤裡只有一行是 Opus,而那正是真正需要頂級模型的一行:規劃並撰寫速率限制器。

這就是整篇文章的核心概念。讓昂貴的模型把時間花在只有它能做的工作上。

實際範例:69% 是怎麼算出來的

以下是一個功能開發 session 的完整計算:60 個 Agent 步驟,加上一般 Agent 過程中累積的 6 次浪費重試。所有價格皆為目前的公開定價。

改造前:Opus 5.5 包辦一切

每一步載入 70,000 個 token 的上下文:15,000 用於 system prompt 和工具,30,000 用於整個筆記資料夾,25,000 用於目前的對話。假設其中 80% 命中快取。每一步產生約 1,500 個輸出 token,因為 Opus 5.5 的思考模式永遠開啟。

cache reads: 56,000 × $0.20/M = $0.0112

fresh input: 14,000 × $4.00/M = $0.0560

output: 1,500 × $20.00/M = $0.0300

per step = $0.0972

66 steps × $0.0972 = $6.42

改造後:加入決策層

每步上下文降至 46,000 個 token,因為 Jev 只挑出 6,000 個 token 的筆記,而非載入全部 30,000 個。24 個純決策步驟移交給 Jev。6 次重試迴圈消失了。剩下的 36 個工作步驟中有 12 個交給 Haiku 4.5。

Opus 5.5: 24 steps × $0.0742 = $1.78

Haiku 4.5: 12 steps × $0.0169 = $0.20

Jev: 102 calls × 5,000 tokens

× $0.042/M, output free = $0.02

total = $2.00

從 $6.42 降到 $2.00。同樣的功能,便宜了 68.8%。

CyrilXBT - inline image

根據答錯的代價來設定閾值

以下是各項槓桿的個別貢獻,依序疊加:

僅筆記篩選 $4.89 省下 23.7%

  • 決策移交給 Jev $3.13 省下 51.2%
  • 恢復路徑 $2.69 省下 58.1%
  • 路由至快速執行者 $2.00 省下 68.8%

關於這些計算,有兩句老實話要說。

第一,這些是基於明確假設推算出的數字,不是對你技術堆疊的實際測量。你的上下文大小、快取命中率和決策數量都會不同。列出每一行的目的,是為了讓你能替換成自己的數字。一旦你測量出真實的前後差異,請用你的數字,而不是我的。

第二,看看錢到底花在哪裡。Jev 的 102 次呼叫總共只花了兩分錢。省下來的錢並不是因為 Jev 單次呼叫很便宜,而是因為一旦由 Jev 做出決策,許多事情就不會再發生了:膨脹的上下文、為選擇題付出的完整推理步驟、重試迴圈,以及在重新命名工作上呼叫大模型。

為什麼不直接用 Haiku 做決策?

好問題。Haiku 4.5 既便宜又快,為什麼還要多加一個新模型?

三個原因。

它還是會生成文字。 Haiku 用文字回答。你必須提示它用你的選項之一來回答,然後解析結果,接著還要處理它自行加上解釋、挑了清單上沒有的選項,或把答案包在一句話裡的情況。Jev 則會針對你傳入的每個選項回傳機率。不需要解析,也不會出現清單外的答案。

你拿到的是完整分佈,而不只是一個答案。 當 Jev 顯示 needed: 0.52、not_needed: 0.48 時,你知道這跟擲硬幣差不多,你的主控程式可以向上升級。但當文字模型回答「needed」時,你根本不知道它有多確定。只有看得見機率,閾值才有意義。

成本算法不同。 Jev 的輸出免費,輸入每百萬 token $0.042。每一步評分 41 個筆記區塊,意味著每步有 41 次小型呼叫。用 Jev 的話,這不到一分錢。用任何文字模型(即使是便宜的),那就是 41 次生成,各自帶有輸出成本和延遲。

把 Haiku 用在需要真正寫程式的小型修改上。把 Jev 用在從清單中挑選。把 Opus 用在思考上。讓每個模型做它擅長的事。

如何在不搞壞任何東西的情況下導入

不要一次把四個決策全打開。以下是我建議的順序。

第 1 週:影子模式。 維持現有 Agent 完全不變。在它每次做出決策時,也向 Jev 問同樣的問題,並記錄兩者的答案以及 Jev 的機率。完全不要根據 Jev 的答案採取行動。

text
1def shadow(decision_name, context, question, options, current_answer):
2 probs = jev_choice(context, question, options)
3 jev_answer = max(probs, key=probs.get)
4 log_row(
5 decision=decision_name,
6 current=current_answer,
7 jev=jev_answer,
8 prob=probs[jev_answer],
9 agree=(jev_answer == current_answer),
10 )

第 2 週:檢視分歧。 只看 Jev 和你現有 Agent 意見不同的那些紀錄。依 Jev 的機率排序。你通常會找到一條明確的分界線:高於某個機率時,Jev 的正確率跟 Opus 差不多。那條線就是你的閾值。這些分歧紀錄也會免費成為你的測試集,直接取自你的真實流量。

第 3 週:啟用筆記篩選。 這是效果最大的槓桿,也最容易撤銷,因為漏掉重要筆記會很快在你的日誌中顯現出來。

第 4 週:啟用恢復路徑與測試。 兩者在程式碼中都有硬性上限和備案機制,所以最糟的情況也只是退回你今天的做法。

最後:路由。 路由失誤對使用者來說最明顯,因為把困難任務丟給快速執行者會產出糟糕的程式碼。把它留到最後才開啟,搭配保守的閾值,並密切監控快速執行者步驟的失敗率。

把每個決策都放在一個開關旗標後面,讓你能用一行程式碼撤銷它。

依風險設定閾值

所有事情共用同一個閾值是錯誤的。請根據「答錯會發生什麼事」來設定。

CyrilXBT - inline image

一個功能開發 session,同樣的結果:$6.42 降到 $2.00

低風險、容易復原:0.55 到 0.65。 挑選筆記、決定測試順序。答錯的代價只是一點上下文或幾秒鐘。

中等風險:0.8。 路由與恢復。答錯的代價是一個失敗的步驟,而你的主控程式能抓到它。

高風險、難以復原:0.9 或永不放行。 刪除檔案、強制推送、修改正式環境設定、執行資料庫遷移。我的真心建議:不要讓任何模型單獨做這些決定。把它們交給人類,或至少交給 Opus 並加上確認步驟。

任何低於閾值的狀況都要向上呈報:需要推理就交給 Opus,需要判斷就交給人類。

這套架構派不上用場的地方

這套架構並不是能讓所有工作負載都神奇翻倍的萬靈丹。

純生成型工作負載幾乎沒差。 如果你的 Agent 大部分時間都在根據明確規格撰寫大量新程式碼,那就沒什麼決策可以轉移。你依然能享受到筆記篩選帶來的節省,但其他方面幫助不大。

小型專案不需要它。 如果你的整個筆記資料夾只有 2,000 個 token,測試套件八秒就跑完,那麼打造這套機制的額外成本目前還不值得。

Jev 不適合單獨做最終決定。 它非常擅長察覺狀況並從簡短清單中挑選。但你不該用它來回答「這個 pull request 可以合併了嗎?」這種單一的大問題。把大問題拆成小問題、逐一評分,然後在你自己的程式碼中用你自己的權重組合結果。

如果你已經有固定問題的標註資料,自己架設的小模型可以在價格上打敗 Jev。 Jev 的優勢在於問題不斷變化且你沒有訓練資料的場景——而這正是大多數程式碼 Agent 的寫照。

我會避免犯的錯

讓模型撰寫選項清單。 整套架構都建立在「你的程式碼能直接執行的選項」之上。如果由模型生成選項,你就又回到解析自由文字的老路了。

問 Jev 它有沒有信心。 直接讀取機率就好。自我報告的答案幾乎永遠是「有」。

沒有備案。 每個 Jev 決策都需要一條「不確定」的路徑,而那條路只能是 Opus 或人類,絕不能是瞎猜。

把重試上限寫在提示詞裡而不是程式碼裡。 被告知「只能重試 3 次」的模型,偶爾還是會重試 30 次。程式碼不會。

捨棄完整測試套件。 聚焦檢查讓你變快,完整套件讓你保持誠實。兩者都要留著。

什麼都沒量。 如果你在開始之前沒有記錄每次 session 的成本,你永遠不會知道自己到底省了 20% 還是 70%。先拉出你正常工作一週的使用數據。這只要十分鐘,而且這是唯一重要的數字。

本週行動清單

以下是完整的檢查清單:

  1. 記錄一週的 Agent sessions:步驟、tokens、成本、失敗次數。
  2. 找出藏在你循環裡的決策:筆記(notes)、路由(routing)、恢復(recovery)、測試(tests)。
  3. 把每個決策寫成一個問題,並附上固定的選項清單。
  4. 讓 Jev 以 shadow mode 與你目前的 Agent 並行跑一週。
  5. 根據分歧紀錄(disagreement log),按風險設定閾值。
  6. 先開啟筆記選擇功能,接著是恢復與測試,最後才是路由。
  7. 比較前後每次 session 的成本。那就是你的成果數字。

Opus 5.5 是我用過寫程式最強的推理模型。但最大的錯誤,就是連其他事情也丟給它做。

讓它思考。讓 Jev 決策。讓你的程式碼當家作主。

如果這篇文章對你有幫助,歡迎追蹤 @cyrilXBT。我每週都會拆解如何用最新的 AI 模型打造產品,而且附上真實數據。

把這篇加入書籤,等你準備動手時就能隨時回來翻閱。

一鍵儲存

使用 YouMind AI 深度閱讀爆款文章

保存原文、追問細節、總結觀點,並在一個 AI 工作空間裡把爆款文章沉澱成可複用筆記。

了解 YouMind
寫給創作者

把你的 Markdown 變成乾淨的 𝕏 文章

圖片上傳、表格、程式碼區塊,往 𝕏 上手動重排太痛苦。YouMind 把整篇 Markdown 一鍵轉成乾淨、可直接發佈的 𝕏 文章草稿。

試試 Markdown 轉 𝕏

更多可拆解樣本

近期爆款文章

探索更多爆款文章