Mój agent kodujący pamiętał sesje, a nie pracę

Agent kodujący może utrzymywać wątek przy życiu, a mimo to sprawiać wrażenie zapominalskiego.

Napotkałem ten problem podczas budowania CliGate. Naprawiłem ciągłość sesji, ale powtarzalne zadania nadal trwały długo.

Agent pamiętał rozmowę, ale nie pamiętał pracy.

Ciągłość sesji rozwiązuje jeden problem. Pozwala na wydawanie poleceń uzupełniających, takich jak:

  • kontynuuj
  • zrób to samo dla tego pliku
  • spróbuj ponownie
  • wyjaśnij błąd

Ma to znaczenie dla płynności pracy. Jednak zawodzi, gdy powtarzasz proces pracy kilka dni później.

Jeśli agent uczy się, który przycisk działa lub który krok jest ślepą uliczką, pojedyncza otwarta sesja nie wystarczy. Agent musi przypomnieć sobie, co sprawiło, że poprzednie uruchomienie zakończyło się sukcesem.

Pierwsze uruchomienie jest najbardziej kosztowne. To wtedy agent znajduje drobne szczegóły:

  • konkretne menu ukrywa akcję
  • edytor jest iframe'em
  • projekt wymaga specyficznych stylów odpowiedzi
  • adres URL środowiska różni się od produkcyjnego

Przed moją poprawką te szczegóły były tylko surowymi logami. Agent miał historię, ale nie miał pamięci nadającej się do ponownego wykorzystania. Musiał za każdym razem odkrywać te same fakty na nowo. To nie jest inteligencja. To płacenie dwa razy za to samo.

Błędnym podejściem jest zapisywanie większej ilości historii z nadzieją, że model jej użyje. Tworzy to szum.

Potrzebowałem mniejszej, wielokrotnego użytku warstwy. Przeszedłem od zapisywania wszystkiego do zapisywania:

  • procedur: najlepszych kroków i znanych ślepych uliczek
  • faktów: adresów URL, reguł lub ustawień
  • dyrektyw: tego, jak chcesz, aby rzeczy były wykonywane
  • odniesień: gdzie znajduje się dokumentacja

To zmieniło system. Zamiast czytać gigantyczną transkrypcję, asystent korzysta z warstwy pamięci opartej na plikach.

Nie chciałem idealnego odtworzenia, ponieważ interfejsy się zmieniają, a przyciski przesuwają. Chciałem pętli:

  • przypomnij poprzednią najlepszą procedurę
  • spróbuj jej najpierw
  • zweryfikuj każdy krok
  • jeśli się nie uda, wróć do eksploracji
  • zaktualizuj pamięć po sukcesie

Oddzieliłem również stałe reguły od historii sesji. Reguły takie jak „nie dotykaj danych produkcyjnych” nie są kontekstem rozmowy. Są to reguły operacyjne. Ich oddzielenie sprawia, że asystent jest przewidywalny.

Wynik: powtarzalne zadania stały się krótsze. Asystent działa szybciej, ponieważ nie zaczyna z pustym modelem taktycznym.

Jeśli budujesz agentów kodujących, nie myl wątku z nauką.

  • Sesja pomaga w zachowaniu ciągłości.
  • Pamięć pomaga w powtarzalnej pracy.

Sesja utrzymuje rozmowę przy życiu. Warstwa pamięci utrzymuje lekcje przy życiu.

Czy Twój system pamięta wątek, czy pamięta skuteczną procedurę?

Źródło: https://dev.to/codekingai/my-coding-agent-remembered-sessions-not-work-that-was-the-bug-2fig