OpenCode, nowy natywny dla terminala asystent programowania AI od zespołu SST, pozwala programistom korzystać z ulubionych edytorów, jednocześnie wykorzystując dowolny duży model językowy (LLM) do generowania kodu, refaktoryzacji i zarządzania zależnościami. Podczas dwutygodniowych testów na bazach kodu TypeScript i Python, narzędzie przeprowadziło zmianę nazwy hooka React we wszystkich komponentach, wygenerowało działające pliki pytest i zaktualizowało pakiety npm bez konieczności ręcznych edycji, oszczędzając zespołowi około godziny pracy w sprincie.

Dlaczego AI zorientowane na terminal ma znaczenie

Programiści, którzy większość dnia spędzają w powłoce (shell), często niechętnie podchodzą do rozszerzeń AI skoncentrowanych na IDE, które wymagają zmiany kontekstu. OpenCode działa jako prosty proces wiersza poleceń wewnątrz folderu projektu, czyta i zapisuje pliki, wykonuje polecenia powłoki i przekazuje wyniki testów — a wszystko to bez opuszczania terminala. Taki projekt celuje w rosnącą niszę inżynierów stawiających na terminal, którzy cenią szybkość, powtarzalność i możliwość skryptowania działań AI obok swoich standardowych narzędzi budowania.

Mechanika stojąca za tą magią

  1. Wprowadzanie celu – użytkownik wpisuje prośbę w języku naturalnym, np. „zmień nazwę hooka useData we wszystkich komponentach”.
  2. Faza planowania – agent przygotowuje plan krok po kroku i pokazuje go użytkownikowi.
  3. Zatwierdzenie i wykonanie – po zatwierdzeniu przez użytkownika, agent realizuje kroki, wywołuje wybrany model LLM w celu uzyskania sugestii kodu, zapisuje zmiany w systemie plików i uruchamia zestaw testów projektu, aby zweryfikować każdą modyfikację.

Ponieważ agent polega na informacjach zwrotnych z testów, najlepiej sprawdza się w projektach posiadających szybkie i niezawodne zautomatyzowane testy. Narzędzie nigdy nie wykonuje automatycznych commitów; programiści muszą używać Git do przeglądu lub wycofywania zmian, co zapewnia siatkę bezpieczeństwa.

Scenariusze z życia wzięte, które poddaliśmy testom

  • Refaktoryzacja w całym repozytorium – OpenCode zmienił nazwę hooka React w jedenastu komponentach, zaktualizował wszystkie instrukcje importu i ponownie uruchomił zestaw testów.
  • Generowanie szkieletu testów – W projekcie Python asystent stworzył pliki pytest, które przeszły pomyślnie przy pierwszym uruchomieniu. Zespół oszacował oszczędność czasu na około jedną godzinę w porównaniu z ręcznym pisaniem testów.
  • Higiena zależności – Agent przeanalizował raport npm audit, zaktualizował podatne pakiety i ponownie uruchomił testy, aby wyłapać zmiany naruszające kompatybilność (breaking changes).

Open source kontra rozwiązania zamknięte

Claude Code, własnościowy asystent zbudowany dla modeli Anthropic, działa od razu po instalacji, ale uzależnia użytkowników od jednego dostawcy. Otwartoźródłowa natura OpenCode oznacza, że można go zastąpić dowolnym modelem LLM obsługującym format API OpenAI — OpenAI, Google, DeepSeek lub lokalnymi modelami serwowanymi przez Ollama. W przypadku rutynowych zadań zespoły mogą zdecydować się na tańsze modele on-premise, obniżając koszty przy zachowaniu pełnej kontroli nad danymi i aktualizacjami modeli.

Cena elastyczności

Kompromisem jest konfiguracja. Claude Code uruchamia się natychmiast; OpenCode wymaga pliku CONTEXT.md, który wymienia pliki lub katalogi, które agent powinien brać pod uwagę. Bez tego filtra model marnuje tokeny na artefakty budowania lub node_modules, co zwiększa koszty API i wprowadza chaos do wyników. W naszych testach dodanie pliku CONTEXT.md z regułami projektu znacznie poprawiło jakość pracy.

Inne zaobserwowane wady:

  • Dopracowanie – Interfejs wiersza poleceń wydaje się surowy w porównaniu z eleganckimi panelami w Cursorze lub podpowiedziami inline w Claude Code.
  • Szybkość – Ponieważ narzędzie wysyła pełne zapytanie do LLM dla każdego kroku, a następnie wykonuje zestaw testów projektu, czas odpowiedzi jest dłuższy niż w edytorach wykonujących edycje bezpośrednio wewnątrz programu.
  • Nakład pracy na konfigurację – Zespoły muszą wybrać model, skonfigurować klucze API i utrzymywać plik kontekstu, co wprowadza początkowe trudności.

Kto może zyskać

  • Zespoły dbające o prywatność – Organizacje hostujące modele lokalnie mogą zachować zastrzeżony kod z dala od zewnętrznych usług.
  • Entuzjaści terminala – Inżynierowie, którzy już skryptują swój workflow, uznają integrację z CLI za bezproblemową.
  • Programiści dbający o budżet – Możliwość przełączenia się na tańsze modele przy prostych edycjach może obniżyć koszty.

Kto może z niego zrezygnować

  • Osoby szukające rozwiązań bez konfiguracji – Programiści, którzy chcą mieć natychmiastowego asystenta bez żadnych ustawień, prawdopodobnie wybiorą Claude Code lub inne wtyczki do IDE.
  • Użytkownicy skupieni na IDE – Osoby preferujące podpowiedzi inline podczas pisania mogą uznać konieczność przełączania się na terminal za uciążliwą.

Wniosek: OpenCode udowadnia, że natywne dla terminala AI potrafi radzić sobie z realnymi zadaniami programistycznymi, nie zmuszając programistów do opuszczania ich preferowanych edytorów. Ceną jest umiarkowany wysiłek konfiguracyjny oraz wolniejsza pętla zwrotna, ale dla zespołów, które cenią sobie wybór modelu, prywatność danych oraz możliwość skryptowania działań AI, bilans zysków i strat jest zdecydowanie korzystny.