用 fork 代理處理查詢,主對話的 context 才能真正輕下來

fork 代理執行查詢 skill,讓主對話的 context 預算回歸推理本身——這是一個被低估的 context 優化思路。

用 fork 代理處理查詢,主對話的 context 才能真正輕下來

問題的本質

LLM 應用裡,context 成本是實打實的約束。每多一個 turn,token 消耗就多一份。但更隱形的成本是:主對話的 context 被查詢邏輯污染了。

常見做法是在主對話裡嵌入查詢 skill——搜索資料庫、呼叫 API、整理結果。看起來流暢,實際上每次查詢都在擠佔主對話的推理空間。到了後期 turn,模型要同時處理對話歷史、查詢結果、業務邏輯,context window 就開始吃緊。

fork 代理的邏輯

王拐子提出的做法很直接:查詢型 skill 不在主對話裡執行,而是 fork 出一個獨立的代理去跑。

這意味著:

  • 主對話保持純淨,只關注推理和決策
  • 查詢代理有自己的 context 預算,互不干擾
  • 查詢結果以結構化形式回傳給主對話,而不是原始的 LLM 生成文本

具體場景是這樣:用戶問「我上個月的訂單狀態」。主對話識別出這是查詢 skill,fork 一個專用代理去資料庫查詢、格式化結果。主對話只需要消化這個結構化的結果,然後生成回答。

為什麼這個方向對

我一開始的反應是:這不就是 tool use 嗎?區別在於粒度和隔離。

傳統 tool use 是同步的——主對話暫停,等工具回傳,再繼續。fork 代理是非同步的獨立執行,主對話和查詢可以各自優化。更重要的是,查詢代理可以用更輕量的模型,甚至根本不用模型——直接 SQL 查詢就行。

這樣做的好處不只是成本。查詢邏輯從主對話分離出來,意味著你可以單獨測試、單獨優化、單獨版本控制。主對話的 prompt 也變得更簡潔,推理品質反而會提升。

實踐上的考量

fork 代理聽起來簡單,實際執行要想清楚幾個點:

  • 何時 fork——需要一個清晰的觸發規則。不能每個 turn 都 fork,也不能誤判。
  • 結果格式——查詢結果怎麼結構化、怎麼傳回主對話,這決定了主對話能不能有效利用。
  • 失敗處理——查詢代理超時、查無結果、格式錯誤,主對話要怎麼應對。

我沒看到王拐子給出完整的實現細節,所以這個方向的成熟度還要驗證。但思路本身是對的——context 成本的優化,不在於壓縮單個 turn,而在於重新設計執行流程。

另一個角度

這個做法也反映了一個更大的轉變:從「讓 LLM 做所有事」回到「讓 LLM 只做它擅長的事」。查詢資料庫,LLM 其實不擅長。讓專用代理去做,LLM 專注推理,各司其職。

這不是技術退步,反而是架構成熟的信號。


我是江中喬,一位具有 TPM 與產品管理背景的 AI 系統建構者,目前專注於 AI 認知增強系統與多 Agent 協作架構的設計與實踐。

原始來源:https://www.threads.com/@andrew54068/post/DVqygocmmxV