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 開發實驗嘅更新。