48 lines
4.6 KiB
Markdown
48 lines
4.6 KiB
Markdown
# Różnice: Tryb Czat (Chat Mode) vs. Tryb Agent (Agent Mode) w Gemini
|
|
|
|
W rozszerzeniu Gemini dla Visual Studio Code istnieją dwa fundamentalnie różne sposoby interakcji z modelem językowym. Zrozumienie różnicy między nimi jest kluczowe, aby w pełni wykorzystać potencjał tego narzędzia.
|
|
|
|
## Podsumowanie w Tabeli
|
|
|
|
| Cecha / Zdolność | Tryb Czat (Chat Mode) | Tryb Agent (Agent Mode) |
|
|
| ----------------------------- | ------------------------------------------------------ | -------------------------------------------------------------------------- |
|
|
| **Główny Cel** | Konwersacja, generowanie kodu, odpowiadanie na pytania | Wykonywanie zadań, modyfikacja projektu, automatyzacja |
|
|
| **Interakcja z Plikami** | ❌ Nie (może tylko czytać otwarte pliki w kontekście) | ✅ Tak (może czytać, pisać i modyfikować pliki w całym projekcie) |
|
|
| **Wykonywanie Komend** | ❌ Nie | ✅ Tak (może uruchamiać komendy w terminalu, np. testy, buildy, instalacje) |
|
|
| **Świadomość Projektu** | Ograniczona (kontekst rozmowy i otwarty plik) | Pełna (może przeszukiwać całą strukturę plików i katalogów) |
|
|
| **Sposób Działania** | Odpowiada na Twoje polecenia w formie tekstu | Tworzy plan działania i wykonuje go krok po kroku, używając narzędzi |
|
|
| **Typowe Zastosowania** | "Jak napisać funkcję X?", "Wyjaśnij ten fragment kodu" | "Zrefaktoryzuj tę klasę", "Dodaj testy dla tej funkcji", "Zainstaluj nową bibliotekę" |
|
|
|
|
---
|
|
|
|
## Czym jest Tryb Czat (Chat Mode)?
|
|
|
|
Tryb czatu to klasyczna konwersacja z AI, jaką znasz z innych narzędzi. Działa na zasadzie pytanie-odpowiedź.
|
|
|
|
- **Działa jak rozmówca:** Zadajesz pytania, prosisz o wyjaśnienia lub o wygenerowanie fragmentów kodu, a Gemini odpowiada w formie tekstu w oknie czatu.
|
|
- **Brak dostępu do środowiska:** Model nie ma bezpośredniego dostępu do Twojego systemu plików ani terminala. Nie może samodzielnie zapisać pliku, uruchomić testów ani zainstalować zależności. Jego wiedza o projekcie jest ograniczona do kodu, który mu wkleisz, lub do aktualnie otwartego pliku, który jest częścią kontekstu.
|
|
- **Idealny do:** Szybkiego prototypowania, generowania kodu "boilerplate", nauki i zrozumienia koncepcji programistycznych, burzy mózgów.
|
|
|
|
> **Przykład:** Prosisz: "Napisz funkcję w Pythonie, która sortuje listę liczb". Gemini odpowiada gotowym fragmentem kodu, który możesz skopiować i wkleić.
|
|
|
|
## Czym jest Tryb Agent (Agent Mode)?
|
|
|
|
Tryb agenta to zaawansowana forma współpracy, w której **przekazujesz modelowi cel, a on sam podejmuje działania, aby go zrealizować**. To jest tryb, w którym obecnie pracujemy.
|
|
|
|
- **Działa jak autonomiczny asystent:** Zamiast tylko odpowiadać tekstem, agent ma dostęp do zestawu **narzędzi** (`tools`). Może na przykład:
|
|
- Czytać i pisać pliki (`read_file`, `write_file`).
|
|
- Modyfikować istniejący kod (`replace`).
|
|
- Przeszukiwać projekt (`search_file_content`, `glob`).
|
|
- Uruchamiać komendy w terminalu (`run_shell_command`).
|
|
- **Pełna świadomość projektu:** Agent może samodzielnie przeglądać strukturę katalogów, analizować zależności między plikami i wprowadzać zmiany w całym projekcie.
|
|
- **Planowanie i wykonywanie:** Kiedy dajesz mu zadanie (np. "dodaj nową funkcjonalność"), agent najpierw tworzy plan (np. "1. Utworzyć plik X, 2. Dodać kod Y, 3. Zaktualizować plik Z, 4. Uruchomić testy"), a następnie wykonuje go krok po kroku, informując Cię o postępach.
|
|
- **Bezpieczeństwo:** Każda potencjalnie niebezpieczna akcja (jak modyfikacja pliku czy uruchomienie komendy) wymaga Twojego zatwierdzenia.
|
|
- **Idealny do:** Refaktoryzacji kodu, implementacji nowych funkcji, pisania i uruchamiania testów, automatyzacji powtarzalnych zadań, konfigurowania środowiska.
|
|
|
|
> **Przykład:** Prosisz: "Dodaj nową regułę do mojego pliku konfiguracyjnego lintera". Agent samodzielnie znajduje plik konfiguracyjny, odczytuje go, dodaje nową regułę we właściwym formacie i zapisuje zmiany.
|
|
|
|
## Kiedy którego używać?
|
|
|
|
- Użyj **Trybu Czat**, gdy potrzebujesz szybkiej odpowiedzi, fragmentu kodu lub wyjaśnienia. Traktuj go jak wszechwiedzącego partnera do rozmowy.
|
|
- Użyj **Trybu Agent**, gdy masz do wykonania zadanie, które wymaga interakcji z projektem. Traktuj go jak młodszego programistę, któremu zlecasz zadania do wykonania.
|