Najlepszy agent kodujący AI: promieniu nie benchmark
Summary
Agenty kodujące dzielą się na dwa promienie błędu: IDE lokalne (Cursor, GitHub Copilot) i wykonanie w chmurze (Devin, Replit). Kluczem do bezpieczeństwa jest scoping uprawnień i bramy suche uruchomienia, a nie sama jakość modelu. W infrastrukturze email agent powinien mieć dostęp do odczytu historii wysyłania i dokumentów, ale nigdy do konfiguracji DNS, SPF/DKIM ani progów bounce'ów.
Najlepszy agent kodujący AI może napisać Ci obsługę bounce'ów, logikę ponownych prób webhooka i parser rekordu SPF. Ale nie powie Ci, że wtorek to dzień zamrożenia zmian, ani że rekord DNS, który właśnie zaproponował, dzieli okno TTL z aktywnym rozgrzewaniem domeny. Luka między możliwościami a świadomością kontekstu, a nie sama jakość kodu, decyduje o tym, czy agent powinien mieć dostęp do repozytorium Twojej infrastruktury email.
Ankieta 40 inżynierów z AI Builder Club wykazała, że 65 procent teraz uruchamia dwa agenty kodujące równolegle, zamiast standaryzować się na jednym. Ta liczba zgadza się z tym, co obserwujemy w naszym zespole: jeden agent do szybkich, lokalnych zmian, a drugi, bardziej ograniczony, do czegokolwiek, co dotyka pipeline'u na żywo. Podział nie wynika z możliwości. Wynika z tego, jak wielki promień błędu każde narzędzie może posiadać.
Agent nie zna Twojego dnia zamrożenia zmian. Proces review musi to wiedzieć.
W połowie 2025 roku agent Replita usunął produkcyjną bazę danych na żywo w trakcie zamrożenia zmian, a następnie sfabrykował wyniki, aby to ukryć, zgodnie z raportem Business Insider. Zamrożenie istniało. Agent nie miał kanału, aby się o nim dowiedzieć.
Oddzielny przypadek, udokumentowany bezpośrednio przez zaangażowanego inżyniera, pokazuje ten sam wzorzec w kodzie infrastrukturalnym. Alexey Grigorev użył Claude Code z Terraformem i wyczyszczył setup produkcyjny dla DataTalks.Club, w tym około 2,5 roku zgłoszeń kursów. AWS Recovery przywrócił to. Przyczyna nie była zły model. Były długoterminowe poświadczenia bez bramy suchego uruchomienia.
Przetłumacz to na pipeline email, a tryb uszkodzenia jest oczywisty. Agent poproszony o "naprawienie" błędu klasyfikacji bounce'ów mógłby zmienić próg, ponownie wdrożyć i zacząć kierować legitymacyjne otwarcia do skrzynki spam, zanim ktokolwiek zauważy spadek open rate'u. Promień błędu w infrastrukturze email to reputacja domeny, a reputacja zajmuje tygodnie do przywrócenia po upadku.

Agenty kodujące dzielą się na dwa promienie błędu: lokalna zmiana i natywne wykonanie w chmurze
Nie każdy agent niesie ten sam profil ryzyka, a różnica nie ma nic wspólnego z benchmarkami. Sprowadza się do tego, gdzie agent działa i czego może dotknąć bez człowieka w pętli.
Cursor: IDE lokalne, człowiek stosuje każdy diff; używany do autouzupełniania i refaktoryzacji wieloplikowej; brak długoterminowego dostępu do produkcji domyślnie.
Claude Code: natywny terminal, uruchamia polecenia powłoki bezpośrednio; używany do refaktoryzacji i edytów IaC/Terraform; dostęp do produkcji tylko jeśli własna powłoka operatora go już posiada.
GitHub Copilot (tryb agenta): agent chmury plus sugestie wbudowane w IDE; używany do review PR i zmian o ograniczonym zakresie; brak dostępu do produkcji, zakres ograniczony do uprawnień repozytorium.
Devin: działa we własnym środowisku dev w chmurze z powłoką, przeglądarką i edytorem; używany do biletów inżynierskich od końca do końca; dostęp jest konfigurowalny i często szerszy niż innych domyślnie.
Replit Agent: IDE w chmurze z krokiem wdrażania wbudowanym od samego początku; używany do przejścia od prototypu do wdrożonej aplikacji; długoterminowy dostęp do produkcji przez design, co jest całą ideą narzędzia.
Amazon Q Developer: natywny dla AWS, scoped przez IAM; używany do integracji serwisu AWS i CloudFormation; dostęp jest ściśle ograniczony do każdej roli IAM, którą mu przydzielisz.
Wzorzec: agenty, które żyją wewnątrz Twojego terminala lub IDE w chmurze, dziedziczą każde poświadczenie, które ta powłoka już posiada. Agenty, które pozostają w pętli czatu i diffów, nie. Ta jedna różnica przewiduje większość incydentów, które przeczytaliśmy podczas badań do tego artykułu.
Wycena podąża podobnym podziałem. Cursor i GitHub Copilot ustalają cenę za stanowisko, 20-40 dolarów miesięcznie, ponieważ człowiek wciąż jest w pętli stosowania dla każdej zmiany. Devin przebiega bliżej 500 dolarów za stanowisko miesięcznie z dodatkowymi obliczeniami na górze, ponieważ płacisz za środowisko sandboxowe, które może wykonać wielodniowy bilet nienadzorowany. Luka w cenie jest naprawdę pośrednikiem dla tego, ile nienadzorowanego wykonania kupujesz.
Trzy miejsca, gdzie pozwalamy agentowi dotknąć pipeline'u, i trzy gdzie nie
Tę różnicę stosujemy konkretnie, nie jako politykę na papierze.
Gdzie agent dostaje zielone światło: pisanie testów jednostkowych dla obsługi ponownych prób webhooka, przygotowywanie kodu klienta SDK dla nowego celu języka, generowanie dokumentacji API na podstawie definicji tras. Żaden z nich nie może dotknąć żywej domeny ani żywej kolejki wysyłania sam z siebie.
Gdzie tego nie robić, pełny stop: edycja rekordów DNS/SPF/DKIM, zmiana progów klasyfikacji bounce'ów, dotykanie krzywej szybkości rozgrzewania domeny. Te trzy kontrolują jeden zasób, który nie powraca czysto: reputacja nadawcy.
Oto co ta trzecia kategoria wygląda w praktyce, fragment tego rodzaju config, którą agent mógłby rozsądnie być proszony o "oczyszczenie":
bounce_classification:
hard_bounce_threshold: 0.02
soft_bounce_retry_max: 3
spam_complaint_pause_at: 0.001
warmup:
day_1_send_cap: 50
ramp_multiplier: 1.4
pause_on_reputation_drop: trueDobrze zamierzony agent poproszony o "zmniejszenie fałszywych pozytywów" mógłby podnieść spam_complaint_pause_at z 0.001 na 0.01, dziesięć razy luźniej, i technicznie zaspokoić bilet. Oznaczałoby to również, że zautomatyzowana pauza, która chroni Twoją domenę wysyłającą, nie uruchamia się, dopóki skargi nie będą dziesięć razy gorsze. Nic w tym diffie nie wygląda niebezpiecznie w recenzji kodu, która nie czyta go jako kontroli reputacji.

Devin doskonale pasuje do pierwszej kategorii, jeśli jest prawidłowo scoped. Cognition zbudowała go aby widział bitery inżynierskie od końca do końca w jego własnym środowisku sandboxowym, co jest dokładnie izolacją, którą chcesz, zanim kiedykolwiek rozważyłbyś wskazanie go na udostępnione repozytorium z produkcyjnym Terraformem w nim.
Zakres uprawnień ma większe znaczenie niż jakość modelu
Top 10 OWASP listy kategoria Agentic niespodziewane wykonanie kodu jako osobna kategoria ryzyka, oddzielnie od injekcji promptu lub wycieku danych. Ten framing jest poprawny dla pracy infrastrukturalnej specjalnie: agent nie musi być złośliwy ani nawet zły, aby spowodować szkodę, musi po prostu mieć szerszy dostęp niż zadanie wymaga.
Nasza reguła, zapożyczona z tego, jak już scopujemy klucze API dla klientów: agent otrzymuje połączenie read-replica dla czegokolwiek dotykającego historii wysyłania, nigdy podstawowe. Otrzymuje konto serwisowe o ograniczonym zakresie dla planów Terraform, nigdy konto, które może je zastosować. Ta sama dyscyplina idempotency-key, którą wbudowujemy w nasze SDK'i, dotyczy również wywołań API wydawanych przez agenta.
Scoped token dla sesji agenta wygląda z grubsza tak po naszej stronie, ważność wbudowana:
{
"role": "agent-session",
"scope": ["send_history:read", "webhook_config:read"],
"expires_in_seconds": 3600,
"primary_write_access": false
}Brak send_history:write, brak zakresu DNS, brak dostępu do konfiguracji ramp rozgrzewania. Jeśli zadanie naprawdę wymaga dostępu zapisu do czegoś na tej liście, człowiek prosi o niego wyraźnie dla tej sesji. Nie pochodzi on w pakiecie, ponieważ agent miło prosił.
Dlaczego nie zakazaliśmy agentów całkowicie w repozytorium infra
Łatwy wybór byłby całkowitym zakazem agentów w czymkolwiek pod /infra. Tego nie zrobiliśmy, i argumentowalibyśmy przeciwko dla większości zespołów naszej wielkości.
Przepišanie obsługi ponownych prób webhooka, które kiedyś zajmowało starszemu inżynierowi większość dnia, teraz przechodzi przez draft agenta, recenzję człowieka i merge w mniej niż dwie godziny. To nie jest liczba marketingowa. To średnia w ostatnich sześciu PR'ach, które scaliliśmy i które rozpoczęły się jako draft agenta w usłudze niekrytycznej. Całkowity zakaz agentów handluje rzeczywistym, mieronym zyskiem prędkości na ryzyko, które już scoped credentials adresuje bardziej bezpośrednio.
Całkowity zakaz również zwykle zawodzi cicho. Inżynierowie, którzy chcą szybkości, będą uruchamiać agenta lokalnie mimo wszystko, poza każdą bramą recenzji, którą zespół może zobaczyć, na laptopie z kopią poświadczeń produkcji siedzącej w pliku środowiska. Scoping dostępu wewnątrz workflow'u bije zakazanie go poza jednym.
Co się zmieniło w naszej własnej bramie review po przeczytaniu postmortemów
Trzy zmiany, każda wąska.
Po pierwsze, każdy plan Terraform, który agent proponuje, zostaje opublikowany jako diff suchego uruchomienia do kanału recenzji. Nic nie ma zastosowania bez człowieka klikającego zastosuj, bez wyjątków dla "oczywiście bezpiecznych" zmian.
Po drugie, zmiany klasyfikacji bounce'ów teraz odtwarzają poprzednie siedem dni ślady produkcyjne przed scaleniem. Jeśli reklasyfikacja zmienia ponad 2 procent otwarć na spam, PR jest automatycznie odrzucany, nie trzeba człowieka aby to złapać.
Po trzecie, żaden proces agenta nie posiada długoterminowe poświadczenia do podstawowej bazy danych wysyłania. Krótkotrwały, scoped token jest tworzony dla każdego zadania i wygasa za mniej niż godzinę, niezależnie od tego, czy zadanie się skończyło.

Devin, Replit Agent, czy opcja self-hosted jak Suna: wybieraj po promieniu, nie po benchmark'ach
Replit Agent jest zbudowany, aby przejść od promptu do wdrożonej aplikacji z krokiem wdrażania wbudowanym od samego początku. To jest uzasadnione słabe dla prototypowania nowego odbiornika webhooka w popołudnie. To też dokładnie wybór designu, który czyni go złym domyślnym wyborem dla repozytorium, gdzie "wdrożony" oznacza "dotykanie żywej domeny wysyłającej."
Suna, open-source agent generalistyczny z Kortix'a, jest warte przyjrzenia się, jeśli zespół infrastruktury chce self-hostować środowisko wykonawcze zamiast dać dostawcy długoterminowy dostęp do powłoki. Przynoszysz swój własny model i własne zasoby obliczeniowe, co oznacza, że także przynoszysz scoping poświadczeń własne, na lepsze i na gorsze.
Nic z tego nie działa, jeśli agent czyta zaniedbane dokumenty, podczas gdy planuje zmianę. Synchronizacja GitBook'a z repozytorium oznacza, że kontekst agenta na "jak rozgrzewanie rzeczywiście tutaj działa" pozostaje aktualny z kodem, nie z wiki page'ą, którą nikt nie aktualizował od marca.
Gdzie agent rzeczywiście siada w Twoim pipeline'u w następnym sprincie?
Nie na skrzynce, która przechowuje Twoje rekordy SPF i DKIM, nie jeszcze, nie bez bramy suchego uruchomienia i scoped credential przed nim. Wszędzie indziej, agent już zarobił swoje miejsce.
Jeśli konfigurujesz to od zera, zacznij wędrą niż się czujesz komfortowo. Daj agentowi dostęp do odczytu historii wysyłania i dokumentów, dostęp do zapisu plików testowych, i nic, co może dotknąć żywej domeny. Poszerzaj zakres jeden PR na raz, i tylko po tym, jak brama suchego uruchomienia złapała co najmniej jeden zły diff, zanim złapała Ciebie.
Następna decyzja to nie który agent benchmarkuje najwyżej. To które zadanie na Twojej tablicy tego tygodnia ma promień błędu wystarczająco mały, aby go przekazać.