Podstawowe koncepcje

Praca z dużymi projektami

Zarządzaj dużymi bazami kodu w Bob IDE. Zrozum optymalizację okna kontekstu, obsługę plików i najlepsze praktyki dla projektów na skalę przedsiębiorstwa.

Zrozumienie limitów kontekstu w dużych projektach

Bob używa dużych modeli językowych, które mają ograniczone okno kontekstu. To jest maksymalna ilość tekstu (mierzona w tokenach), którą Bob może przetworzyć na raz. Jeśli kontekst jest zbyt duży, Bob może nie być w stanie zrozumieć twojego żądania lub wygenerować dokładnych odpowiedzi.

Okno kontekstu obejmuje:

  • Prompt systemowy (instrukcje dla Boba)
  • Historię konwersacji
  • Zawartość wszystkich plików, które wspominasz używając @
  • Zaznaczony tekst wysłany do czatu za pomocą Cmd + L (Mac) lub Ctrl + L (Windows/Linux)
  • Wyniki wszystkich poleceń lub narzędzi, których używa Bob

Strategie zarządzania kontekstem

  1. Bądź konkretny: Gdy odwołujesz się do plików lub kodu, używaj konkretnych ścieżek plików i nazw funkcji. Unikaj niejasnych odniesień jak "główny plik".
  2. Używaj wzmianek kontekstu efektywnie: Użyj @/path/to/file.ts, aby uwzględnić konkretne pliki. Użyj @problems, aby uwzględnić bieżące błędy i ostrzeżenia. Użyj @ po którym następuje hash commita, aby odwołać się do konkretnych commitów Git. Możesz również zaznaczyć tekst w edytorze i użyć Cmd + L (Mac) lub Ctrl + L (Windows/Linux), aby wysłać go bezpośrednio do czatu.
  3. Podziel zadania: Podziel duże zadania na mniejsze, bardziej zarządzalne podzadania. To pomaga utrzymać kontekst skoncentrowany.
  4. Podsumowuj, gdy to konieczne: Jeśli musisz odwołać się do dużej ilości kodu, rozważ podsumowanie istotnych części w swoim prompcie zamiast uwzględniania całego kodu.
  5. Priorytetyzuj najnowszą historię: Bob automatycznie kondensuje starsze wiadomości w historii konwersacji, aby pozostać w ramach okna kontekstu. Bądź świadomy tego i ponownie uwzględnij ważny kontekst, jeśli to konieczne.
  6. Skonfiguruj obsługę dużych plików: Dostosuj ustawienie obsługi dużych plików, aby kontrolować, jak Bob przetwarza pliki przekraczające określony próg rozmiaru. To pomaga zarządzać użyciem kontekstu podczas pracy z dużymi plikami.
  7. Zarządzaj użyciem narzędzi MCP: Możesz wyłączać i włączać określone narzędzia w usłudze MCP, aby używać tylko tego, czego potrzebujesz, zmniejszając zużycie kontekstu przez nieużywane definicje narzędzi.
  8. Używaj subagentów lub subtasków do izolowanej pracy: W przypadku dużych, samodzielnych części pracy rozważ użycie subagenta lub subtaska. Oba działają we własnym oddzielnym oknie kontekstu, utrzymując główną konwersację lekką. Zobacz Tools, aby uzyskać szczegóły dotyczące spawn_subagent i start_subtask.
  9. Używaj narzędzi symboli zamiast pełnych wzmianek plików: Zamiast wspominać cały plik za pomocą @, Bob może używać narzędzi takich jak GetSymbolsOverview i FindSymbol, aby nawigować bezpośrednio do odpowiedniej klasy lub funkcji. To pobiera tylko to, co jest potrzebne i unika ładowania pełnego pliku do kontekstu.

Przykład: Refaktoryzacja dużego pliku

Jeśli musisz zrefaktoryzować duży plik TypeScript (src/components/MyComponent.tsx), oto efektywne podejście:

  1. Uzyskaj wstępny przegląd:
    @/src/components/MyComponent.tsx Wyświetl funkcje i klasy w tym pliku.
  2. Celuj w konkretne funkcje:
    @/src/components/MyComponent.tsx Refaktoryzuj funkcję `processData`, aby używała `async/await` zamiast Promises.
  3. Wprowadzaj iteracyjne zmiany: Wprowadzaj małe, przyrostowe zmiany, przeglądając i zatwierdzając każdy krok.

Dzieląc zadanie i dostarczając konkretny kontekst, możesz efektywnie pracować z dużymi plikami w ramach limitów okna kontekstu.

Jak oceniasz ten temat?