NOTE / 2026-10-07

omp 使用指南(新手版)

omp 入門:啟動、畫面、模型與角色、context 與 token、指令檔、設定層級、子 agent 與 prewalk 分工、安全審批,附實驗數據。

產生時間
來源
本地 omp 使用筆記

omp 是在終端機執行的 AI 寫程式助理(coding agent):你描述需求,它讀檔、改檔、跑指令與測試再回報。它不綁定單一模型,可同時接 Claude、Codex、OpenCode Go 等已訂閱的服務。

環境資料產生於 2026-10-07 18:55 · omp/18.8.0

先看這裡

你現在的目標讀哪裡
今天就想用§1–§5,約 10 分鐘
想知道為什麼這樣設定、各個詞什麼意思§6–§13
想省 Claude 額度、用多個模型分工§14–§20 與 §21 你的環境
遇到狀況、不知道怎麼做§23 情境食譜、§24 故障排除
看不懂某個詞附錄 E 名詞表

標記只用在有爭議或不確定的說法:實測 在本機跑過;文件 出自 omp 文件、未實測;未驗證 不確定。

你目前的預設(自動產生,與實際設定一致)

用途目前使用的模型備註
日常對話anthropic/claude-sonnet-5-5:medium你直接打字時用的模型
難題(手動切換)anthropic/claude-opus-5-5:high按 Alt+P 或 omp --model slow
規劃openai-codex/gpt-6-astra:high進入 plan mode 時
實作、輕量工作opencode-go/deepseek-v4.1-flash:lowprewalk 交接後、task 與 sonic 子 agent
探索(scout)opencode-go/deepseek-v4.1-flash:low不知道要改哪裡時
審查 diff(reviewer)openai-codex/gpt-6.1-sol:high合併前
旁路審查(advisor)openai-codex/gpt-6.1-sol:mediumadvisor.enabled = True,時機 agent-end
自動行為目前值意思
Prewalk 自動交接True開啟時,第一次 edit 後整個 session 換成「實作、輕量工作」那一列的模型
工具審批yoloyolo=不逐項詢問
Plan mode手動Alt+Shift+P

最常用的 8 件事

想做的事怎麼做
啟動在專案資料夾輸入 omp
接續上次的對話omp -c;或 omp -r 從清單挑
停下它正在做的事Esc
換模型/model;或 Alt+P(只影響這一次對話)
換新話題(清掉前面的 context)/new
看各家訂閱額度omp usage 或在對話裡輸入 /usage
看所有快捷鍵/hotkeys
離開連按兩次 Ctrl+C

啟動 omp

cd ~/GitHub/我的專案
omp                         # 開啟互動式對話
omp "修掉 build 錯誤"         # 帶第一句話啟動
omp @spec.md "照這份規格做"   # 附加檔案或圖片(@路徑)
omp -c                      # 接續上一個對話
omp -r                      # 從清單挑一個舊對話
omp --version               # 版本
omp update                  # 更新 omp
  • 啟動的資料夾就是工作目錄,專案層設定與指令檔(.omp/、AGENTS.md)從這裡找;在家目錄 ~ 啟動時改用暫存資料夾。
  • 第一次用某家模型要登入:omp login(對話中 /login)。已登入的 provider 見 §21。

畫面與輸入

畫面由上而下:對話與工具輸出、子 agent 區塊、輸入框與狀態列(可在 /settings 調整)。

輸入框

你想做的事操作
送出訊息Enter(換行的按法請用 /hotkeys 確認)
附加檔案或圖片啟動時用 @檔案;對話中貼圖 Ctrl+V 或 Cmd+V
用編輯器寫長提示詞Ctrl+G(開啟 $EDITOR)
找回以前輸入過的話Ctrl+R 搜尋歷史
誤清掉草稿Ctrl+C 清除後,按 ↑ 找回
agent 工作到一半想追加指示Ctrl+Q 或 Ctrl+Enter 排入下一則訊息;Alt+↑ 取回排隊中的訊息
指定用某個模型回答輸入 ^ 選模型,該模型會成為這次可點名的子 agent
展開/收合工具輸出Ctrl+O(完全隱藏用 Ctrl+Shift+O)

第一個任務

  1. 確認工作樹乾淨

    cd 到專案執行 git status,之後 git diff 就只有 omp 的改動。

  2. 啟動並貼上需求

    輸入 omp,例如:「README 的安裝步驟少了 Python 版本需求,請補上,並確認 `python3 --version` 的最低版本。」

  3. 看它做事

    讀檔、建 todo、改檔;Ctrl+O 看工具輸出。

  4. 自己看 diff

    另開終端機跑 git diff。完成報告是 omp 的說法,不是驗證。

  5. 修正或提交

    不滿意就說「這裡改成…」;滿意就 git commit,或用 omp commit 產生訊息。

對話(session)

每次啟動 omp 就是一個 session,自動存在 ~/.omp/agent/sessions/(依專案資料夾分類)。

指令做什麼
omp -c接續最近一次對話
omp -r//resume從清單挑舊對話恢復
/new開新對話(舊的仍保存)。換話題時用,能讓 context 回到乾淨狀態
/clear清掉目前對話的 context,但保留紀錄
/fork從目前位置分出一個新的對話
/export匯出成 HTML 檔。注意:不會遮蔽機密,可能含原始內容與圖片
/dump把對話文字複製到剪貼簿
/share產生加密的分享連結。分享前先確認內容沒有機密
/delete刪除目前對話
/restart重新啟動 omp 並接續目前對話(改過設定檔後常用)

安全與審批

工具分三種風險,由 tools.approvalMode 決定要不要先問你:

模式自動允許會先問你適合
always-ask只讀取寫入檔案、執行指令剛開始用、不熟的專案
write讀取、寫入檔案執行指令(bash 等)折衷
yolo(預設)全部什麼都不問你信任的專案、需要快
  • 這次要詢問:omp --approval-mode write;永久:omp config set tools.approvalMode write。
  • 工作樹不是沙箱:開始前 git status 確認乾淨,出事才能用 git 還原。
  • 認證、金流、資料、權限、部署別交給便宜模型決定。

模型與角色

三個層次

  • provider:服務來源,如 anthropic、openai-codex、opencode-go;登入以它為單位。
  • model:寫成 provider/模型id,如 anthropic/claude-sonnet-5-5;omp models 列出全部。
  • role(角色):「這類工作交給哪個模型」,由 modelRoles 對應。

內建角色

角色用途
default你直接對話時用的模型
slow需要深入推理的難題
smol輕量、快速、便宜的工作;也是 prewalk 交接的目標
planplan mode 的規劃者
commit產生 commit 訊息
advisor旁路審查者(§16)
tiny、memory背景小工作(例如對話標題)、記憶功能
vision分析圖片
task子 agent 的備用模型

角色名稱是固定的鍵,不能改名,但可另建別名指向它(§17)。實測

在對話中換模型

方式效果
Alt+P暫時換模型,只影響這個對話
Alt+M//model模型中心:看角色分配、換模型、指定角色
Ctrl+P在角色模型間輪流切換
omp --model 名稱啟動時指定(角色名稱或模型都可以);--model deep 解析為 Opus

思考強度(thinking level)

由低到高:off、minimal、low、medium、high、xhigh、max,另有 auto(由 omp 依任務判斷)。

  • 越高越慢、輸出越多,不一定越準:MAF 的 DeepSeek 基準上 low 一次通過率與更高等級相近、成本較低(僅兩題)。
  • 切換:Shift+Tab;啟動時 --thinking high;或在模型後加冒號,例如 anthropic/claude-sonnet-5-5:medium。
  • Ctrl+T 只切換思考內容的顯示。

context 與 token:為什麼長對話會變貴

  • token:計費與額度單位,約為字的片段。
  • context window:一次能看的上限;Sonnet 5.5 約 100 萬 token,Codex GPT-6 系列約 27 萬(omp models --json)。
  • 每一輪都重送整段對話歷史,對話越長每輪越貴。
  • prompt cache:重複的前綴以低價讀取,Sonnet 5.5 約為新輸入的 1/10,所以 omp stats 裡多是「快取讀取」。
  • compaction:快滿時自動摘要舊內容;主動 /new 通常更好。

看用量

omp usage                   # 各家訂閱的 5 小時/每週/每月額度(百分比)
omp stats --summary         # 各模型的請求數、token、API 等價金額
omp usage clients --days 7  # 依 client 拆分 token

「API 等價金額」依牌價換算,不是訂閱實扣額度;Claude 7 天額度刻度只有 1%,單一任務看不出差異。實測

指令檔:AGENTS.md

指令檔在對話開始時載入、每一輪都會送出,所以要短:只寫「何時做、為什麼」。

檔案範圍
~/.omp/agent/AGENTS.md你的所有專案(使用者層級)。你的委派規則在這裡
專案內的 .omp/AGENTS.md、AGENTS.md、CLAUDE.md該專案。omp 會自動讀,不用叫它去看
RULES.md只放少數「必須一直可見」的硬規定

~/.omp/agent/AGENTS.md 存在時,會取代 ~/.claude/CLAUDE.md 成為使用者層級指令。文件 你的規則全文見 §21。

工具與編輯方式

畫面上的每一個動作都是一次工具呼叫。

工具做什麼
read讀檔案、網頁、skill://、agent:// 等
edit/write改既有檔案/建立檔案
grep、glob搜尋內容、找檔案
bash執行終端機指令
task派出子 agent(§14)
todo建立與更新待辦清單(也是 prewalk 的開關條件,§15)
web_search網路搜尋
eval在 Python/JS 環境執行程式,也能操作瀏覽器
ask向你提問(選項式)

hashline 編輯(你的 edit.mode):每行帶內容雜湊作為錨點;檔案讀後被改動,編輯會失敗要求重讀,不會改錯位置。

設定的層級

設定由上往下覆蓋:命令列旗標、--config 覆蓋檔、專案 .omp/config.yml、全域 ~/.omp/agent/config.yml
圖 1:同一個設定鍵在多處有值時,上層覆蓋下層
層級位置優先
命令列旗標omp --model … --thinking …最高
覆蓋檔omp --config 檔案.yml↓
專案專案內的 .omp/config.yml↓
全域~/.omp/agent/config.yml最低
  • 陣列型設定(例如 disabledProviders)是整個取代,不是合併。文件
  • 看值 omp config get 設定鍵(如 omp config get modelRoles);改值 omp config set 設定鍵 值 或 /settings。
  • 專案 .omp/config.yml 寫 prewalk: {enabled: false},在該目錄 omp config get prewalk.enabled 得 false,全域仍是 true。實測
  • omp config get 不反映 --config 覆蓋,只能實際跑一次確認。實測

Plan mode 與 todo

  • plan mode(Alt+Shift+P):只探索、提問(ask)、寫計畫檔(local://…-plan.md),你核准後才實作,適合大功能。edit 只能寫入「writable roots」且禁止刪除搬移;writable roots 的範圍文件未定義。文件
  • plan 角色是 Codex GPT-6 Astra,但 --plan-yolo(無人值守)實驗中是 Sonnet 規劃;互動式是否用 Astra 未測。未驗證
  • todo:agent 用 todo 維護待辦清單,也是 prewalk 開閘的條件。

Skills

Skill 是 skills/<名稱>/SKILL.md 的說明書,平時只常駐描述,需要時才讀全文;也可 /skill:名稱 呼叫。omp 也讀 Claude、Codex、.agents 裝的 skill(如 ~/.agents/skills)。

子 agent

子 agent 從乾淨的 context 獨立工作,只把摘要交回主對話:它讀的檔案不會撐大主對話,也能用較便宜的模型。

主對話居中,向 scout、task、sonic、reviewer 派工並取回摘要;advisor 在旁觀察主對話並給建議
圖 2:子 agent 只交回摘要;advisor 不是子 agent,是旁觀者
agent做什麼什麼時候用
scout唯讀探索,只回摘要不知道要改哪裡時
task通用實作範圍明確、有測試可以驗收的模組
sonic機械性、小範圍的修改批次改名、格式調整
reviewer審查程式碼合併前
security-reviewer找安全問題需要時
  • 派不派由主對話決定;明說「先派 scout 找出訂單匯出相關的檔案」最可靠,沒明說時它很少自己派。實測
  • Alt+A 開 Agent Hub:看狀態、模型、用量,讀逐字稿、插話、復活或終止。閒置約 7 分鐘休眠,追問它比開新的省。
  • 省略 agent 欄位:受限 agent(如 reviewer)派工沒寫名稱,會落到父 agent 允許清單第一項,實驗中因此派出 scout。派工一律寫明名稱。實測
  • 保護機制:同時上限、遞迴深度、請求軟上限,數值見 §21。
  • 並行寫入預設沒有隔離,改同一檔案會衝突;task.isolation.enabled 可改用獨立工作區。未驗證

Prewalk:規劃用強的、實作用便宜的

你貼需求,Claude 探索並建 todo,第一次 edit 那一輪結束後一次性交接給 DeepSeek 實作,最後由 Codex advisor 審查
圖 3:開啟 prewalk 時,一個任務依序經過哪些模型
  • 一次性交接:在含第一次 edit/write 結果的那一輪結束時發生,不論成敗。實測
  • 要先成功呼叫 todo 才開閘(todo 工具啟用時),不看任務難度。交接後 DeepSeek 做到你切換為止,並收到「完成前檢查清單」。
  • Claude 只寫計畫、驗收標準與介面,測試由 DeepSeek 寫。要 Claude 寫測試:先 --no-prewalk,寫完再 /prewalk。未驗證
你想要做法
這次不要交接omp --no-prewalk
取消待交接的狀態/prewalk off
已經換到 DeepSeek,想回 Claude/prewalk restart(回到 default 並重新武裝)或 Alt+P
某個專案永遠不要交接該專案放 .omp/config.yml:prewalk: {enabled: false}(已實測會被讀到)
只有這次要交接(全域關閉時)omp --prewalk 或 /prewalk

實驗(附錄 A):Claude 原始 token 約 0.19×,所有模型合計約 23×。

Advisor:旁路審查

另一個模型(你的是 Codex GPT-6.1 Sol)旁觀主 agent,把建議插進對話。它不能批准或改檔,只給 nit、concern、blocker 三級建議。

  • 只在 agent 結束時審一次,實驗中每組 4 次 Codex 請求、約 15 秒。實測
  • 指令:/advisor(開關)、/advisor status(看狀態與成本)、/advisor off。
  • reviewer 則是主動派出的子 agent。進階:WATCHDOG.md 補審查重點、WATCHDOG.yml 設多個審查者(未用)。

別名與自訂 agent

角色別名

值要加引號,@ 代表「某個角色」:

modelRoles:
  deep: "@slow"      # 你的別名:難題用
  worker: "@smol"    # 你的別名:便宜的實作者
task:
  agentModelOverrides:
    scout: "@worker" # agent 用別名指定模型

別名可串接,--model deep 可用 實測;/model 是否列出別名 未驗證。

scout、task、sonic 不是角色

它們是子 agent 的類型名稱,不能改名。要新名稱得在 ~/.omp/agent/agents/名稱.md(或專案 .omp/agents/)寫 agent 定義,frontmatter 含 name、description、model。未驗證

其他

  • /modelpreset save 名稱/switch 名稱:存取整組角色設定;目前沒有(omp config get modelPresets 為 {})。
  • A/B 對照組:omp --config ~/.omp/agent/solo.yml,全部指向 Claude,關閉 advisor 與 prewalk。

無頭模式與腳本

omp -p "總結最後一個 commit"                 # 印出結果就結束
omp -p --mode json "列出所有 TODO"            # JSON 事件串流,方便程式處理
omp -p --max-time 10m "…"                    # 限時
omp -p --plan-yolo "…"                       # 自動核准規劃並實作(風險自負)
omp -p --no-session "…"                      # 不存檔
echo "review this diff" | omp -p             # 從標準輸入給提示

旗標見 omp --help。無頭模式無法詢問,審批直接依 approvalMode。

魔法關鍵字

提示詞出現這些小寫、獨立的詞時,omp 為那一輪加一段指示:

關鍵字效果
ultrathink要求仔細多步推理;自動思考模式下會用該模型的最高強度
orchestrate要求拆解並把大量獨立工作平行派給子 agent,逐階段驗證
workflowz用多個子 agent 做廣泛研究、審查、遷移
jevify對一長串項目做批次分類判斷

你目前沒啟用的功能

功能狀態是什麼
長期記憶(memory.backend)關閉跨對話的記憶
子 agent 隔離(task.isolation)關閉每個子 agent 用獨立工作區,之後合併
失敗時自動換模型(retry.fallbackChains)未設定清單Claude 額度用完時自動換 Codex 等;鍵名寫法未實測,所以沒寫
多個 advisor(WATCHDOG.yml)未使用不同專長的審查者
Skills 管理、extension、MCP未使用擴充工具
協作(/collab)、直播未使用與他人共用 session

你目前的環境設定

omp 版本 omp/18.8.0。

角色(modelRoles)

角色設定值用途
defaultanthropic/claude-sonnet-5-5:medium日常對話、判斷、整合
slowanthropic/claude-opus-5-5:high難題、需要深入推理時手動切換
planopenai-codex/gpt-6-astra:highplan mode 的規劃者
smolopencode-go/deepseek-v4.1-flash:low輕量任務、背景工作;prewalk 交接後的實作者
commitopencode-go/deepseek-v4.1-flash產生 commit 訊息
advisoropenai-codex/gpt-6.1-sol:medium旁路審查(agent 結束時)
deep@slow → anthropic/claude-opus-5-5:high自訂別名,指向 @slow
worker@smol → opencode-go/deepseek-v4.1-flash:low自訂別名,指向 @smol

子 agent 的模型(task.agentModelOverrides)

agent使用的模型
scout@worker → opencode-go/deepseek-v4.1-flash:low
task@worker → opencode-go/deepseek-v4.1-flash:low
sonic@worker → opencode-go/deepseek-v4.1-flash:low
revieweropenai-codex/gpt-6.1-sol:high

功能設定

設定鍵名稱目前值意思
tools.approvalMode工具審批模式yoloyolo=不逐項詢問;write=執行指令才問;always-ask=寫入與執行都問
prewalk.enabledPrewalk 自動交接Truetrue=第一次 edit/write 後,整個 session 換成 smol 角色的模型
advisor.enabledAdvisor 旁路審查Truetrue=由 advisor 角色的模型審查主 agent
advisor.reviewModeAdvisor 審查時機agent-endagent-end=只在 agent 結束時審;turn=每一輪都審
advisor.syncBacklog主 agent 是否等 advisoroffoff=不等,審查在背景進行
plan.defaultOnStartup啟動即進 plan modeFalsefalse=要自己按 Alt+Shift+P 才進入
memory.backend長期記憶offoff=未啟用
edit.mode編輯方式hashlinehashline=以帶雜湊的行錨點編輯,檔案已被改動時編輯會失敗而不是改錯
task.isolation.enabled子 agent 隔離工作區Falsefalse=子 agent 與主對話共用同一個目錄
async.enabled子 agent 背景執行Truetrue=派出後主對話可以繼續
task.maxConcurrency同時執行的子 agent 上限32超過會排隊
task.softRequestBudget子 agent 請求軟上限200超過會被提醒收尾,到 1.5 倍強制停止
task.maxRecursionDepth子 agent 再派子 agent 的層數上限2負值=不限
compaction.enabled自動壓縮對話Truetrue=context 快滿時把舊內容摘要
retry.enabled失敗自動重試True
retry.modelFallback重試時換模型True是否啟用還要有設定 fallback 清單才有作用;目前沒有設定清單
tui.mouse滑鼠操作Falsefalse=關閉

可用的 provider

provider可用模型數
anthropic27
apple1
google-antigravity15
openai-codex7
opencode-go44
xai-oauth10

列出表示已登入或免金鑰;實際用不用看角色與 agent 設定。

設定檔

檔案大小最後修改
~/.omp/agent/config.yml613 bytes2026-10-07 18:16
~/.omp/agent/AGENTS.md1,720 bytes2026-10-07 18:19
~/.omp/agent/solo.yml519 bytes2026-10-07 17:27
~/.omp/agent/AGENTS.md.bak-pre-maf-lessons973 bytes2026-10-07 18:16
~/.omp/agent/config.yml.bak-pre-maf-lessons609 bytes2026-10-07 18:16
~/.omp/agent/config.yml.bak-pre-split136 bytes2026-10-07 16:29
委派規則(AGENTS.md 全文)
# Delegation rules

Goal: keep Claude's context and output small without lowering quality. Claude plans and judges; other models explore, implement, and review.

- Unsure where to change? Spawn `scout` first; keep file dumps out of this context.
- Before the first edit (the session hands off to a cheaper model there), write down the acceptance criteria, the interfaces, and the test command. The implementer writes the tests against that list.
- Brief every delegate with: goal, files it may change, constraints, acceptance command. No implementation design. Always name the `agent`; an omitted name falls to the parent's first allowed agent.
- Hand over a whole module in one task, not small pieces. Parallel agents must not edit the same file.
- Do these here, never delegate: small edits, ambiguous requirements, cross-module judgment, auth/payment/data/permission/deploy changes. Large or multi-decision work: plan mode first.
- While developing, run only the tests for changed modules; run the full suite once at the end.
- Same failure after two fixes: stop and report, then change approach or take over. Do not retry unchanged.
- After delegating, read the result and the diff; do not reread what the delegate already read.
- Before the first edit, record the base SHA (`git rev-parse HEAD`). Before declaring done: commit, then paste the test command and its result for that commit. Spawn `reviewer` on `BASE..HEAD`, giving it both SHAs (a committed tree has an empty working diff). Act only on findings provable in the code; treat the rest as notes. Any fix is a new commit: rerun the tests and the review on the new SHA.
- If the repo has `AGENT_LEARNINGS.md`, read only entries relevant to the task (`rg`).
純 Claude 對照組(solo.yml 全文)
# A/B baseline: every role and subagent runs on Claude, advisor and prewalk disabled.
# Use: omp --config ~/.omp/agent/solo.yml
modelRoles:
  default: anthropic/claude-sonnet-5-5:medium
  slow: anthropic/claude-opus-5-5:high
  plan: anthropic/claude-sonnet-5-5:high
  smol: anthropic/claude-sonnet-5-5:low
  commit: anthropic/claude-sonnet-5-5:low
task:
  agentModelOverrides:
    scout: "@default"
    task: "@default"
    sonic: "@default"
    reviewer: "@default"
advisor:
  enabled: false
prewalk:
  enabled: false

你的終端機:Warp 加 Herdr

omp 跑在 Warp 裡的 Herdr 面板中,按鍵要穿過三層:

實體鍵 Option+P 經過 Warp(Option as Meta)、Herdr 面板,最後由 omp 解讀成 Alt+P
圖 4:按下 Option+P 之後,按鍵經過哪些層才到 omp

omp 沒有自訂快捷鍵(~/.omp/agent/keybindings.yml 不存在),Alt+P 是預設綁定。失效時逐層檢查:

10 秒判斷

在 omp 輸入框按 Option+P結論
出現 πWarp 沒把 Option 當 Meta 送,這是最常見原因
完全沒反應被 Warp 或 Herdr 的快捷鍵吃掉
其他 Alt 鍵(Alt+A、Alt+Shift+P)也都失效Option 沒送 Meta,不是單一鍵的問題

處理順序

  1. Warp

    Settings 搜尋 Meta 或 Option,開啟 Option as Meta;在 Keyboard shortcuts 查 Option+P 有無衝突(橘框)。已知問題:warpdotdev/warp #8583、#9517。

  2. Herdr

    config.toml 沒有自訂按鍵(只有 onboarding = false),預設是 tmux 式 prefix 加 Cmd 直按鍵,不太會吃掉 Alt+P。

  3. 不靠按鍵的替代

    /model、/prewalk restart、omp --model deep、omp --no-prewalk、/agents、/advisor、/usage。

  4. 最後手段:在 omp 改綁

    建立 ~/.omp/agent/keybindings.yml(不是 config.yml),重開後用 /hotkeys 確認:

    app.model.selectTemporary: Ctrl+Shift+U   # 原本 Alt+P
    app.model.select: Ctrl+Shift+Y            # 原本 Alt+M

情境食譜

情境怎麼做
小修改(幾行)直接貼需求。小改動自己做最快;第一次 edit 後會換成 DeepSeek 是正常的
不知道要改哪裡「先派 scout 找出 X 相關的檔案、測試與進入點,只回報路徑與關鍵函式。」
新功能(較大)Alt+Shift+P 進 plan mode,回答它的問題、核准計畫後再實作
範圍清楚、有測試的模組「把這件事交給 task agent,測試通過才算完成:目標…/可改的檔案…/驗收指令…」
高風險(認證、金流、資料、權限、部署)omp --no-prewalk --model deep --approval-mode write,並自己審 diff
發現對話已經換成 DeepSeek,想回 Claude/prewalk restart 或 Alt+P
合併前審查「請 reviewer 審 基準SHA..HEAD,只回報能在程式碼中證明的問題。」
接續昨天的工作omp -c,或 omp -r 挑
換話題/new
今天用了多少額度omp usage;各模型的細節 omp stats --summary
想比較「分工」與「全 Claude」同一任務各跑一次:omp 與 omp --config ~/.omp/agent/solo.yml,前後看 omp usage。要比「完全不派工」,對照組提示詞加「不要 spawn 任何子 agent」
寫腳本批次處理omp -p "…"(§18)
改了設定檔/restart 或開新對話,再 python3 ~/Documents/omp-guide/build.py 刷新本文件

故障排除

症狀可能原因怎麼辦
Alt 系快捷鍵沒反應Option 沒有被當 Meta 送出§22
對話中途模型變成 DeepSeekprewalk 交接(正常行為);或對話中改了 prewalk.enabled看狀態列確認;/prewalk restart 回到 Claude
某模型選不到或呼叫失敗沒登入、額度用完、provider 被停用omp models 看清單;/login;omp usage
設定改了沒效果對話在改設定之前就開始;陣列型設定被整個取代;--config 覆蓋了它/restart;omp config get 設定鍵 確認生效值
Gemini(Antigravity)額度突然大幅下降受限 agent 省略 agent 欄位,派出 scout 並走 Gemini;現在 scout 已改走 DeepSeek確認 task.agentModelOverrides;派工時寫明 agent 名稱
agent 一直重複同一個失敗沒有重試上限(omp 沒有 MAF 那種程式強制的修復次數上限)規則已要求「同一失敗修兩次就停」;仍卡住就 Esc 中斷、換做法或換 Alt+P 到更強的模型
agent 說完成了但你不放心完成報告是 agent 自己的說法自己 git diff、自己跑測試;規則要求它貼 commit 的測試證據,但無法強制
子 agent 卡住長時間沒有輸出Alt+A 開 Agent Hub,看逐字稿、插話或終止
畫面亂掉終端機重繪問題Alt+L 重設畫面(需要 Alt 可用);或 /restart

附錄 A:實驗記錄(ytdl 下載器,2026-10-07)

完整實驗記錄:設定、支出、比較、額度、觀察、設定變更

設定

  • 任務:Tauri v2 + Rust 的 YTDL 1080(yt-dlp 下載最高 1080p 的 MP4)加 7 點 UI 要求;四組提示詞相同,都從基準 commit f0e044f 出發。
  • solo=--config solo.yml 且不派子 agent;split=預設設定加委派規則;plan=--plan-yolo;prewalk=--prewalk。
  • 模型是 Sonnet 5.5(MAF 實驗用 Opus 5.5),任務也不同,倍數不能和 MAF 比。金額是 API 等價,不是訂閱實扣。

各 agent 支出

做法agent模型請求新輸入快取讀取輸出API 等價
solomainSonnet 5.51248400,46132,354$0.566
splitmainSonnet 5.51767665,11829,657$0.619
task 子 agentDeepSeek V4.1 Flash3487,0481,625,08846,864$0.046
advisorCodex Sol417,84953,888276$0.044
planmain(規劃)Sonnet 5.541671,6287,061$0.126
main(實作)DeepSeek V4.1 Flash83102,7495,416,96055,723$0.065
reviewerCodex Sol1562,014482,5607,495$0.247
advisorCodex Sol458,653170,368312$0.137
prewalkmain(起手)Sonnet 5.541468,61712,292$0.180
main(實作)DeepSeek V4.1 Flash106156,3318,477,18467,644$0.089
reviewerCodex Sol3062,2661,066,24010,836$0.340
reviewer 派出的 scout ×2Gemini 3.8 Flash24309,384387,67790,265$0.600
advisorCodex Sol471,817210,304254$0.167

四種做法比較

solosplitplanprewalk
Claude 加權 proxy(相對 solo)1.00×(283,120)1.09×(309,471)0.22×(62,857)0.32×(89,767)
Claude 原始 token 合計473,491742,146(1.57×)88,892(0.19×)91,639(0.19×)
全部模型原始 token 合計473,4912,573,159(5.4×)6,445,726(13.6×)11,001,841(23.2×)
Claude 請求數121744
Claude 輸出 token32,35429,6577,06112,292
所有家合計(API 等價)$0.566$0.709$0.576$1.375
耗時7.6 分13.6 分13.1 分21.5 分
cargo test 通過數26133433
核心 Rust 行數8216241,085771
打包 .app、1080p 實測下載(含聲音)、無效網址被拒通過通過通過通過
  • 加權 proxy=新輸入+0.1×快取讀取+2×快取寫入+5×輸出,是相對成本的代理值;權重取自 Anthropic 一般計價,訂閱實際加權未公開。
  • 原始 token=輸入+快取讀取+快取寫入+輸出。Claude 降到 0.19× 主因是快取讀取從 400k 降到約 70k;全部模型升到 13.6×、23.2×,因 DeepSeek 每輪重讀快取。

訂閱額度前後

額度實驗前實驗後(17:18)之後再量(17:21)
Claude 5 小時8%21%23%
Claude 7 天36%37%37%
Codex 5 小時0%10%14%
Codex 7 天0%2%2%
OpenCode Go 5 小時0%3%3%
OpenCode Go 每週7%8%8%
Gemini 每週1.7%25.7%25.7%

觀察與限制

  • 省 Claude 的是「誰做實作迴圈」:plan、prewalk 由 DeepSeek 做 83~106 次請求,Claude 只剩 4 次;split 的 Claude 仍自己寫大部分。
  • 金額沒跟著 token 縮小:split 多 25%,prewalk 2.4 倍,多花在 Codex reviewer、advisor 與 reviewer 派出的 scout。
  • 省略 agent 會落到父 agent 的 spawns 清單第一項:prewalk 的 reviewer 兩次 spawn 沒指定 agent,變成 scout 而非 task,造成那 24 次 Gemini 請求。其中約 79,600 輸出 token 是推理(48,727+30,909),Antigravity 每週額度很快見底。
  • UI(只看假介面的閒置畫面):prewalk 最完整(環境就緒標籤、Enter/Esc 提示);plan 的「選擇…」按鈕擠成直排、快捷鍵標籤對比低;solo 不下判斷。13 項靜態 UX 檢查四組全過,沒有鑑別力。
  • 每組只跑一次,品質證據只有這個任務的驗收。split 與 prewalk 首次執行同時被外部 SIGTERM 中斷後重跑;中斷的兩次約 $1.28,不計入上表。

依結果做的設定變更

  • scout 改為 @worker(即 smol,DeepSeek),Antigravity 不再是預設但仍可手動選;prewalk 預設開啟,Codex reviewer 與 advisor 把關。
  • 委派規則改為「Claude 規劃與判斷,實作、探索、審查交給其他模型」,並依 MAF 經驗補進 AGENTS.md:交接前寫驗收標準與介面、派 agent 寫明名稱、失敗兩次就停、reviewer 審 基準 SHA..HEAD、只讀 AGENT_LEARNINGS.md 的相關條目等(全文見 §21)。
  • smol 改為 …:low(MAF 的 DeepSeek 基準,僅兩題),worker 跟著套用;solo.yml 同步停用 prewalk。
  • 新增別名 deep(=slow)與 worker(=smol),scout、task、sonic 改寫成 @worker;agent 類型名稱不變。

附錄 B:驗證狀態

項目狀態
角色與子 agent 路由(scout、task 解析到 DeepSeek;solo 全 Claude)實測
Prewalk 在第一次 edit 後交接;專案層可覆蓋 prewalk.enabled實測(讀到的值;沒有再實際跑一次「專案內不交接」)
Advisor 在 agent 結束時呼叫 Codex實測
別名 deep、worker;--model deep實測
/model 介面是否列出自訂別名未驗證
新規則是否讓 DeepSeek 的測試呼叫變少、一次通過率變高未驗證:套用後沒再跑 ytdl 實驗,之後在真實任務觀察。之前 cargo test 呼叫 7~10 次,solo 為 1 次
smol 固定 :low 對品質的影響未驗證:依 MAF 基準(兩題)
Prewalk 開啟後的整體品質證據不足:只有 ytdl 一個任務、各一次
Plan 角色(Codex Astra)是否被互動式 plan mode 使用未驗證(--plan-yolo 沒用到它)
Claude 額度失效時自動換 Codex(retry.fallbackChains)未套用
Claude 在 omp 走訂閱計費依使用者確認,未獨立驗證。可看 omp usage 的 Claude 5 小時百分比是否隨 omp 呼叫增加
子 agent 隔離(task.isolation)未驗證,未啟用
Warp/Herdr 的 Alt 鍵問題已解決 Option+P 已可正常使用(依使用者回報,未獨立驗證)

附錄 C:更新紀錄

2026-10-07 的 10 筆更新
  • 2026-10-07 Option+P 問題已修正(依使用者回報);§22 保留排查步驟。
  • 2026-10-07 修正 build.py:一律在指南資料夾查詢 omp,避免把專案覆蓋誤記成全域(已重現並驗證)。
  • 2026-10-07 指南重寫:「你的環境」改由腳本產生,加入 --check。舊版為 omp-guide.v1.html。
  • 2026-10-07 從 Claude Code、Codex 移除 MAF skill 與 ## MAF 區段(Hermes 原本就沒有)。
  • 2026-10-07 AGENTS.md 改為 10 條規則(加入 MAF 經驗);審查對象改為 基準 SHA..HEAD。
  • 2026-10-07 smol 固定 :low。
  • 2026-10-07 新增別名 deep(=slow)與 worker(=smol)。
  • 2026-10-07 Antigravity 不再是預設:scout 改走 DeepSeek;prewalk 預設開啟。
  • 2026-10-07 完成 ytdl 下載器實驗(四種做法),結果見附錄 A。
  • 2026-10-07 首次套用分工設定:角色、子 agent 模型、advisor、AGENTS.md、solo.yml。

附錄 D:如何維護這份文件

原始檔在 ~/Documents/omp-guide/:

檔案內容誰改
guide.template.html教學文字(§1~§20、食譜、故障排除、驗證狀態)人(或請 agent 改)
changelog.txt更新紀錄,一行一筆:日期 | 說明人(或請 agent 改)
appendix-experiment.html附錄 A 實驗記錄人
build.py把上面三個加上實際設定組成 ~/Documents/omp-guide.html不用改
python3 ~/Documents/omp-guide/build.py            # 重新產生文件(改過設定後執行)
python3 ~/Documents/omp-guide/build.py --check    # 文件的「環境」章節是否落後?落後會 exit 1

快照記錄全域設定:build.py 在指南資料夾查詢 omp,專案內的 .omp/config.yml 不會被誤記成全域(從有 prewalk.enabled: false 的專案執行,仍記錄 true);專案層覆蓋要在該專案用 omp config get 看。

請 agent 更新時說「更新 omp 指南」並簡述變更:它會改模板、在 changelog.txt 加一行、執行 build.py。舊版備份為 omp-guide.v1.html。

附錄 E:名詞表

名詞意思
agent能自己讀檔、改檔、跑指令來完成任務的 AI 程式
子 agent主 agent 派出去、從乾淨 context 獨立工作的分身
provider/model/role服務來源/具體模型/「這類工作交給誰」的對應
別名(alias)你自己取的名稱,指向某個角色,例如 worker → smol
thinking level模型思考的深度等級
token模型計費與額度的單位
context window模型一次能看到的內容上限
prompt cache重複前綴以低價讀取的機制
compactioncontext 快滿時把舊內容摘要
session一次對話與它的存檔
AGENTS.md每個對話開始就載入的指令檔
skill需要時才載入的說明書
hashline以帶雜湊的行錨點編輯檔案的方式
approval mode工具要不要先問你的模式
plan mode只讀、提案、等你核准的模式
prewalk第一次 edit 後,同一個對話改用便宜模型的一次性交接
advisor旁路審查的模型
headless不開畫面、印出結果就結束的執行方式
overlay(覆蓋設定)用 --config 疊在原設定上的額外設定檔
SHAgit commit 的唯一識別碼;審查以 基準SHA..HEAD 為範圍
加權 proxy實驗中的相對成本代理值:新輸入+0.1×快取讀取+2×快取寫入+5×輸出