核心概念
處理大型專案
在 Bob IDE 中管理大型程式碼庫。了解上下文視窗優化、檔案處理和企業級專案的最佳實踐。
了解大型專案中的上下文限制
Bob 使用具有有限上下文視窗的大型語言模型。這是 Bob 一次可以處理的最大文字量(以 tokens 衡量)。如果上下文太大,Bob 可能無法理解您的請求或生成準確的回應。
上下文視窗包括:
- 系統提示(Bob 的指示)
- 對話歷史記錄
- 您使用
@提及的任何檔案的內容 - 使用 Cmd + L(Mac)或 Ctrl + L(Windows/Linux)傳送到聊天的選取文字
- Bob 使用的任何命令或工具的輸出
管理上下文的策略
- 具體明確:引用檔案或程式碼時,使用特定的檔案路徑和函式名稱。避免模糊的引用,如「主檔案」。
- 有效使用上下文提及:使用
@/path/to/file.ts包含特定檔案。使用@problems包含目前的錯誤和警告。使用@後跟提交雜湊來引用特定的 Git 提交。您也可以在編輯器中反白文字,並使用 Cmd + L(Mac)或 Ctrl + L(Windows/Linux)將其直接傳送到聊天。 - 分解任務:將大型任務分解為較小、更易於管理的子任務。這有助於保持上下文的專注。
- 必要時進行總結:如果您需要引用大量程式碼,請考慮在提示中總結相關部分,而不是包含整個程式碼。
- 優先考慮最近的歷史記錄:Bob 會自動壓縮對話歷史記錄中較舊的訊息以保持在上下文視窗內。請注意這一點,並在需要時重新包含重要的上下文。
- 設定大型檔案處理:調整大型檔案處理設定以控制 Bob 如何處理超過特定大小閾值的檔案。這有助於在處理大型檔案時管理上下文使用。
- 管理 MCP 工具使用:您可以在 MCP 服務中停用和啟用特定工具,以便只使用您需要的工具,從而減少未使用工具定義的上下文消耗。
- 對獨立工作使用 subagent 或 subtask:對於大型、獨立的工作,請考慮使用 subagent 或 subtask。兩者都在自己獨立的上下文視窗中執行,保持主對話簡潔。有關
spawn_subagent和start_subtask的詳細資訊,請參閱 Tools。 - 使用符號工具而非完整檔案提及:與其使用
@提及整個檔案,Bob 可以使用GetSymbolsOverview和FindSymbol等工具直接導航到相關的類別或函式。這只檢索所需內容,避免將完整檔案載入上下文中。
範例:重構大型檔案
如果您需要重構大型 TypeScript 檔案(src/components/MyComponent.tsx),以下是一種有效的方法:
- 獲取初始概覽:
@/src/components/MyComponent.tsx 列出此檔案中的函式和類別。 - 定位特定函式:
@/src/components/MyComponent.tsx 將 `processData` 函式重構為使用 `async/await` 而不是 Promises。 - 進行迭代變更:進行小型、增量變更,審查和批准每個步驟。
透過分解任務並提供特定的上下文,您可以在上下文視窗限制內有效地處理大型檔案。
這個主題如何?