工具使用與 Coding Agents
23 篇精讀筆記
研究工具發現、schema context、程式任務與可驗證執行如何共同影響 Agent 表現。
讀者問題
當 Agent 要選工具、改程式並執行時,如何降低 context 與操作錯誤?
READING LIBRARY
深入讀這個議題
目前收錄在這個研究議題下的所有論文精讀。
-
派對之後:病毒式 Agent Skill 生態留下的治理與安全掃描難題
進階深讀 After the Party 的 OpenClaw/ClawHub 生態研究:從 91 天的爆發式成長、下載集中與 reviewability gap,到 privilege evidence、掃描器分歧與可轉移的治理方法。
90 秒掌握這篇論文
- 研究問題
- 當一個 agent-skill registry 在幾個月內快速擴張,下載量、stars、版本、留言、宣告的 capability 與實際可執行權限,哪些訊號還能支持治理決策?研究者以 OpenClaw 與 ClawHub 為案例,追蹤成長、關聯可攜性、reviewability 與 scanner agreement。
- 核心洞見
- skill 不是只存在於文字內容裡。相同的 SKILL.md 或 package,在不同 host、tool visibility、execution context 與 policy 下,可能暴露完全不同的 privilege surface;registry metadata 也不能把 popularity、reviewability、static evidence 與 runtime behavior 合成一個信任分數。
- 最強證據
- RQ1 重建 91.11 天的 stock 由 33,399 增到 65,175;前 10% 取得 46.93% downloads,Gini 為 0.528。RQ3 顯示 85.06% 的可評估 skill 至少有一項 privilege evidence;RQ4 的三個 scanner 只在 446 個項目上同時 flag,且人工 reference set 中 LLM scanner 的 sensitivity 61.06%、static scanner 為 21.67%。
- 主要邊界
- 這不是所有 registry 的 insecurity prevalence,也不是三個 scanner 的通用 benchmark。資料是單一生態、特定 snapshot、部分歷史資料重建;withdrawn data、缺失欄位與沒有 perfect ground truth,都會改變可解釋範圍。
-
SilentProbe:當 HTTP 200 沒有回答你問的問題
進階精讀 SilentProbe(arXiv:2609.00035 v1):從 OpenAPI constraint gap、live differential probe 到 agent 的 false negative,拆開 disclosure 與 machine-readability 如何共同決定工具是否會誠實失敗。
90 秒掌握這篇論文
- 問題
- Agent 呼叫第三方 API 時,空結果可能代表「真的沒有符合條件的資料」,也可能代表 server 沒看懂 filter、把它丟掉,卻照樣回傳 HTTP 200 與可解析的 JSON。兩者都沒有 exception、錯誤 status 或可供 branch 的欄位。
- 核心洞見
- 要拆成兩個獨立問題。Disclosure 問模型能否從說明中選出 vendor 接受的 vocabulary;machine-readability 問 validator 能否在 request 離開前拒絕錯值。只有後者能被通用基礎設施強制執行。
- 最強證據
- 公共 OpenAPI corpus 的 721,320 個 parameter leaves 中,只有 7.5% 宣告 enum、15.2% 宣告任一 machine-checkable constraint,40.1% 的文件至少有一個 prose constraint gap。219 個 live perturbations 則顯示 machine-checkable 組是 111/111 honest errors,prose-only 組有 44/61 silent failures(Section 4.1–4.2、Figure 5)。
- 主要邊界
- 在三個 parameter 的 agent experiment 中,description 只舉例 1/18 個 department 值時,12 個模型在 88/88 次都選到無效 vocabulary;把相同 vocabulary 提升成 enum 後是 0/89 silent failures。這是介面與測試 harness 下的證據,不是模型或所有 production API 的普遍定律。
-
BTS-AgentBench:把只讀遙測編譯成可重播的 Agent 評測回合
進階精讀 Jeong-Yoon Kim 的 BTS-AgentBench(arXiv:2608.27334 v1):從 BTS 建築遙測建立只讀工具、可執行任務、有限互動契約與證據化評測;精確重播很強,但不等於生產安全或任意領域的可攜性。
90 秒掌握這篇論文
- 問題
- 建築現場累積了多年 sensor 與 equipment 的只讀遙測,但 raw history 不是可直接交給 Agent 的多回合任務。若逐筆手寫任務,既難保留站點的本地名稱與關係,也難維護來源答案、split 與 evidence 的一致性。
- 核心洞見
- 把 benchmark construction 當成一條可重播的編譯鏈:先將 metadata 與歷史資料放進只讀 tool store,再由固定規則建立 static task,最後把原本的計算包進 typed、有限的互動契約。互動表面可以增加澄清、目標修訂、nearest timestamp、品質決策與證據追問,但來源計算與 gold 必須一起重新執行。
- 最強證據
- 兩次獨立的 raw-to-episode build 對上 11 個 logical tool-store exports,也逐筆重現 BTS 的 356/87/89 train/dev/test release;公開的 532 筆 episode 通過 coded contract preflight。這是 construction consistency 的證據,不是 operator realism 或生產部署的證據(論文 Table 7、Appendix A.3)。
- 主要邊界
- BTS-AgentBench 是只讀、離線、有限回合的 building-telemetry benchmark。它的零 controller success 是 construction-exclusion 條件,不是任務難度的獨立估計;XAI4HEAT 的 41/41 也只說明第二個遙測 corpus 上的執行可行性,不能外推到任意 event log 或物理控制。
-
ACE:讓簡報畫布 Agent 先理解結構,再用批評回饋修正
進階深讀 ACE(arXiv:2608.24103 v1):以 hierarchical scene graph、CARE 與 instruction-following judge 把多頁簡報編輯拆成可路由、可差分、可回溯的閉迴路,並釐清 benchmark、human rater、mock 與 live reproduction 的邊界。
90 秒掌握這篇論文
- 問題
- PowerPoint/HTML 一類 flat absolute-positioned 文件把物件位置寫成大量座標。Agent 若要在一個 element 新增內容或改 layout,常得重新計算其他物件;而不同但合理的設計可能被 reference-diff 指標誤判為錯。
- 核心洞見
- ACE 以 hierarchical scene graph 保存 parent–child 關係、相對變換與 auto-layout,再用 98 個專用工具把意圖映射到結構化操作;CARE 只取與任務相關的 slide、節點或 design token。完成 edit 後,JsonDiff 對比原始與目前狀態,由不看 ground truth 的 instruction-following judge 提供下一輪 critique。
- 最強證據
- 完整 94-task benchmark 的 GPT IF 是 ACE 4.23、HTML baseline 3.81,paired p=.010;速度約 1.75 倍、成本約低 44%。但同一組的 VQ 是 3.66 對 3.57(p=.56),所以 headline 不是「所有視覺品質都提升」。
- 主要邊界
- 26 位 blind raters 在 ACE 對 HTML 的 overall decisive win rate 是 58.7%,self-corrected output 對 single-pass 是 81.5%;這些結果有小樣本、tie、低至中度一致性與 judge circularity 限制。它沒有證明 ACE 能改善所有 creative editing,也沒有證明 judge 能取代設計師。
-
Tool Call 成功,Workflow 仍失敗:Agent–Tool Boundary 的外部效應異常
進階深讀 Agent–Tool Boundary 的 effect-history 模型:為什麼單次 tool call 回傳成功,仍不足以保證長流程的外部世界狀態一致,以及 MCP annotation 與交易式工具契約究竟填補了哪些空白。
90 秒掌握這篇論文
- 問題
- 一個 agent workflow 可能先建立訂位、再扣款、再寄送確認信。每一個 tool 都可能回傳成功、失敗或 timeout,但 workflow 真正關心的是外部世界發生了哪些不可逆 effect,以及這些 effect 是否仍然存活。若 runtime 只看最後一個 response,retry、speculation、併發與 crash 都會讓「call 成功」和「事情完成」脫鉤。
- 核心洞見
- 把 external effect history 與 runtime observation 分成兩層。一次 attempt 可能得到 unknown,而 externalize 可能已經發生;反過來,runtime 也可能看見成功,但之後的 commit、abort 或 compensation 沒有形成預期的世界狀態。workflow safety 要談的是 effect history,而不是單次 API response。
- 最強證據
- Section 3 的 Table 2 將八種 anomaly 對到所需 boundary capabilities;Section 5 對 2026-07-27 MCP registry snapshot 做 98,291-tool census。74.0% 的 tool 至少有一個標準 annotation,61.7% 同時有四個,但 Table 4 顯示這些 hints 對 A2–A8 都沒有提供足夠的 transactional guarantee。
- 主要邊界
- 這是 effect-history vocabulary、coverage conjecture 與 runtime-contract 分析,不是八種 anomaly 已在所有 production agent 中測出的 prevalence study。對 ACRFence、RAC、Atomix、Cordon、CoAgent 與 Shepherd 的 coverage 是作者整理的 partial/stated comparison,不等於形式證明。
-
EvoOntology:讓 Data Agent 的本體層從靜態說明變成可驗證的自演化介面
進階深讀 EvoOntology:把 heterogeneous data 的 ontology 封裝成 MCP server,由 builder agent 建立 evidence-grounded 初始層,再用 attribution-guided typed edits 與 backbone-conditional paired gate 持續演化。
90 秒掌握這篇論文
- 問題
- data agent 面對 tables、files、databases 時,不只是不知道欄位名稱,也不知道一個 domain concept 對應哪個 field、哪個 join、哪個 filter、哪個數值限制。Raw querying 讓 agent 自己反覆探索;static semantic layer 又可能太大、太舊,且要靠人工維護。這個 agent–data gap 會直接轉成錯誤的 query、冗長的 trajectory 與無法解釋的答案。
- 核心洞見
- 不要把 ontology 當成一份永遠不變的 prompt 文件,而是當成由 Content、Schema、Tool 組成、可被 agent 查詢的 versioned MCP service。Builder agent 用 probe 把語義接到真實資料;evolution agent 從失敗 trajectory 找出缺口,提出單層、typed、evidence-grounded patch,再以同一 backbone 的 paired validation 決定是否接受。
- 最強證據
- Figure 2 描繪三層架構;Figure 4 顯示四個 backbone 在 accepted rounds 中逐步上升;Table 5–7 分別拆解 gate/attribution/diagnose、editable level 與 object family 的貢獻;Appendix B 的 Table 8 顯示 per-turn context 變大,但平均 turns/task 從 14.6 降到 8.4、total tokens/task 從 52.6K 降到 42.0K。
- 主要邊界
- headline gain 需要把四-backbone analysis subset、六-backbone main tables、不同 benchmark metric 與 round-wise evolution 分開閱讀。作者的 repository 有可檢查的 framework code 與 demo,但 raw benchmark data、prebuilt ontology、模型 weights 與完整 provider credentials 不是隨 repo 一起交付。
-
Corrupt Plans, Clean Traces:Plan Injection 為何能繞過 Chain-of-Thought Monitoring
進階深讀 Plan Injection:當 adversarial plan 被種進 context、actor 再把它改寫成看似自然的 Chain-of-Thought 時,monitor 看到的 clean trace 為何可能與真正的行為因果脫鉤,以及 APPS、BioMath 與 budget sweep 的證據邊界。
90 秒掌握這篇論文
- 問題
- CoT monitor 通常讀 actor 的 reasoning,判斷它是否在執行 harmful plan。若 harmful plan 先被放進 actor 的 context,actor 可能吸收它、改寫成一段看似自然的 reasoning,最後輸出有問題的 code 或答案;monitor 只看到後來的 trace,就可能看不到真正改變行為的來源。
- 核心洞見
- plan injection 把「行為的因果來源」與「monitor 可見的文字 trace」拆開。攻擊者不必要求 actor 原文照抄,也不必讓 CoT 出現明顯 malicious intent;只要 injected plan 能 steer actor,而 actor 產生的 reasoning 不明確歸因於該 plan,monitor 的觀測面就可能失真。
- 最強證據
- Figure 3 在 APPS 與 Bio-Math 顯示 injected plan 被採用的比例;Figures 4–5 將 actor-only 與 with-plan 的 monitor detection 並列;Table 8 的 end-to-end undetected attack success 在 APPS 為 33%–68%、Bio-Math 為 74%–82%;Figure 6 在 Qwen3-235B monitor 上顯示增加 budget 對 suspicion 不是單調改善。
- 主要邊界
- 這不是「所有 reasoning model 都能被同樣攻擊」的估計,也不是 CoT 本身必然不可信的形式證明。作者只測 Qwen3-8B、DeepSeek-R1-0528 兩個 actor、APPS/BioMath 兩種 scaling task,且只對一個 monitor 做 budget sweep;沒有 code、checkpoint 或完整可重跑的資料包。
-
DRACO:用 dynamic rubrics 把長程 Agent 的總分分回每一步
進階 Agent Runtime、安全與評測精讀 DRACO(arXiv:2609.04094):在沒有 ground-truth verifier 的長程工具任務中,動態產生每條 rollout 的 rubric,再把 trajectory-level advantage 依 judge 指出的步驟重新分配給 GRPO。
90 秒掌握這篇論文
- 問題
- 沒有 verifier 時,如何取得可用的 reward;取得後,又如何避免把整條長 trajectory 當成不可分割的單一動作?
- 核心洞見
- 為每個 task 與 sampled group 動態生成、合併、去重並篩選 rubric;judge 不只回傳 pass/fail,也要指出哪些 steps 支持這個 verdict,讓一個 trajectory-level advantage 可以 closed-form 地分回 steps。
- 最強證據
- Qwen3.6-27B 的 AppWorld test-normal TGC/SGC 從 base 的 69.4/41.1 到 DRACO 的 85.3/70.6;在相同 base 與 budget 的 outcome-reward reference 上,DRACO 高 5.3/11.3 個百分點(Table 2、Section 4.2)。零樣本 tau-bench Banking SR 也由 15.8 到 20.4。
- 主要邊界
- 這些是 benchmark 與 end-task evidence,不是 judge 正確性或 attribution 正確性的直接證明。作者明確承認沒有 human-rater calibration;同一個 judge 可能一致地錯,錯誤的 citation 也可能仍偶然帶來更好的 policy。
-
CONTINUITY:讓 Agent 的 provenance、授權與 tool effect 穿過組合邊界
進階 Agent Runtime、安全與評測精讀 Zheng 與 Yang 的 CONTINUITY(arXiv:2609.05269 v1):用 security-context contract、field-level provenance、transformation witness 與 effect-bound permit,檢查 LLM Agent 從 instruction 到 external effect 的端到端連續性。
90 秒掌握這篇論文
- 問題
- 一個 Agent 的安全路徑通常不只一個控制點。ingress 追 provenance、gateway 做 policy、adapter 改 protocol 表示法、tool server 產生 effect、final sink 再檢查 permit。每個點單獨看似合理,但 security-critical context 可能在邊界被截斷、放大、重新綁定,或以 stale/replayed credential 通過。
- 核心洞見
- 把每個 component 寫成 assume–guarantee contract,並讓每次 transition 都攜帶可驗證的 root、field provenance、release、role-bound receipt、transformation witness 與 current finality permit。安全性不是「最後一個簽章有效」,而是 effect 能否回溯到一條完整、授權、未過期且只使用一次的 witness chain(Section 1、5、6)。
- 最強證據
- 在作者的 deterministic conformance suite 中,4 個 domain、32 類 fault、每個 fault–domain 20 個 parameterized instances 形成 2,560 attack instances、128 fault–domain classes;完整 CONTINUITY 0/2,560 harmful effect、128/128 classes contained、700/700 benign completion、200/200 ambiguous escalation(Table 2、Figure 3)。
- 主要邊界
- 這些是由固定 fault schema 產生的 exact conformance counts,不是自然攻擊分布或 production attack rate。root、validator、context capture、finality sink 和 provider 的正確性被放在 TCB 或 deployment assumption 中;artifact 也沒有 production MCP、A2A、OWASP ACS、cloud IAM 整合(Section 3、8.1、12)。
-
Parsing the Stream:長程 Agent 不只需要記憶,還需要一個可審計的 live state
進階 Agent Runtime、安全與評測精讀 Pakhomov 與 Nijkamp 的 Parsing the Stream(arXiv:2609.01466):把 append-only trace fold 成 typed RunState,再編譯成 observer 與 worker 兩種 view;它在特定累積任務中改善長程表現與監控成本,但不證明固定 aggregate 能取代所有 trace memory。
90 秒掌握這篇論文
- 問題
- 長程 Agent 的 trace 會同時超過兩個消費者的能力。人類 observer 需要在執行中知道「現在做什麼、哪些事情已經確定、還缺什麼」;Agent worker 則必須把同一條不斷變長的 trace 放回有限的 context。只保留尾端會丟掉早期事實,直接把整條歷史塞回每一回合又會讓 token、成本與錯誤一起增長。
- 核心洞見
- 不要為 worker 與 observer 各自做一個彼此不一致的摘要器,而是把 trace 先寫成 append-only typed ledger,折疊成帶有來源與 coverage 的 RunState,再從這個 state 編譯出不同消費者需要的 view。
- 最強證據
- 在 12 份真實 transcript、每個 condition 70 個監控問題的 COMPREHEND 評估中,compiled view 的 Sonnet 5 accuracy 為 0.871、Haiku 4.5 為 0.850;raw tail 分別只有 0.479 與 0.476。CONTINUE 的 120-link clean protocol 則是 curated fold 30/30、scratchpad 30/30、full context 8/30(Table 1–2、Figure 2–3)。
- 主要邊界
- 這些結果是 schema coverage 與任務形狀的條件式證據。作者自己在 alternating-sign chain 上展示 fold 會失去優勢,也承認 benchmark–system co-evolution、單一 vendor、固定 schema、單 session,以及 prompt injection、secret redaction、多 Agent ledger 尚未被測試。
-
Indirect Prompt Injection:把網頁和工具回傳當指令通道,但不能把 2023 案例當成後來 Guard 產品的契約
中階 Agent Runtime、安全與評測精讀 Greshake et al. arXiv:2302.12173 v2:當 LLM 整合應用檢索網頁、郵件或工具輸出時,未受信資料進入 prompt 就等同進入指令通道;作者以 Bing Chat、GitHub Copilot 與 GPT-4 合成 app 示範 indirect prompt injection,並給出資安視角的威脅分類。這是 2023 控制面證據,不是 Llama-Guard、Constitutional AI、OWASP Top-10 或越獄 benchmark 的產品 SLA。
90 秒掌握這篇論文
- 問題
- LLM 整合應用會檢索網頁、讀郵件、呼叫 API;過去 prompt injection 多假設 使用者自己 在 chat 框輸入 adversarial prompt(direct PI/jailbreak)。若攻擊面改成 會被取回的資料,威脅模型就不同(Section 1、3)。
- 核心洞見
- Indirect Prompt Injection(IPI)——把指令藏進搜尋結果、HTML 註解、程式庫註解或郵件內文等可能被檢索的來源。應用把這些字串拼進 prompt 時,模型未必能可靠區分資料與指令;作者因此把處理這類 retrieved prompt 類比為執行不受信程式(Section 2、Key Message #1)。
- 最強證據
- Figure 2 的 injection method × threat × affected party 分類;Figure 3 的「plant → retrieve → compromise → API exfil」流程;Section 4 在 Bing Chat(GPT-4)、GitHub Copilot 與 GPT-4/text-davinci-003 合成 app 上的案例示範(information gathering、phishing、AI worm email、remote control、wrong summary 等)。作者 未 給出可比的 attack-success 率表。
- 主要邊界
- 這是 2023 年 2–5 月的 preprint/v2,Bing UI 與 filter 此後已多次改版。合成 app 使用 mock 介面與 temperature=0;作者也刻意未對公開索引頁進行實地污染(Section 5.1)。它不是 formal verifier 或完整 permission model,也不能代表 Llama-Guard F1 或 OWASP LLM Top-10 的產品防護能力。
-
ReAct:交錯思考與行動,但不能把 few-shot 迴圈當成 Agent runtime
中階 Agent Runtime、安全與評測精讀 Yao et al. ICLR 2023:把 language thought 加進 action space,在 HotpotQA、FEVER、ALFWorld 與 WebShop 上分開讀 hallucination、搜尋失敗與 abstract 的 +34%/+10%。
90 秒掌握這篇論文
- 問題
- LLM 的推理(Chain-of-Thought)與行動(WebGPT、SayCan)被當成兩條分開的線。CoT 不接觸環境;Act-only 能查外部,卻沒有高層計畫與例外處理。
- 核心洞見
- 把語言 thought 加進 action space。thought 不改環境、不產生環境 observation,只更新 context;再與環境動作交錯。決策點從「只想」或「只做」改成「同一條軌跡裡決定下一步是對自己說話,還是碰外部世界」。
- 最強證據
- ALFWorld best-of-6 ReAct 71% vs Act 45%、BUTLER best-of-8 37%;WebShop SR 40.0 vs IL+RL 28.7。HotpotQA 人工分析中,CoT 失敗案例有 56% 是幻覺,ReAct 為 0%(Table 2)。
- 主要邊界
- HotpotQA PaLM-540B 的純 ReAct EM 27.4,低於 CoT 29.4。35.1/64.6 是 ReAct↔CoT-SC 切換。few-shot prompt,Wikipedia API 只有 search/lookup/finish。這不是可部署 runtime。
-
Toolformer:自監督學會呼叫 API,但不能把 next-token 工具使用當成 Agent loop
中階 Agent Runtime、安全與評測精讀 Schick et al. NeurIPS 2023:用未來 token 損失當過濾器,讓 GPT-J 在 CCNet 上自監督學會呼叫 QA、Wikipedia、計算機、日曆與翻譯;LAMA 與數學明顯拉開,但這不是可串接的 Agent runtime。
90 秒掌握這篇論文
- 問題
- 語言模型在算術、事實查找、低資源語言與時間意識上明顯弱於更小的專用系統;當時的工具使用要嘛靠大量人工標註,要嘛綁在「已經知道該用哪個工具」的 task-specific few-shot。
- 核心洞見
- 把 API 呼叫插進 next-token 預測。少量人類示範只負責教格式;要不要留下這次呼叫,由「加上呼叫與結果後,未來 token 損失有沒有下降」決定。改動的控制點不是 thought–action 迴圈,而是何時把一次 API 呼叫寫進語言模型的訓練字串。
- 最強證據
- 同一套 GPT-J 6.7B、zero-shot。LAMA 的 SQuAD/Google-RE/T-REx 從 17.8/4.9/31.9 升到 33.8/11.5/53.5,並超過 OPT-66B 與 GPT-3-175B;數學 ASDiv/SVAMP/MAWPS 從 7.5/5.2/9.9 升到 40.4/29.4/44.0。QA 與計算機幾乎總是被選中(約 98.1%/97.9%)。
- 主要邊界
- 關掉 QA 工具後,Wikipedia 搜尋仍追不上 GPT-3。作者限制是不能串工具、不能互動翻搜尋結果、用詞敏感、評測最多一次 API 呼叫、計算機樣本極少、不計工具成本。這不是 production agent runtime。
-
SWE-bench:用真實 GitHub issue 評測,但不能把 1.96% 讀成模型能力的終點
中階 Agent Runtime、安全與評測精讀 Jimenez et al. ICLR 2024 Oral:把評測單位改成真實 GitHub issue、完整 Python 倉庫與測試。Claude 2 在 BM25 下只解 1.96%;這個分數是協議,不是模型排行榜。
90 秒掌握這篇論文
- 問題
- HumanEval 這類 coding benchmark 把成功壓成「寫一個自包含函式」。真實軟體工程是:讀一份 GitHub issue、在數千檔的倉庫裡改程式,再用測試判定有沒有修好。既有分數測不到這件事。
- 核心洞見
- 把評測單位改成「真實 issue + 完整 Python 倉庫 + 測試」。模型產出 patch;unix patch 套用後,fail-to-pass 與 pass-to-pass 測試必須全部通過才算 resolve。改動的控制點不是新的 agent 架構,而是什麼算成功。
- 最強證據
- BM25 檢索、13k context 下,Claude 2 resolve 1.96%(abstract、Section 1、Table 2)。同一協議的 Table 5 列 Claude 2 為 1.97%,並另外列入 Claude 3 Opus 3.79%。Oracle 檢索時 Claude 2 升到 4.80%(Table 18)。SWE-Llama 在 BM25 只有 0.70%,仍多半只解最簡單的題。
- 主要邊界
- Python、issue-fix、binary 測試。Resolve 不測可維護性、未覆蓋行為或 review。BM25 與 oracle 是不同檢索條件。後續 SWE-bench Verified、SWE-agent 與 ProMax 採用不同設定,其分數不屬於本文表格。
-
Reflexion:用語言反映寫進記憶,但不能把多次重試當成參數學習
中階 Agent Runtime、安全與評測精讀 Shinn et al. NeurIPS 2023:凍結權重、把語言反映寫進 episodic memory,跨 trial 做口語式 credit assignment。HumanEval pass@1 91.0 對 GPT-4 80.1 是程式設定下的數字;WebShop 與 MBPP 顯示邊界。
90 秒掌握這篇論文
- 問題
- 語言 agent 已經能跟環境互動,但要從試錯裡學,傳統 RL 需要大量樣本與權重更新;只靠 in-context few-shot 又幾乎沒有「跨 episode 的可解釋經驗」。
- 核心洞見
- 不更新權重。把二值或純量回饋放大成語言反映,寫進 episodic memory buffer,再條件化下一次 trial。改動的控制點是跨 trial 的口語式 credit assignment,不是參數梯度。
- 最強證據
- HumanEval (PY) Reflexion pass@1 91.0 vs GPT-4 單次生成 80.1(Table 1);ALFWorld heuristic 設定解出 130/134(Section 4.1);HotPotQA 報告相對強基線約 +20%(Section 4 開頭)。Rust 消融:完整 Reflexion 0.68,缺反映或只反映不測都會掉到 0.60/0.52(Table 3)。
- 主要邊界
- 需要可用的評測訊號;反映可以寫錯;多次 trial 有算力成本;記憶是滑動窗口(通常 1–3 條),不是企業級治理。WebShop 幾乎不提升(Figure 6);MBPP (PY) 甚至掉到 77.1。這不是權重學習,也不是可部署 runtime。
-
MemGPT:把 context 當記憶體分頁,但不能把 OS 比喻當成企業記憶層
中階 Agent Runtime、安全與評測精讀 Packer et al. arXiv:2310.08560 v2:把有限 context 當 RAM,用 OS 式階層與函式分頁管理外部記憶。DMR 上 GPT-4 從 32.1% 到 92.5%;Nested KV 顯示多跳查詢,但不等於治理型記憶庫。
90 秒掌握這篇論文
- 問題
- 固定長度 context window 讓長對話與長文件分析很快撞牆;直接把 transformer context 拉長成本二次成長,而且長視窗仍可能用不好中間段資訊。
- 核心洞見
- 不要先追求「更大的 RAM」。把 LLM 的 prompt tokens 當成主記憶體(main context),把對話歷史與文件庫放在外部記憶(external context),再用函式呼叫決定寫出、取回、驅逐——像 OS 的虛擬記憶體分頁。
- 最強證據
- Deep Memory Retrieval(Table 2)上,GPT-4 固定視窗正確率 32.1%、+MemGPT 92.5%;GPT-4 Turbo 35.3% → 93.4%。Nested KV(Figure 7)上,固定視窗模型在更深巢狀層級崩到 0%,MemGPT+GPT-4 能持續多跳查詢。
- 主要邊界
- 系統依賴模型的工具/函式呼叫保真度;分頁策略本身是 agent 決策,可能寫錯或丟掉關鍵事實;實驗是對話一致性與合成/抽樣文件任務,不是帶 ACL、稽核、rollback 的企業記憶層。後續 Letta 產品化也不等於這篇論文的實驗工件。
-
CoT:讓模型把推理寫出來,但不要當成會動的 Agent
中階 Agent Runtime、安全與評測精讀 Wei et al. NeurIPS 2022:few-shot 示範中間推理步驟,能在夠大的凍結模型上引出多步推理。GSM8K 上 PaLM 540B 從 17.9 到 56.9;這仍是 prompt,不是工具、環境或記憶分頁。
90 秒掌握這篇論文
- 問題
- 標準 few-shot prompting 只給 $\langle$題目, 答案$\rangle$,多步算術、常識與符號推理表現差;只把模型放大也填不平這條曲線。
- 核心洞見
- 把 exemplar 改成 $\langle$題目, 中間推理, 答案$\rangle$。決策點從「直接答」改成「先把推理寫出來再答」。模型權重凍結;這仍是 prompt,不是 agent。
- 最強證據
- PaLM 540B 在 GSM8K 上 17.9 → 56.9,對當時 Cobbe et al. finetuned GPT-3 + verifier 的 55(Table 1、Figure 2)。Figure 4/Table 2 顯示增益大約在 100B 才出現。
- 主要邊界
- 沒有環境、沒有工具、沒有記憶分頁。小模型常更差;鏈可以不通、也可以碰巧答對。Self-consistency(Wang et al., 2022a)是後來的論文,本文主結果用 greedy decoding。
-
WebGPT:讓模型用瀏覽器找答案,但不要當成會推理的 Agent 迴圈
中階 Agent Runtime、安全與評測精讀 Nakano et al. arXiv:2112.09332 v3:給 GPT-3 一個文字瀏覽器,用人類示範與偏好/reward model 訓練它搜尋、引用再回答。175B best-of-64 對示範者 56%、對 Reddit 69%;這是瀏覽式 QA,不是 ReAct 的 thought–action–observation。
90 秒掌握這篇論文
- 問題
- 長文問答落後人類;檢索與綜合被拆開做。沒有引用時,人類很難核對段落級事實。
- 核心洞見
- 把搜尋引擎外包給 Bing,把綜合交給微調後的 GPT-3,中間接一個文字瀏覽器。模型只能發 Table 1 的指令(search、click、quote、scroll、end),瀏覽中收集引用,再寫答案。訓練是人類示範的行為複製,加上人類偏好的 reward model,再用 rejection sampling 選答案。
- 最強證據
- 175B best-of-64 對示範者整體偏好 56%,對 ELI5 最高票答案 69%(Section 4.1、Figure 2)。best-of-64 對純 BC 偏好 68%;RL 對 BC 58%,但與 rejection sampling 疊加幾乎沒有好處(Section 5.1、Figure 4、Figure 5)。
- 主要邊界
- 沒有獨立 thought 動作。文字瀏覽器是受限 action space,不是通用工具迴圈。答案仍可能改寫錯或挑對 labeler 有說服力的引用。這是 2021 的 OpenAI 技術報告/arXiv preprint,不是後來的產品瀏覽功能。
-
Gorilla:把大規模 API 目錄變成可檢索的工具,但 APIBench 不代表 MCP 產品能力
中階 Agent Runtime、安全與評測精讀 Patil et al. NeurIPS 2024:在 APIBench(TorchHub/TensorHub/HuggingFace)上以 retriever-aware 微調 LLaMA-7B,讓目錄級 API 呼叫可檢索、可核對;zero-shot 整體準確率與幻覺率勝過當下的 GPT-4 提示,但這不是 ReAct 迴圈、不是 MidTool mid-training,也不是 RAG-MCP 產品路由。
90 秒掌握這篇論文
- 問題
- LLM 寫 API 呼叫時容易幻覺名稱、參數與用法;真實世界不是五個固定工具,而是會頻繁更新的巨大 API 目錄。
- 核心洞見
- 把工具使用做成 檢索+呼叫:用 self-instruct 在 APIBench 上生成指令—API 對,再以 retriever-aware 方式微調 LLaMA-7B(RAT),讓模型學會讀取「Use this API documentation for reference: …」後面的文件並發出正確呼叫。
- 最強證據
- NeurIPS Table 1。Gorilla zero-shot 在 TorchHub/HuggingFace/TensorFlow Hub 的 overall 為 59.13%/71.68%/83.79%,hallu 為 6.98%/10.95%/5.40%;同表 GPT-4 zero-shot 為 38.70%/19.80%/18.20% overall,hallu 36.55%/37.16%/78.65%。Figure 6 顯示測時改文件時,RAT 模型會跟著改呼叫。
- 主要邊界
- 語料是 ML hub 的 model-card/API JSON,不是任意 REST 產品目錄;評測是單次 AST 子樹匹配,不是多步 agent loop;差的檢索器會拖垮表現(Table 2)。不要把 APIBench 數字寫進 MidTool 或 RAG-MCP。
-
MidTool:把工具使用提前放進 mid-training,Agent 真的會更可靠嗎?
進階 Agent Runtime、安全與評測深讀 MidTool:用 20.3B-token、11.22M-sample 的工具使用語料,把 schema grounding、工作流組合與不完整資訊下的恢復能力提前教給模型;但 web-search 仍是 0%。
90 秒掌握這篇論文
- 問題
- 工具使用不只是把函式名稱與 JSON argument 填對。Agent 還要從文件、schema、程式碼與不完整對話中辨認工具 affordance,決定何時呼叫、如何串接多個工具,以及缺資料時如何追問或恢復。MidTool 問的是:這些能力能不能在 post-training 之前,就透過專門的 mid-training 建立較強的先驗?
- 資料設計
- 論文提出 MidTool pipeline,收集 web、PDF、code 與結構化工具 artifact,最後組成 20.3B tokens、11.22M samples 的 MidTool-Mix。它用 context-grounded trajectory augmentation 教 grounding,再用 native agentic trajectory synthesis 教 execution。
- 主要結果
- 在 Qwen3-4B-Base、固定 100K TOUCAN SFT 的比較中,加入 MidTool-Mix 後 BFCLv3 overall 為 50.25%(無 mid-training 為 39.73%)、\\tau^{2}-Bench Pass@4 為 28.06%(20.50%)、MCP-Universe pass 為 5.03%(1.68%)。Qwen3-8B 也有同方向結果。
- 關鍵邊界
- MCP-Universe 的 web-search 子集仍是 0.00%。Browser automation、financial、location 有改善,不代表模型已經具備 deep-search 式的證據蒐集、反覆精煉與長程控制能力。
-
SWE-Bench ProMax:大型多語言重構,真的能測出 coding agent 的長程協作嗎?
進階 Agent Runtime、安全與評測深讀 SWE-Bench ProMax:以 170 個跨檔案、多語言、行為保持的程式重構任務,檢驗 coding agent 是否能完成大型變更,而不只修好一個測試。
90 秒掌握這篇論文
- 問題
- 既有 coding-agent benchmark 多半以 Python、單一 issue 或 bug fix 為中心;agent 可能修好可見測試,卻漏掉跨檔案的呼叫點、設定、文件與測試。這無法回答「它能否完成大型、行為保持的重構」這個更接近真實維護工作的問題。
- 核心設計
- 從 GitHub 的 refactoring commits 挖掘候選,經 Docker 環境驗證、專家與 LLM 輔助標註、人工複核,最後保留 170 個任務,涵蓋 Python、Java、TypeScript、Go、C、C++、Rust 七種語言。
- 最強結果
- 在論文固定的 mini-SWE-agent 與 OpenHands scaffold、每題最多 300 steps/$10 的設定下,OpenHands + GPT-5.2 的 resolve rate 為 41.2%,但同一模型在 mini-SWE-agent 只有 21.8%。這首先是 scaffold 與 agent loop 的結果,不是單純的模型排行榜。
- 主要邊界
- resolve 是「所有測試通過」的 binary outcome,不評估 patch 的可維護性、未被測試的行為、review 品質或 action trace。TypeScript 任務集中在兩個 repository、其中 Angular 有 25 題;跨語言比較不能當作獨立且均衡的語言難度實驗。
-
Argus 論文精讀:長期 Agent 需要的是 Runtime,不是更長的 Prompt
進階 Agent Runtime、安全與評測拆解 Argus 的 Manager–Planner–Engineer–Reviewer runtime、持久狀態、驗證式演化與 rollback,並區分 benchmark 結果、作者自營案例與尚未證明的自我學習主張。
90 秒掌握這篇論文
- 問題
- 長時程 agent 失敗時,單一長 prompt 沒有清楚的任務 authority、可稽核狀態、驗證關卡或可回復邊界。
- 核心想法
- Argus 以 Manager、Planner、Engineer、Reviewer 在 durable project state 上循環;只有經 role-owned review 的 memory、skill、routing 與 procedure 才能成為下一輪狀態。
- 最強證據
- 報告在七個 task-native arena 中展示廣度,並在 SWE-Bench Pro 報告 GPT-5.5 條件下 Argus 78% 對 Direct Copilot 59%、約 1.41 倍 aggregate tokens(Figure 1、Section 5)。
- 邊界
- 這是 arXiv v1 technical report;實作、prompt、trace、checkpoint 與完整 benchmark package 尚未公開,不能把結果當成可重現的 runtime 採用證明。
-
RAG-MCP:用檢索縮小工具發現,但不能忽略路由失敗
中階 理解檢索、記憶與 Production RAG以論文證據檢視 RAG-MCP 的工具路由流程、11,100 候選壓力測試、MCPBench 結果、規模退化與未釋出 artifact。
90 秒掌握這篇論文
- 問題
- 把大量 MCP tool schema 全塞進 prompt,會增加 token、distractor 與錯誤選 tool 的機會。
- 核心想法
- 先將 MCP metadata 建索引,query 時 retrieve top-k candidate schema,再讓 executor 在小候選集內 validate 與 invoke;retrieval 是 candidate generation,不是授權決策。
- 最強證據
- MCPBench web-search 設定中,論文報告 RAG-MCP 的 ground-truth MCP top-1 accuracy 43.13%,對 keyword pre-filter 18.20%、all-schema prompting 13.62%(Section 4.2、Table 1)。
- 邊界
- v1 的 retriever metadata、embedding/version、schema drift、permission、p95 latency 與真實 invocation success 未完整公開;top-1 route 不是 task success。
歡迎演講、企業內部技術分享與架構交流;可以先查看我適合分享的主題與公開工程成果。
演講與聯絡