Agenci AI

Nebius AI wykorzystuje uczenie ze wzmocnieniem, by otworzyć drogę dla agentów AI w inżynierii oprogramowania

W krajobrazie automatyzacji inżynierii oprogramowania zachodzą szybkie zmiany, napędzane postępami w dużych modelach językowych (LLM). Większość podejść do szkolenia wydajnych agentów opiera się jednak na zastrzeżonych modelach lub kosztownych metodach opartych na nauczycielu, co pozostawia modele LLM o otwartej wadze z ograniczonymi możliwościami w scenariuszach rzeczywistych. Zespół naukowców z Nebius AI i Humanoid wprowadził ramy uczenia ze wzmocnieniem do szkolenia długoterminowych, wieloetapowych agentów inżynierii oprogramowania przy użyciu zmodyfikowanego algorytmu Decoupled Advantage Policy Optimization (DAPO). Badanie wyjaśnia przełom techniczny w stosowaniu uczenia ze wzmocnieniem (RL) do modeli LLM o otwartym kodzie źródłowym w przypadku rzeczywistych, wieloetapowych zadań inżynierii oprogramowania — wykraczając poza jednoetapowe ustawienia w stylu bandyckim, które dominują obecnie w RL dla modeli LLM.

Większość metod RL dla LLM optymalizuje zadania, takie jak rozumowanie matematyczne lub jednorazowe generowanie kodu, gdzie działania agenta są nagradzane tylko na zakończenie, a środowiska nie zapewniają pośrednich informacji zwrotnych. Inżynieria oprogramowania (SWE) jest jednak zasadniczo inna: wymaga od agentów działania w długich sekwencjach działań, interpretowania bogatych informacji zwrotnych (błędy kompilatora, dzienniki testów) i utrzymywania kontekstu w setkach tysięcy tokenów — znacznie przekraczając typowe jednoetapowe pętle interakcji.

Kluczowe wyzwania w RL dla SWE

Uczenie ze wzmocnieniem w kontekście inżynierii oprogramowania stawia przed badaczami szereg istotnych wyzwań. Kluczowe z nich to:

  • Długoterminowe rozumowanie: Agenci muszą utrzymywać spójność logiczną na przestrzeni wielu kroków, często wymagając okien kontekstowych przekraczających 100 tys. tokenów.
  • Informacje zwrotne ze stanowego środowiska: Działania generują znaczące, nietrywialne obserwacje (np. wyniki poleceń powłoki, wyniki testów), które kierują kolejnymi decyzjami.
  • Rzadkie/opóźnione nagrody: Sygnały sukcesu zazwyczaj pojawiają się dopiero na końcu złożonych interakcji, co komplikuje przypisywanie punktów.
  • Złożoność oceny: Pomiar postępu wymaga pełnego rozwinięcia trajektorii i może być zakłócony przez niestabilność testów.

Metoda Nebius AI: zmodyfikowany DAPO

Zespół badawczy zademonstrował dwuetapowy potok uczenia do szkolenia agenta Qwen2.5-72B-Instruct:

  1. Dostrojenie odrzucania (RFT): Podróż zaczyna się od nadzorowanego dostrajania. Agent jest uruchamiany w 7249 rygorystycznie przefiltrowanych zadaniach SWE (ze zbioru danych SWE-REBENCH). Udane ślady interakcji — gdzie agent przechodzi testową pulę środowiskową — są wykorzystywane do dostrojenia modelu, szczególnie maskowania nieprawidłowych działań formatowania środowiska podczas szkolenia. To samo w sobie zwiększa dokładność bazową z 11% do 20% w weryfikowanym benchmarku SWE-bench.
  2. Uczenie ze wzmocnieniem przy użyciu zmodyfikowanego DAPO: Opierając się na Decoupled Advantage Policy Optimization (DAPO), wprowadzono kilka kluczowych modyfikacji w celu skalowalności i stabilności:
    • Asymetryczne przycinanie: Zapobiega załamaniu entropii strategii, utrzymując eksplorację.
    • Dynamiczne filtrowanie próbek: Koncentruje optymalizację na trajektoriach z rzeczywistym sygnałem uczenia się.
    • Kary za długość: Zniechęca do nadmiernej długości epizodu, pomagając agentowi uniknąć utknięcia w pętlach.
    • Uśrednianie na poziomie tokenów: Każdy token w każdej trajektorii w równym stopniu przyczynia się do gradientu, umożliwiając dłuższym trajektoriom wpływanie na aktualizacje.

Agent wykorzystuje pętlę w stylu ReAct, która pozwala mu łączyć etapy rozumowania z użyciem narzędzi. Obsługiwany zestaw narzędzi obejmuje arbitralne polecenia powłoki, precyzyjne edycje kodu, narzędzia do nawigacji/wyszukiwania i działanie przesyłania, aby zasygnalizować zakończenie epizodu. Każda interakcja jest oparta na solidnym środowisku piaskownicy, inicjowanym z rzeczywistych migawek repozytorium i wspieranym przez monit o problem w stylu GitHub.

Wyniki i wnioski

Wstępnie przeszkolony z długością kontekstu 65 tys. tokenów (już dwukrotnie większą niż większość otwartych modeli), wydajność zatrzymuje się na poziomie 32%. Druga faza RL rozszerza kontekst do 131 tys. tokenów i podwaja sufit długości epizodu, koncentrując dalsze szkolenie tylko na najbardziej korzystnych zadaniach z puli. Umożliwia to skalowanie do dłuższych śladów stosu i historii różnic, nieodłącznych od rzeczywistego debugowania i zadań związanych z poprawkami.

Ostatecznie wytrenowany agent RL osiąga 39% dokładności Pass@1 w weryfikowanym benchmarku SWE-bench, podwajając bazową wersję z dostrojeniem odrzucania i dorównując wydajności najnowocześniejszych modeli o otwartej wadze, takich jak DeepSeek-V3-0324, a wszystko to bez nadzoru opartego na nauczycielu.

Badanie to potwierdza, że uczenie ze wzmocnieniem jest obiecującą metodą budowania autonomicznych inżynierów oprogramowania z wykorzystaniem otwartych modeli LLM. Dzięki pokonaniu długoterminowych, wieloetapowych zadań w środowisku rzeczywistym, metodologia toruje drogę do skalowalnego rozwoju agentów bez nauczyciela — bezpośrednio wykorzystując moc interakcji, a nie statycznej instrukcji. Przy dalszych udoskonaleniach, takie potoki RL obiecują wydajną, niezawodną i wszechstronną automatyzację dla przyszłości inżynierii oprogramowania.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *