Strona główna / Rozdział 5 · Agenci
    Ostatnia zmiana · 9 min czytania

    Użyj z AI

    Harness agenta kodującego

    Agent kodujący to model plus harness, czyli wszystko wokół modelu, co robi z niego działającego agenta. Model proponuje następny krok, a harness decyduje, co model widzi, co naprawdę się wykona i co da się cofnąć.

    Po ludzkuDoświadczony fachowiec na budowie. Umiejętności ma swoje, ale resztę ustala budowa: jakie narzędzia leżą na stole, co jest w zleceniu i regulaminie, które pomieszczenia są zamknięte, kto musi się podpisać, zanim wyburzy się ścianę, i czy jest poziomica, żeby sprawdzić robotę. Ten sam fachowiec na dobrze zorganizowanej budowie i w chaosie pracuje zupełnie inaczej.

    Odtwórz jedno zadanie w agencie kodującym: zwroty częściowe są o 1 grosz za małe. Wyłącz jedną część harnessu, naciśnij ▶ i zobacz, co się zmienia

    tura agenta
    tokenów w tym wywołaniu
    tokenów wejściowych od startu

    Liczby poglądowe: okno 200 tys. tokenów, system prompt z wbudowanymi narzędziami 12 tys., pamięć projektu 3 tys., ok. 5 tys. tokenów historii na turę, kompakcja przy 80% okna, 50 tys. za definicje wszystkich narzędzi MCP ładowane z góry. Własne tokeny subagenta nie są wliczone. Repozytorium, komendy i zachowanie modelu są zmyślone, żeby pokazać typowe awarie.

    Z czego składa się harness

    Ten sam model, inny harness

    Jak pracować z agentem kodującym

    Typowe awarie agentów kodujących

    Sprawdź się

    Co harness dokłada do modelu w agencie kodującym i czemu ten sam model wypada różnie w dwóch harnessach?

    Harness to wszystko wokół modelu, co robi z niego agenta: pętla, kilka ogólnych narzędzi (odczyt, edycja, powłoka, wyszukiwanie), system prompt i plik projektu, np. AGENTS.md, lista zadań, zarządzanie kontekstem (czyszczenie starych wyników, kompakcja, subagenci, wyszukiwanie narzędzi), skille ładowane na żądanie, uprawnienia i sandbox, hooki oraz checkpointy. Model tylko proponuje wywołania, a harness decyduje, co model widzi, co się wykona i co da się cofnąć. Dlatego narzędzia, prompty i pętla weryfikacji zmieniają wyniki: LangChain podaje 13,7 punktu więcej w Terminal-Bench 2.0 po zmianie samego harnessu. Harness trzyma też stały prefiks pod prompt caching, a od tego zależy większość rachunku.

    In English

    A harness is everything around the model that makes it an agent: the loop, a few general tools (read, edit, shell, search), the system prompt and a project file such as AGENTS.md, a todo list, context management (clearing old results, compaction, subagents, tool search), skills loaded on demand, permissions and a sandbox, hooks and checkpoints. The model only proposes calls; the harness decides what the model sees, what runs and what can be undone. So tools, prompts and a verification loop move scores: LangChain reports 13.7 more points on Terminal-Bench 2.0 after changing only the harness. The harness also keeps the prefix stable for prompt caching, which largely determines the bill.

    Pytania pogłębiające (5)
    Czemu „nigdy nie rób git push” w AGENTS.md cię nie chroni?
    Plik to kontekst, nie konfiguracja. Model zwykle go słucha, ale długa sesja, niejasne polecenie albo wstrzyknięty tekst mogą przeważyć. Regułę, która musi obowiązywać, egzekwuje harness: reguła deny, hook blokujący wywołanie przed wykonaniem (w Claude Code działa nawet w trybie bypass), sandbox albo token bez prawa do push.
    Sandbox jest włączony. Jak agent może zniszczyć twoją pracę?
    Sandbox ogranicza zapis do katalogu roboczego, a sieć do dozwolonych domen, i repozytorium leży w tych granicach, więc git clean -fdx albo rm -rf src przejdą. Checkpointy Claude Code nie śledzą zmian robionych komendami powłoki. Pomagają częste commity, reguła ask albo deny dla komend niszczących i osobny worktree lub kontener do ryzykownych zadań.
    Agent melduje sukces, a CI pada. Co zmieniasz w harnessie?
    Szybkie sprawdzenie, które agent uruchomi sam, z komendą wpisaną w AGENTS.md. Hook na moment, gdy agent chce skończyć: uruchamia testy i odsyła błędy modelowi jako informację zwrotną. Wynik ocenia się po kodzie wyjścia i diffie, nie po podsumowaniu. Anthropic i LangChain opisują przedwczesne „gotowe” jako jedną z najczęstszych awarii agentów kodujących.
    Po podłączeniu trzech serwerów MCP koszt się podwoił. Czemu i co robisz?
    Definicje narzędzi siedzą w prefiksie, więc płacisz za nie w każdej turze, a w harnessie, który ładuje je z góry, podłączenie serwera w trakcie sesji unieważnia cache. Pomagają wyszukiwanie narzędzi (w prefiksie zostają same nazwy), tylko serwery potrzebne do zadania i stały zestaw narzędzi przez całą sesję. Skutek sprawdza się w usage: stosunek odczytów z cache’u do zapisów.
    Kiedy subagent jest lepszy niż praca w głównej sesji?
    Przy zadaniach pobocznych, które polegają głównie na czytaniu: przeszukanie repozytorium, lektura logów, przegląd diffu. Subagent zużywa tokeny we własnym oknie i oddaje krótkie streszczenie, więc główny kontekst zostaje krótki. Edycje zależne od decyzji z głównego wątku zostają w głównej sesji, bo subagent tych decyzji nie widzi, a w Claude Code jego edycje zwykle nie trafiają do checkpointów. Łącznie subagenci zużywają więcej tokenów, nie mniej.

    Źródła

    Zgłoś błąd · Zaproponuj poprawkę