Skip to content
所有標籤

#coding-agent

89 篇文章

AI Agent GitHub Digest — 2026-09-05

mattpocock/skills 單日暴漲 2,757 星,是今天 GitHub Trending 漲最快的專案;Anthropic 官方 anthropics/skills 與開源 coding agent anomalyco/opencode 同步在榜。另一頭,MCP server reverify 用 71 個真實 Windows 系統檔案的 benchmark 證明:AI 讀 binary 時有 97% 機率在瞎掰,唯有確定性工具能攔下來。框架端 pydantic-ai、agno、haystack 今天都只有例行 patch,無重大更新。

daily digest AI Benchmark Watch

Benchmark 異動|CursorBench:Claude Fable 5.1 首次上榜即登頂,Grok 4.6 跌到第三

CursorBench 3.2:Fable 5.1 Max 73.4%(前冠軍 Grok 4.6 Extra High 70.8%)首次上榜即包辦第一、第二名;Fable 5.1 Max 比舊冠軍高 2.6 個百分點,且每題成本只要 $9.64,比前代 Fable 5 Max 的 $17.32 便宜 44%;Anthropic 官方網站目前仍只列出 Fable 5,Fable 5.1 尚無正式公告

OMP agent loop:為什麼需要兩層 while?外層的「停了就再被 steering 打醒」在做什麼

omp 的 runLoopBody 用雙層 while:內層跑 model call → tool call 的核心節奏;外層在 agent 本想停下時,排空 queued steering / follow-up / asides,決定要不要再跑一輪。這設計解決了「使用者在 model 跑時打字」與「背景任務悄悄塞訊息」的交付時機問題。

跟成熟 coding agent 學設計(4):Approval 分級與 audit trail

Looplane 的 effect 已有 read/modify/modify_execute/execute 四級,未分類工具 fail closed;native MCP tool 預設 execute,只有可信 read-only annotation 才降級。審批仍先進 events.jsonl,grant 可精確到同一組變更或 backend;一般化 command 規則與全 runtime sandbox coupling 仍未完成。

跟成熟 coding agent 學設計(37):Code mode——把工具呼叫編譯成程式碼批次執行

looplane 已先做 bounded tool-program DSL:唯讀程式支援 list/read/search/diff、repeat 與 if_contains;modify/check transaction 會經整體 approval,失敗時回滾 touched paths。它還不是任意 JavaScript/Python code mode,也沒有平行 transaction execution。

跟成熟 coding agent 學設計(26):Context 壓縮與 compaction——從缺口到可審計 baseline

五家成熟 agent 的 compaction 都要處理觸發、完整 turn 切點與失敗恢復。looplane 已補上 85% high-watermark、自動 compaction、原生 loop 的 deterministic fallback summary、checkpoint 落盤與 workspace context 重新注入;目前仍缺跨 runtime 等價 fallback、模型品質摘要,以及真實 provider 的長 session 驗證。

跟成熟 coding agent 學設計(27):跨 session 記憶——從 explicit remember 到 semantic recall

omp 與 claude-code 都有跨 session 記憶,其他參考專案主要靠 instruction files。looplane 已落地明確的 remember/list/inject baseline:型別化 JSONL 記憶可跨 session 注入 prompt,但目前只按 scope 與近期排序,還沒有語意檢索、去重、遺忘指令或自動萃取。

跟成熟 coding agent 學設計(28):危險指令攔截與 shell escalation——在白名單和每次都問之間

五家對自由 shell 的風險處理都包含放行/詢問/拒絕、複合指令檢查與 fail-closed。looplane 已補上 deny-first command classifier、critical floor、複合 shell 分段、timeout-deny、設定式 allow/deny rule 與可見的 policy reason;仍需擴大語法涵蓋與真實互動流程驗證。

跟成熟 coding agent 學設計:系列總覽——拆五個專案的原始碼,蓋自己的 agent

我在寫自己的 Python coding agent「looplane」,這個系列把 pi、oh-my-pi、opencode、codex、claude-code 五個成熟專案的原始碼逐題對照,也對照 Looplane 現在已經落地的 TUI、外部 CLI runtime、local gateway、usage/OTel/session 工具與 Cloudflare 切片。每篇固定走「設計問題→五家做法→looplane 選擇→學術依據→改善路線」五段,證據一律給到 file#symbol 層級。

Hooks/Skills/Plugins:成熟 coding agent 的三層擴展機制

Hooks 管控制流、skills 注入知識、plugins 負責打包。looplane 已有 opt-in deny-only project hooks、bounded SKILL.md loader、exact enabled_skills 選擇、plugin manifest/install/list 與 external runtime projection;仍缺 hook input rewrite、完整 lifecycle、遠端 registry 與成熟 marketplace。

跟成熟 coding agent 學設計(36):LSP 整合——把編譯器診斷推進 agent context

looplane 已能把 repo 內 diagnostics 與 open-file 狀態注入下一個 model turn,也有 typed WebSocket IDE context push、可封裝的 VS Code bridge,以及管理長駐 LSP subprocess 的 ManagedLspServer。剩下的是各語言 initialize/didOpen/didChange adapter 的打磨與 live editor 驗證。

跟成熟 coding agent 學設計(30):MCP 整合——工具生態的標準插座

MCP client 要同時處理 transport、工具刷新、approval 與 credential 邊界。looplane 已支援 allowlisted stdio、Streamable HTTP/SSE、tools/resources/prompts、tools/list_changed、OAuth metadata/PKCE 與 0600 credential store;尚缺真實 authorization server E2E 與 MCP 專用確認 UX。

跟成熟 coding agent 學設計(35):Model catalog 與 per-role 多 provider 路由——looplane 的 role alias 與 reviewer lane

looplane 已有 ModelRole/ModelRoute 靜態候選表、--model @cheap 等 opt-in alias、跨 provider fallback,以及驗證完成後才啟動的 no-tool reviewer lane;下一步是補 role inheritance/override 規則,並決定 summarizer、parser、scout 是否自動路由。

跟成熟 coding agent 學設計(6):ModelProvider 抽象——為什麼不能直接包 SDK 就好

直接包 SDK 三個月就會後悔:每家的 usage 欄位、tool call 格式、錯誤語意都不一樣,換模型等於重寫迴圈。五家參考專案都把「wire protocol」從「provider 身分」裡拆出來當獨立維度;looplane 更進一步,用 pydantic canonical contract(Message/ToolCall/Usage/ModelTurn)加六種 protocol adapter,把 OpenAI SDK 的內建 retry 關到 0,所有錯誤先分類成 ProviderErrorKind 再交給統一的重試政策。provider 表本身是跟 pi 的 packages/ai 對著抄的——這是血統,不是巧合。

跟成熟 coding agent 學設計(29):OS 級沙箱

OS 沙箱是 path policy 之外的核心防線。looplane 已落地 fail-closed `CommandSandbox`:macOS 包 sandbox-exec,Linux 用 Landlock 加 seccomp,verification 預設在能證明 containment 時進沙箱;不支援時回 exit 126。剩餘限制是目前主要只包 verification、外部 CI 結果仍待確認。

Prompt 版本控制:改一個字可能讓 eval 從 5/5 掉到 0/5

Looplane 的 prompt 已到 `m3-exact-edit-v4`:版本寫進 artifact,core/tool/interaction/runtime/instructions/skills/workspace/memory 以 stable/dynamic section 組裝,並加入 replace_text、unified diff、direct reply 的正反例。unit tests 已釘住結構,live eval 覆蓋仍需擴大。

跟成熟 coding agent 學設計(7):Provider retry policy——從單次 5xx 到有界 retry 與 fallback

NVIDIA NIM 間歇 500 暴露了 looplane 早期只有錯誤分類、沒有重試消費者的缺口。現在 SDK retry 關閉,harness 對每個候選最多嘗試 5 次,使用帶 jitter 的指數退避並尊重有上限的 Retry-After;耗盡後可依明確設定切到 fallback model,model.retry 與 model.fallback 都進 event log。

跟成熟 coding agent 學設計(33):Session 錄製與 replay——從事件檔走到可重播、可分叉

looplane 已把 events.jsonl 接成 deterministic reducer、CLI timeline、canonical JSON、SDK replay 與安全分叉;分叉不會重跑舊工具或模型呼叫。剩下的是 provider/live runtime 驗證、redaction 與更完整的 replay hook。

跟成熟 coding agent 學設計(32):Subagent 與 worktree 隔離——讓主 loop 學會分工

成熟 subagent 需要角色、fan-out 上限、權限收窄與成果回傳契約。looplane 已有 native named-role schedule、平行 fan-out、子 task allowed_paths 不得超出 parent、預設禁用 unsafe exec,以及 parent-approved transaction proposal baseline;常駐 background lifecycle、遞迴深度管理與自動 worktree merge 仍未完成。

跟成熟 coding agent 學設計(34):Telemetry 與成本追蹤——token 記了,然後呢

looplane 已加入 CostBreakdown、明確標示 estimated 的 GPT-5 家族靜態價目表、per-lane usage/cost 與 OTel cost 欄位;未知模型仍只顯示 token,不硬算美元。價目覆蓋、外部 CLI 權威帳單與 live billing 對帳仍待補。

跟成熟 coding agent 學設計(18):工具集設計哲學——tool surface 的邊界劃分

Looplane 的核心 surface 已從七個長到九個:新增 read-only `tool_program` 與可 rollback 的 `tool_transaction`,搜尋優先走 ripgrep,仍不開任意 shell;native MCP 只從 allowlist 動態加入,缺少可信 read-only metadata 就按 execute 審批。

跟成熟 coding agent 學設計(3):Workspace 隔離與 path policy

Looplane 的 disposable clone 與 SafePathPolicy 保護來源 repo;現在 `--sandbox-checks` 也能用 macOS sandbox-exec、Linux bubblewrap 或 Landlock 包住 verification command,Cloudflare 另有受限 Sandbox slice。但不同 backend 的 network policy、外部 runtime coverage 與 production hardening 仍未一致驗證。

跟成熟 coding agent 學設計(38):Agent as a Service——把 loop 包成別的程式可以呼叫的服務

looplane 已有 Cloudflare Durable Object run resource:非同步建立、狀態/取消/artifact、live NDJSON 與支援 Last-Event-ID 的 SSE;遠端 approval 走獨立短效 capability。Python 另有 attach client 與 stateful conversation WebSocket。production deploy、跨 runtime parity 與完整多租戶 hardening 尚未驗證。

Looplane 的 Cloudflare 遠端執行:Worker、Sandbox、Capability DO 與 durable RunSession

Looplane 的舊同步 M6 路徑曾完成一次真實 deployed coding run;目前已擴成帶 RunSession、SSE、approval、cancel 與 artifact 的 async control plane,但新增路徑尚未 live revalidate。Sandbox 只拿分 audience 的短效 HMAC capability,provider credential 留在 Worker;現有證據不等於 production traffic 或 SLO。

Looplane 的 disposable workspace 與 run bundle:原始 repo 為什麼不會被直接修改

Looplane 先把指定的完整 Git commit 複製到 run directory 裡的 detached-HEAD workspace,再讓 runtime 修改與驗證。原始 repo、執行 workspace 與 run artifacts 因此有清楚邊界;這能提供 source isolation 與 audit bundle,但不等於 OS sandbox。

Looplane 的 ExternalCodingRunner:為什麼 Codex/Claude Code CLI 是外部 runtime,不是 ModelProvider

`ExternalCodingRunner` 是 Looplane 的第二條 runtime lane:外部 coding CLI 擁有自己的 model loop 與 credential,Looplane 只交付任務與 disposable clone,再把回傳 patch 當成不受信任輸入,重跑 path audit、verification 與 source invariant。它是有明確 capability boundary 的 handoff,不是另一種 `ModelProvider`。

Looplane 的 ModelProvider 多閘道:多個 protocol 共用一個 canonical contract

Looplane 把 OpenAI-compatible、Responses、Anthropic、Gemini、Workers AI、scripted 與 experimental Codex OAuth adapter 收斂成同一個 `ModelProvider` contract。Codex OAuth transport 讀 SSE,但仍在 adapter 內累積成一次性的 canonical `ModelTurn`;AgentRunner 不直接消費 token delta。

Looplane 的 provider-neutral native loop:一次 model turn 如何走到驗證終態

Looplane 的 native lane 由 AgentRunner 掌握狀態轉移:準備 workspace、送出 model request、執行 tool calls、寫回 observations,模型沒有再呼叫工具時才進入 verification。step、wall time、重複動作、token 與取消條件都能先於模型宣告終止 run;provider adapter 的協定翻譯留給下一篇。

Looplane 的 state-first event journaling:為什麼 manifest commit 跟 JSONL append 之間的 crash 要靠 state 修

Looplane 同時維護 append-only 的 `events.jsonl` 與原子替換的 `session.json`,用 sequence reconciliation 判斷 crash 後能否安全續跑。這份 event contract 現在也支援 deterministic replay、JSON replay、從指定 sequence 建立 fork seed,以及在不重放副作用的前提下建立新 workspace;遇到停在 `tool.started` 或 `verification.started` 的不確定狀態仍然 hard fail。

Looplane 的工具隔離:path allowlist、argv 嚴格化、process group 與 credential-free subprocess

這篇只拆 Looplane 的 tool executor 如何把一次呼叫安全落地:`SafePathPolicy` 限制 path 並阻擋 symlink escape,`VerificationCommand` 固定 argv 且使用 `shell=False`,subprocess 只拿清理過的 env,寫入走 read-version hash 與 atomic replace,timeout 會終止整個 process group。權限決策、OS sandbox 與 tool program 各留給後續專篇。

Looplane 的 TUI 與 CLI:一次 run 在終端機上怎麼被看見

Looplane 的 TUI 與 plain CLI 是同一套 runtime 的兩種使用者介面。CLI 先依 TTY 與旗標選擇呈現方式,runner 再送出事件;TUI 把事件投影成 thinking、tool、approval、verification 與終態。使用者能從畫面分辨 native 與 external runtime,但 UI 不替底層能力背書。

Looplane 架構地圖:一次 coding-agent 任務如何穿過 workspace、runtime、tools 與 events

Looplane 把 coding-agent 任務拆成可追蹤的邊界:native runtime 的副作用經過 Looplane tools、permission 與 sandbox;external runtime 保留自己的 loop 與工具,再把 patch 交回 Looplane 稽核。這篇是規劃中 20 篇系列的入口地圖。

Looplane 的 context pressure、compaction 與 workspace reinjection

Looplane 在 85% context pressure 附近啟動兩種不同流程:native loop 可做一次 bounded deterministic summary fallback;支援原生 compaction 的 conversation runtime 則在完成 turn 後壓縮並回報 lifecycle。兩條路徑都會在下一次請求重新注入 workspace snapshot。

Looplane 的 IDE/LSP Context:Diagnostics、Open Files 與 VS Code Bridge

Looplane 將最多 200 筆 diagnostics 與 32 個 visible files 正規化成有界、repository-local、且不受信任的 context;VS Code 與 managed LSP 目前只提供訊號,沒有 completion、rename、code action 或完整 IDE RPC。

Looplane 的 local OS sandbox:macOS、bubblewrap 與 Landlock 如何 fail closed

Looplane 可把指定的 local command/verification 包進 macOS sandbox-exec、Linux bubblewrap 或 Landlock/seccomp。需要的 backend 不存在時以 exit 126 停止,不直接裸跑;但這個範圍不涵蓋 external CLI、MCP/LSP 或整個 Looplane process。

Looplane 的 model roles、fallback、cache hints 與 estimated cost

Looplane 用靜態 model role catalog 提供候選順序,只對 retryable provider error 重試與 fallback;cache 是 provider hint 加 trace,cost 是靜態價表估算。三者都留下訊號,但都不是即時營運路由或帳單。

Looplane 的 Native MCP:transport、authorization 與 approval 邊界

Looplane 只有在明確 allowlist 後才載入專案 MCP server,將 stdio 或 Streamable HTTP 能力投影到既有 ToolExecutor,再沿用 hook、approval、timeout 與 cleanup 邊界。

Looplane 的 permission layering:危險命令如何落到 allow、ask 或 deny

Looplane 先套不可繞過的 critical floor,再評估 user/org/project deny,最後才看 allow。dangerous mode 只自動放行 read/modify,execute 仍經過命令分類與 approval;這是 authority policy,不是 OS sandbox。

Looplane 的 prompt、instruction precedence 與 explicit memory:模型最後看見了什麼

Looplane 先在應用程式層解析 user 與 root-to-leaf 專案 instructions,再把 runtime、skills、workspace 與最近 20 筆 explicit memory 放進具名 prompt sections。這套流程可追蹤、可 reload,但不是 semantic memory,也不會把 repo 文字升格成 system authority。

Embedding Looplane:SDK、ConversationController 與 WebSocket Boundary

Looplane 用 0.x typed SDK facade 暴露 bounded run 與 conversation contracts;WebSocket attach 只包住一個預先建立、由 controller 擁有的 runtime session,沒有 conversation-ID resume 或多 client routing。

Looplane 的 Skills、Blocking Hooks 與 Plugin Packages

Looplane 把 skills 當成有界的 repository-local guidance、把 hooks 當成 opt-in 且只能否決的 host commands,再用 local plugin manifest 封裝 skill 與 hook;三者的權限完全不同。

Looplane 的 Subagent Scheduling 與 Parent-owned Transactions

Looplane 把每次 subagent dispatch 正規化成最多四個節點的 dependency waves,讓同 wave 的唯讀 child 在隔離 workspace 平行分析,再由 parent 重新走 hook、approval 與 transaction 執行修改。

Looplane 的 tool programs、transactions 與 safe concurrency

Looplane 只平行執行同時標成 read-only、concurrency-safe 與 READ effect 的 tool call;tool_program 提供有界的 read-only repeat/branch,tool_transaction 則對可能碰到的 workspace files 做 snapshot 與失敗 rollback。它不是外部副作用的通用交易系統。

AI Agent GitHub Digest — 2026-08-27

deepseek-ai/deepseek-harness(dsh)用 Cordis 外掛架構把「模型/工具/沙箱/記憶」全部做成可替換元件,developer preview 上線一週已逼近 20 萬星;PrimeIntellect-ai/prime-agent 用 Recursive Language Model 架構做長跑研究型 coding agent,靠持久 IPython session 撐過終端機斷線;liqiwa/mcp-radar 反過來做這類 digest 的自動化版本,每天掃 GitHub 排名新出現的 MCP server。框架端 Mastra 1.61.0 補上可撐過當機的背景任務佇列,ComposioHQ/composio 0.17.0 把 SSRF 防護延伸到工具執行下載與 S3 上傳。

AI Agent GitHub Digest — 2026-08-26

tinyhumansai/openhuman 用本地優先的 Memory Tree 壓縮數位生活、指揮多個 agent,早期 beta 已衝上 3.7 萬星;Vercel Labs 的 fx 用 Zig 寫出不到 8 MiB 的原生 coding agent CLI;NVIDIA 開源 labs-OO-Agents,把 agent 的 prompt/tool/workflow 收進單一 Python class;CopilotKit/OpenBot 把 agent 包進容器並加上治理閘門,動作先審後動。Agno v3.0.0 是需要跑資料庫遷移的重大 breaking release,Haystack v3.1.0 新增多 agent 委派工具 AgentTool 和上下文壓縮 CompactionHook。

跟成熟 coding agent 學設計(2):Agent loop 的形狀——事件流、checkpoint、resume

pi 的 loop 是雙層 while 加 EventStream;claude-code 明講 stop_reason 不可靠、改以串流中收到的 tool_use block 當唯一續跑訊號;codex 把 turn 做成可取消的 SessionTask 再靠 rollout crate 錄 JSONL;looplane 選了「manifest 先落盤、JSONL 跟上」的寫入順序,讓 Ctrl-C 之後能做驗證式續跑而非重跑。這篇全部附 file#symbol 級證據。

跟成熟 coding agent 學設計(13):CLI 人體工學——讓新工具長得像使用者已經會用的工具

成熟的 coding agent CLI 都收斂到同一套慣例:positional prompt、-p 是 print、exec 是 headless、resume 是一級指令、-C 換目錄;looplane 直接繼承這套詞彙,把學習成本壓到接近零。

跟成熟 coding agent 學設計(10):編輯工具的取捨——unified diff、exact edit、hashline 與 whole-file

LLM 寫 unified diff 壞在簿記:hunk 行數算錯、上下文行幻覺。五家的答案分成兩派——把 diff 文法做簡單(Codex 拿掉行號)、或乾脆不用 diff(Claude Code/Pi/OpenCode 的 exact replace);OMP 更進一步用 hash 錨點綁住讀取狀態。looplane 走最小干預:保留 guarded apply_patch,加一個零模糊匹配的 replace_text,qwen3:4b eval 就從穩定失敗變 5/5。

跟成熟 coding agent 學設計(9):外部 CLI 當 backend——包別人的 loop,安全邊界畫在哪

每家成熟 coding agent 都有 headless 機器介面:codex 有 `exec --json` 和更完整的 app-server JSON-RPC,claude-code 有 `-p` 加 stream-json,pi/opencode/omp 各有一種 JSON 事件流。直接把這些 CLI 當 backend 是最快的路,但代價是:它們自帶 agent loop、自己的權限模型、自己的登入。looplane 的答案是讓外來 CLI 完整擁有它的 loop,自己只守住三件事——隔離副本、patch audit、最終驗證——並且一條 runtime 永遠不偽裝成另一條。

跟成熟 coding agent 學設計(22):Gateway 模式——把任何 provider 變成 OpenAI 相容端點

生態系都把 /v1/chat/completions 當共通語,但你手上的 provider 不一定講這個方言。五家的答案分三派:pi 和 OpenCode 讓 client 本身講多種方言所以不做 gateway;OMP 做了真正的 protocol translator(foreign wire → 中立 context → provider adapter,禁止 raw passthrough);Codex 和 Claude Code 的 proxy 不翻譯,只負責強制流量管控。looplane 抄 OMP 的邊界但收斂成一進一出:只收 OpenAI Chat,嚴格解析成 canonical contract,後面接任何 ModelProvider——順便踩掉一個 cross-event-loop client close bug,教訓是 provider 的生命週期必須交給 ASGI lifespan。

跟成熟 coding agent 學設計(21):Headless 模式與 CI 使用——沒有人可以按 approve 的時候

agent 進 CI 後最大的問題是審批:沒有終端機、沒有人可以按 approve。五家的解法收斂成兩條路——把權限決策外包給呼叫端(claude-code 的 control protocol),或直接換掉審批語意(codex 預設 Never 配沙箱、opencode 預設自動拒絕)。looplane 用同一個 AgentRunner loop 注入不同的 ApprovalPolicy:headless 下用 HeadlessApprovalPolicy,不讀 stdin 所以不可能卡住 pipeline,EXECUTE 預設 fail closed。

跟成熟 coding agent 學設計(14):Onboarding 設計——provider-aware 初始化與即時驗證

空白設定檔勸退人,憑證錯太晚發現更勸退人。五家成熟 agent 都把 setup 做成 first-class state,looplane 再補上存完 key 立即驗證這一步。

跟成熟 coding agent 學設計(20):Run artifacts 契約——跑完之後憑什麼審計?

agent 跑完之後,「模型說它做完了」不是證據。codex 把 trace 拆成 manifest + JSONL + payloads 的 bundle、omp 用 SQLite 鏡像磁碟上的固定檔案、pi 用 runs.jsonl 索引原生 session 檔。looplane 選了最硬的一條:每個 run 固定六個檔案,缺一個就不算完成,patch 審計看 changes.patch 不看口頭宣稱。

跟成熟 coding agent 學設計(16):Runtime 抽象與 capability handshake

五個外部 CLI 有五種機器介面:JSONL 事件流、JSON-RPC、HTTP API、ACP、stream-json。支援它們的正確姿勢不是抽一個「都一樣」的介面,而是一條窄的 runtime 邊界加一份誠實的 capability matrix——availability 只代表裝了,不代表登入;協定飄移就 fail closed。

跟成熟 coding agent 學設計(11):沙箱與遠端執行——Cloudflare Sandbox 部署實戰

本地沙箱管的是『agent 在你的機器上爆炸半徑多大』,雲端沙箱管的是『怎麼把程式碼安全地搬到別人的機器上跑』——五家成熟專案幾乎都在做前者,只有 looplane 真的部署了後者。實戰教訓:mock 測不出 SSE framing、CI 綠燈擋不住 stale wheel,而清理路徑要跟成功路徑一樣有 timeout。

跟成熟 coding agent 學設計(19):Session 持久化與 crash recovery——agent 死掉之後,狀態怎麼救

五家 agent 的 session 儲存幾乎都是 append-only JSONL 加上某種單寫者保護,但 crash recovery 的差別在細節:pi 會修 torn tail、codex 寫失敗會重開檔重試、looplane 選了「manifest 先落盤」讓唯一的 crash window 變成可修復的一格。這篇拆解每家的寫入順序與 fail-closed 條件,全部附 file#symbol 證據。

跟成熟 coding agent 學設計(12):小模型能寫程式嗎——能力邊界與 eval 紀律

小模型卡的不是『不會想』而是『格式不穩』:tool call JSON、diff hunk 計數、context 預算都會爆。五家參考專案的共識是把評測建立在真實模型行為上(pi 的 model-backed eval、OMP 從真實 session log 校準編輯基準、Codex 甚至為弱模型放寬 parser),looplane 則選最窄但最硬的路:一個 fixture、五次真實 Ollama 執行、manifest 宣告改哪些檔案和哪些 patch 片段才算過,並且把 M2 的失敗原封不動留成證據——不把 mock 當 E2E,不把部分成功講成全過。

跟成熟 coding agent 學設計(17):啟動效能與工程紀律——慢的從來不是語言

CLI 工具每次叫用都要付一次啟動成本,而沒有 baseline 的效能優化等於沒有回歸保護。codex 用 daemon 重用與 skill snapshot 快取、claude-code 把入口切成七十個動態 import 加上內建啟動 profiler、opencode/omp 各有 lazy 載入紀律;pi 則什麼都沒做,靠 Bun 的速度快撐著。looplane 是 Python,天生慢,所以把紀律做滿:lazy import、單飛磁碟快取、背景預熱 controller、hyperfine paired benchmark 加上 CI 大於 10% 退步就擋 merge。

跟成熟 coding agent 學設計(8):訂閱的正道與邪路——OAuth 與 credential 邊界

五家在「訂閱認證」上分成三派:Codex 和 Claude Code 只為自己官方 client 做 OAuth 並把 token 收進 OS keyring;pi 和 OMP 直接重用 Claude Code 的 client ID 實作 Pro/Max OAuth(技術可行但 Anthropic 文件明文禁止第三方未經核准提供 claude.ai 登入);OpenCode 則把內建 Pro/Max plugin 整組移除,是生態系最乾淨的政策先例。looplane 的原則:自己的 grant 自己做、絕不刮別家 CLI 的 credential 檔、第三方 client 要 provider 明確支援才接 OAuth、credential 不複製不轉發。

跟成熟 coding agent 學設計(24):測試一個會動的 agent——fake-CLI 合約、錄製串流、TUI pilot

agent 的兩個依賴——LLM 和外部 CLI——都不是決定性的,但成熟專案的招式是把「會動的部分」與「邊界的形狀」切開:codex 用 wiremock 假 Responses API 加腳本化 SSE server,TUI 用 insta 快照;opencode 乾脆做了 VCR 式的 http-recorder 錄放套件;pi 把 eval 與 unit test 分成兩份 vitest config;omp 把 edit benchmark 本身用 unit test 圍起來。looplane 對外部 CLI 做了四層:單元測試、fake-CLI 合約、錄製串流整合、Textual pilot TUI 測試。核心方法論一句話:錄下真實的非決定性輸出,對它做決定性的斷言。

跟成熟 coding agent 學設計(15):從全螢幕 TUI 到 semantic transcript

成熟的 coding agent TUI 都不是把事件流印出來,而是先做一層 typed projection 再渲染;looplane 走了全螢幕組合、runtime-first 雙模式、移除 Ask/Agent 分離三步,才把 non-streaming 和 resume 不能 replay 兩個舊限制真正解除。

跟成熟 coding agent 學設計(5):Verification gate——改了檔案不算成功,驗過才算

五家參考專案裡沒有任何一家在 harness 層強制「宣告的驗證指令全過才算成功」:pi 靠模型自覺、OpenCode 和 Codex 把驗證寫進 system prompt、Claude Code 用獨立的對抗式驗證 subagent 但仍是軟性合約、只有 OMP 的 cleanse 真的由 harness 跑檢查。looplane 選最硬的一條路:改過檔案就必須重跑所有宣告的驗證指令,全過才給 terminal_reason=verified;沒動任何檔案就不重跑(no_changes),把「跑不跑」變成程式碼決定,不是模型決定。

為什麼 Python:寫 coding agent 的語言選擇代價與補償

五個成熟 coding agent 沒有一家用 Python——pi/opencode/claude-code 用 TypeScript,codex 從 TS 重寫成 Rust,omp 把熱路徑補上 8 萬行 Rust native crate。looplane 仍選 Python,代價是啟動效能與打包,補償手段是 lazy import、uv 和 Cloudflare Sandbox。

AI Agent GitHub Digest — 2026-08-24

duty1g/x64dbg-mcp-server 把逆向工程除錯器包成 MCP 工具,兩天衝上 563 星;Cripacx/mediagen 把歐盟 AI 法案要求的內容標記做進生圖 MCP server;QwenLM/qwen-code v0.22.0 公開 SWE-bench Verified 完整測試軌跡,77.08% 過關;open-gitagent/gitagent 把核心引擎搬到 Rust 重寫,agent 狀態整個活在 git repo 裡。框架端,GitHub 官方 MCP Server v1.10.0 是一次資安大掃除,`--tools` 打錯名稱現在會直接讓 server 啟動失敗。

Antigravity CLI:Google 用閉源 Go binary 取代十萬星開源 Gemini CLI

2026 年 5 月 Google I/O 宣布 Antigravity CLI(agy),用閉源 Go binary 取代 Apache 2.0 的 Gemini CLI。技術上升級——多 agent 編排、原生沙箱、毫秒啟動——但免費額度砍 98%、開源轉閉源、28 天過渡期,社群反應強烈。

Grok Build:xAI 的 Rust Coding Agent,開源之前先把你的 repo 傳上去了

Grok Build 是 xAI 用 Rust 寫的 coding agent,845K 行程式碼、8 個平行子 agent、Arena Mode。2026 年 5 月 beta、7 月開源(Apache 2.0)——但開源的直接原因是隱私事件:它靜默把整個 repo(含 SSH key、.env)上傳到 Google Cloud Storage,27,800 倍的流量比。資料外洩的程式碼至今還在 binary 裡,只靠 server-side flag 關閉。

Muse Code:Meta 的第一個 Coding Agent,用訓練權換八折定價

2026 年 8 月 Meta Superintelligence Labs 發布 Muse Code beta。閉源靜態 binary、Muse Spark 1.2 模型、平行子 agent + worktree 隔離。最大爭議是定價:標準版 $1.25/$4.25 per M tokens,Contributor 版 $0.10/$0.20——便宜 20 倍,但你的程式碼進 Meta 的訓練管線。

AI Agent GitHub Digest — 2026-08-23

CopilotKit/OpenBot 用 AG-UI 協定包出「每個都有自己電腦」的 AI coworker 框架,一週衝上 2,289 星;Bruno 官方 MCP server(usebruno/bruno-mcp)比社群版(Ostico/bruno-mcp-studio)晚兩個月才補上;browser-use 團隊另開 macOS Harness 專案,用六個 accessibility 原語讓 LLM 直接操控 Mac;搬到 Anomaly 底下的 opencode 星數(約 19.9 萬)已經超過 Anthropic 自家 Claude Code(約 14.2 萬)。框架端,MCP TypeScript SDK v2 把單一套件拆成 8 個子套件,並跟進協定的 stateless 改版,拿掉了 session handshake。

ai deep-dive

Python coding agent 實戰 M11:為什麼 exec 迴圈做不出 Claude Code 的對話體驗

要做出 Claude Code 或 Codex 的 TUI,關鍵不是滿版配色,而是長生命期 session、typed transcript 與 tool-boundary approval。

2026 下半年 Harness 大戰:八大框架重寫、三家模型商入場,110+ CLI 怎麼看

2026 年 8 月,不只五個框架在動。OMP 2、Pi v2、Opencode 2、dsh、Claude Code 之外,Google(Antigravity CLI)、Meta(Muse Code)、xAI(Grok Build)三家模型商直接下場做 coding agent,加上 Amp、Cline 2.0、Codex CLI Rust 重寫,共八個以上框架同時有架構級變動。再算進 110+ 個 CLI 工具,H2 2026 是 harness 方法論的分裂期。本文從四條架構路線、一個共同方向、一場信任危機拆解。

ai deep-dive

Runloop:為程式開發 Agent 設計的 Devbox 執行環境

Runloop 把隔離 microVM、可重現映像、磁碟分支、憑證代理與 eval 放進同一套程式開發 Agent 基建;官方案例已公開單一工作負載突破 10,000 個並行 Devbox。

DeepSeek Harness(dsh):把 Everything is a Plugin 做到底的 coding agent 框架

DeepSeek Harness(dsh)是 DeepSeek 官方的開源 coding agent 框架,2026-08-13 發布 v0.1 開發者預覽版,9 天內累積 184,000+ 星。核心是 Cordis plugin kernel——模型、工具、agent loop、UI 全部都是可抽換的外掛。四種 runtime 模式,能把 Claude Code 和 Codex 當子代理使用。Web UI 優先,目前沒有原生 CLI。

OMP 2(Oh My Pi 2):從 Pi fork 到全 Rust 重寫的獨立 coding harness

OMP 2 不再是 Pi 的 fork。整個 codebase 用 Rust 從零重寫,約 41 個 crate 涵蓋自製 bash 引擎、GPU 加速 GUI、嵌入式 CPython 3.14t、gRPC transport 與 Kokoro-82M TTS。目前 pre-release,尚未正式發行。

Opencode 2:Bun 換 Node、Tauri 換 Electron、API 全部打掉重練的代價

Opencode 2 是 Anomaly(Dax Raad)主導的大重寫。runtime 從 Bun 換成 Node.js(記憶體問題)、桌面從 Tauri 換成 Electron(WebKit 效能與 Node 整合)、v1 API 刻意不相容。新增多分頁並行 session、持久化後端服務、HTTP API + SDK。目前 beta,預估 2026 年 9 月 stable。約 200K stars。

Pi v2:AgentHarness API 升穩、Earendil 公司化,極簡主義走進下一章

Pi v0.84.0(2026-08-06)把 AgentHarness v2 API 升為 stable。Lane-based v4 Session model 讓操作可持久化、可中斷。CBOR 取代 JSON,Unix socket 取代 HTTP。背後的 Earendil Inc.(Armin Ronacher 的 PBC)拿到首輪資金。95.4K stars,still MIT,still 極簡。

AI Agent GitHub Digest — 2026-08-19

DeepSeek 開源的 agent harness「dsh」8/13 發布一小時內破 2 萬星,目前累積約 15.8 萬星,社群兩天湧入 2000+ 外掛提案;核心是 Cordis 驅動的「一切皆插件」架構,甚至能把 Claude Code、Codex 當子 agent 呼叫。RightNow-AI 用 Rust 從 OS 層級重新定義 agent(openfang),網易有道推出建立在 OpenClaw 之上的桌面 Agent LobsterAI,PrimeIntellect 的 prime-agent 主打自我改進推理迴路。CrewAI 1.15.16 補強 execution context 追蹤與 flow 錯誤記錄。

Aider:最老牌的終端 AI Pair Programmer,以及它現在的維護狀況

Aider 是 2023 年就存在的終端 AI pair programmer(Python、Apache-2.0、約 48.3k stars),設計上跟現在的自主 agent 走反方向:手動 /add 檔案控制 context、每次修改自動產生一個 atomic git commit、architect/editor 雙模型分工。但要注意維護節奏:最後一版 PyPI 發布是 2026-02 的 0.86.2,最後一筆 commit 在 2026-05,官網仍推薦 Claude 3.7 Sonnet 與 o1。

Amp:靠「砍功能」定義自己的 coding agent

Amp 已於 2025 年 12 月從 Sourcegraph 獨立為 Amp Frontier Corporation,npm 套件也從 @sourcegraph/amp 改為 @ampcode/cli。它的識別特徵是持續砍功能:editor 擴充、Amp Tab、TODO 清單、Fork、custom commands、public threads 全部刪掉。2026-07-18 才首度推出月費訂閱(Megawatt $20、Gigawatt $200),此前只有 pay-as-you-go。現在主軸是 orbs——關掉筆電也會繼續跑的遠端機器。

GitHub Copilot CLI:把 agent 開在 GitHub 這個平台上

Copilot CLI 於 2026-02-25 正式 GA,所有 Copilot 方案(含 Free)都包含。差異化不在 agent 本身,而在 GitHub 平台整合:內建 GitHub MCP server 直接操作 issue 與 PR、組織政策自動繼承、`&` 前綴把工作丟給雲端 coding agent。計費走 GitHub AI Credits(1 credit = $0.01),Pro $10/mo 含 $15、Pro+ $39 含 $70、Max $100 含 $200。

omp(Oh My Pi):把 Pi 的極簡主義翻過來的 batteries-included 分支

omp 是 Pi 的 fork,但不只是插件層堆疊:它多了約 80,000 行 Rust,把 grep/shell/AST/PTY 全部搬進 in-process。內建工具從 Pi 的 7 個變成 31 個,外加 14 個 LSP op、28 個 DAP op、60+ 供應商。同一份 codebase,兩個相反的賭注。

Antigravity CLI:Google 用一套 agent harness 收編 Gemini CLI 的終端機介面

Antigravity CLI 是 Google 在 2026/5/19 I/O 發表的終端機 agent,用 Go 重寫(Gemini CLI 是 Node),二進位檔叫 agy,與桌面版 Antigravity 2.0 共用同一套 agent harness。它同時是 Gemini CLI 的接班人——個人方案的 Gemini CLI 將於 2026/6/18 停止服務。

ai guide

GitHub Copilot Coding Agent:把 Issue 丟給 AI,讓它自己開 PR

GitHub Copilot Coding Agent 讓你把 Issue 指派給 Copilot,它在雲端沙箱裡自動開 branch、寫程式、跑 CI、開 PR。成功關鍵是設好 AGENTS.md,沒設定的話 agent 容易跑偏。適合定義清楚的中型任務,需 Pro+(每月 1,500 premium requests)或 Enterprise 方案。

ai guide

從實戰整理:AI Native 團隊該做好的事

不是每個人都該直接用 coding agent 改 code。AI Native 團隊要搞定 interface 規格、測試先行、monorepo、security guardrail、human-in-the-loop 與 token 預算管控,在 coding agent 上面再建一層 agent platform 並明確開發者角色轉型才是正途。

ai project

Vercel Open Agents:把 coding agent 從你的筆電搬到雲端

Vercel Labs 開源的 coding agent 參考實作。三層架構分離 web UI、agent workflow、sandbox VM,設計給想自建 Claude Code / Cursor Background Agent 的團隊當起手。

tech guide Agent CLI 選型指南

Claude Code:Anthropic 終端機 AI Coding Agent 完整介紹

Claude Code 是 Anthropic 的 agentic coding 工具,跑在終端機、IDE、Slack、GitHub 和 Web 上。核心擴充機制有六層:CLAUDE.md(永駐 context)、Skills(按需工作流程)、Hooks(確定性自動化)、Subagents(隔離委派)、MCP(外部工具連接)、Agent Teams(多 agent 協作)。

Codex CLI:OpenAI 開源終端機 Coding Agent 完整介紹

Codex CLI 是 OpenAI 的開源終端機 coding agent(Rust,Apache-2.0,約 106.6k stars),支援 MCP、subagents、圖片輸入、code review、Skills。模型主線已換成 GPT-5.6 Sol / Terra / Luna,桌面版、CLI 與 IDE 擴充共用一份 config.toml。

Gemini CLI:曾經最慷慨的免費終端 Agent,現在只剩企業路徑

Gemini CLI 是 Google 開源的終端機 AI agent(Apache 2.0,~106.6k stars),曾提供每分鐘 60 次、每天 1,000 次的免費額度含 1M context。個人方案已於 2026/6/18 停止服務,接替者是 Antigravity CLI。專案本身沒關閉,repo 仍在維護,但只服務 Gemini Code Assist Standard/Enterprise 授權與付費 API key。

OpenCode:開源 AI 終端機 Coding Agent 完整介紹

OpenCode 是用 TypeScript 打造的開源 AI coding agent(MIT,約 198K GitHub stars,repo 在 anomalyco/opencode),內建 TUI、支援 75+ LLM、LSP 整合、Vim 風格編輯器、SQLite session 管理,另有桌面版。免費、不需訂閱,可接本地或雲端模型。

Pi Coding Agent:極簡主義的開源終端機 Coding Harness

Pi 是 Mario Zechner 打造的極簡 coding agent(TypeScript、MIT、約 93K stars),只有 4 個核心工具與極短 system prompt,其餘全靠 Extensions/Skills/Prompt Templates 自己疊。刻意不做 MCP、sub-agents、plan mode、權限彈窗。repo 已改名 earendil-works/pi,npm scope 換成 @earendil-works。