28 marca 2026

Mów do agenta AI jak jaskiniowiec

Większość ludzi pisze do agentów AI tak, jak do mało znanego kolegi z pracy: „Cześć! Chciałem zapytać, czy mógłbyś przy okazji rzucić okiem na pewien problem — wydaje mi się, że coś jest nie tak z logowaniem?". Czterdzieści słów. Agentowi wystarczyłoby sześć: „Logowanie nie działa. Znajdź błąd."

To nie jest kwestia stylu. Za tą różnicą stoi konkretna mechanika i wszystkie jej elementy prowadzą do tego samego wniosku.

Dlaczego zbędne słowa szkodzą

Zbędne słowa konkurują z istotnymi. Uwaga modelu nie rozkłada się równomiernie na całą długość promptu: dobrze opisany efekt lost-in-the-middle pokazuje, że trafność odpowiedzi spada, gdy ważna informacja znajduje się w środku kontekstu. Każde „chciałem zapytać, czy może" to obciążenie, z którym musi konkurować właściwa instrukcja. Krótki prompt utrzymuje sygnał tam, gdzie model nie może go przeoczyć.

Rozwlekłość łączy się też z niższą jakością odpowiedzi, i to w obie strony. Badanie o tytule, który bardzo lubię, Verbosity ≠ Veracity, opisuje zjawisko kompensacji rozwlekłością: modele wydłużają odpowiedzi, kiedy nie są pewne, a dłuższe odpowiedzi wypadają w testach gorzej, nie lepiej. Kto pisze zwięźle, zwykle otrzymuje zwięzłą odpowiedź.

Producenci modeli mówią to samo. Wytyczne Anthropic dotyczące pisania promptów zaczynają się od zasady „bądź jasny i bezpośredni", a poradniki praktyków sprowadzają się do reguły „tak krótko, jak można; tak długo, jak trzeba". Nikt, kto mierzy skuteczność promptów, nie zaleca zaczynania od uprzejmości.

Jest wreszcie kwestia kosztów. Tokeny liczone są w obie strony, a w pętli agenta wiadomość użytkownika jest czytana ponownie przy każdym wywołaniu narzędzia. Za uprzejmy wstęp w zadaniu wymagającym pięciu kroków płaci się pięć razy.

Tryb jaskiniowca

Matt Pocock publikuje tę praktykę jako gotowy skill w swoim otwartym repozytorium. Nazywa się caveman, a jego opis streszcza całą filozofię:

"Respond terse like smart caveman. All technical substance stay. Only fluff die."

Zasady: usunąć przedimki, wypełniacze („po prostu", „naprawdę", „właściwie"), uprzejmości i asekuracyjne zastrzeżenia; zachować dokładnie każdy termin techniczny; cytować błędy dosłownie; nie zmieniać bloków kodu. Deklarowany efekt: około 75% mniej tokenów przy zachowaniu pełnej precyzji technicznej. Przykład z pliku skilla mówi sam za siebie:

Nie: "Sure! I'd be happy to help you with that. The issue you're experiencing is likely caused by..." Tak: "Bug in auth middleware. Token expiry check use < not <=. Fix:"

Przyjąłem ten styl jako obowiązujący w moim projekcie AppMaker. Ostatecznie przekonał mnie jeden szczegół: wyjątek nazwany auto-clarity. Tryb jaskiniowca sam się wyłącza przy ostrzeżeniach dotyczących bezpieczeństwa, przy potwierdzaniu nieodwracalnych działań i przy sekwencjach kroków, w których skrót mógłby zostać źle odczytany. Zwięzłość tam, gdzie nic nie kosztuje; pełne zdania tam, gdzie niejasność może kosztować dużo. Widać, że ktoś to dobrze przemyślał.

Jak to wygląda w praktyce

Moje wiadomości do agentów układają się dziś w stały wzór: fakt, ograniczenie, polecenie.

  • „Testy nie przechodzą po aktualizacji do vitest 4. Błąd: <wklejka>. Nie zmieniaj konfiguracji w /infra. Napraw."
  • „Potrzebny status faktury klientki M. z FreeAgent. Tylko odczyt."

Bez przeprosin, bez „czy mógłbyś", bez streszczania tego, co agent już wie. Komunikaty o błędach wklejam dosłownie i nigdy ich nie parafrazuję — tekst błędu to najbardziej treściwa informacja, jaką mam. Ograniczenia zapisuję wprost, bo model nie uszanuje granicy, o której nie wie.

Jest też efekt uboczny, którego się nie spodziewałem. Sprowadzenie prośby do schematu fakt–ograniczenie–polecenie wymaga, żeby najpierw samemu wiedzieć, czego się chce. W połowie przypadków zauważam własne niejasne myślenie, zanim zobaczy je agent.