目錄
1 分鐘閱讀

Context7:用Skill同子代理,唔好淨係靠MCP

透過MCP接駁Context7會將文檔灌入主上下文。Skill同子代理隔離查詢,令長時間編程session保持穩定。

好多開發者透過MCP接駁Context7嚟查閱最新嘅library文檔。的確work - 你可以喺coding session入面直接攞到最新文檔。但係有代價:每一份你拉過嚟嘅文檔都會直接塞入主上下文窗口。查幾個library,上下文好快就爆。長時間coding session入面,呢個意味住效能下降,session中間講過嘅細節開始畀模型遺忘。

我一直喺度諗點樣用Claude Code嘅Skill同子代理嚟解決呢個問題,實際用落嚟差別真係好大。

直接用MCP接駁嘅局限

當你透過MCP直接call Context7,完整嘅文檔內容會成條stream入你嘅主上下文。如果只係快速查一樣嘢,完全冇問題。但實際工作嗰陣,你好少只查一樣嘢。

查個React hook嘅文檔。再查個Tailwind utility class。再查個Astro API。每一個回應疊喺上一個之上。上下文窗口越嚟越滿,模型開始記唔住之前嘅對話 - 你嘅實際程式碼、你嘅需求、三幾個回合之前你做嘅架構決定。

正如Manus團隊喺佢哋嘅架構筆記入面強調,一個巨型上下文唔係答案。核心洞見係:唔係所有嘢都要放喺同一個上下文窗口入面。

Skill同子代理:隔離嘅上下文查詢

Context7 plugin提供兩種機制,令文檔查閱唔會污染你嘅主上下文。

  • Skill:當你問關於某個library或API嘅問題,Context7會自動觸發。佢攞最新文檔然後回應,唔使你做任何特別嘅提示。查詢喺背後完成。
  • docs-researcher agent:呢個係架構上最關鍵嘅部分。文檔查詢喺隔離嘅上下文入面運行 - 一個獨立嘅子代理負責查閱、擷取相關內容,淨係將答案交返嚟。你嘅主上下文永遠唔會見到原始文檔。

當你想明確查詢文檔嗰陣,可以用以下指令:

/context7:docs <library> [query]

噉樣你有直接嘅控制權,同時又將繁重嘅工作隔離喺主上下文窗口之外。

安裝方法

喺Claude Code入面安裝Context7 plugin:

/plugin marketplace add upstash/context7
/plugin install context7-plugin@context7-marketplace

設計上嘅分別

用同一個Context7後端,兩種做法喺實際使用中產生截然不同嘅效果。

直接MCP:每次查文檔都會加入你嘅主上下文。查三次,已經食咗上下文窗口好大一嚿。Session去到中段,模型對你實際項目狀態嘅記憶已經開始衰退。

Skill + 子代理:文檔查閱喺隔離嘅上下文入面進行。只有擷取出嚟嘅答案 - 具體嘅函數簽名、設定選項、使用範例 - 先會流返入你嘅主上下文。原始文檔永遠唔會掂到佢。

呢個模式一次過解決咗兩個問題。佢透過拉取即時文檔嚟解決知識截止日期嘅問題,同時又唔會搞亂長時間嘅coding session。你攞到最新資訊,而唔使付上下文嘅代價。

更廣嘅原則唔止適用於Context7:任何時候你將大量外部內容拉入AI session,都要諗吓佢係咪真係要放喺主上下文入面,定係可以喺隔離環境處理完再總結返嚟。呢一個架構決定 - 隔離同總結 - 就係分開一個可以幾個鐘頭都保持清醒嘅session,同一個做做吓就開始唔記得你喺整乜嘅session嘅關鍵。

訂閱通訊

獲取關於我最新項目、文章同埋 AI 和 Web 開發實驗嘅更新。