Blog

Notatki o harnessie, o modelach pod nim i o tym, co się zmienia, gdy pojawia się nowy.

Synchronizacja pamięci bez zasady „ostatni zapis wygrywa”

Dwie maszyny, jeden zestaw notatek, jedna z nich edytowana, gdy druga spała. Każdy system synchronizacji musi na to odpowiedzieć, a większość odpowiada porównaniem znaczników czasu, które po cichu odrzuca jedną stronę. To w porządku w przypadku szkicu, który możesz napisać od nowa. Nie jest w porządku w przypadku pliku, który agent czyta przed każdą turą, bo to, co zostaje odrzucone, to linia, którą napisałeś, żeby coś się więcej nie powtórzyło.

Identyfikatorom modeli nie miejsce w TypeScript

Id modelu to najszybciej zmieniający się fakt w całym tym systemie. Dostawcy zmieniają nazwy modeli, wycofują je, wypuszczają warianty z datą, po cichu zmieniają, na co wskazuje alias bez daty, a połowę udostępniają w zależności od tego, które konto pyta. Wkompiluj to w pakiet, a masz gwarancję, że pakiet w ciągu kilku tygodni będzie błędny — nie zepsuty w oczywisty sposób, co byłoby przynajmniej zgłoszeniem błędu, lecz błędny w ten konkretny sposób, w którym lista wyboru proponuje komuś model, którego jego klucz nie może wywołać.

Reguła deny to jedyna granica, jaką masz

Wszystko inne, co harness agenta nazywa uprawnieniem, jest oceną kosztu. Warto to powiedzieć wprost, bo interfejs tego nie mówi: pytanie o zgodę, tryb o nazwie Auto i ustawienie zapisywalnych katalogów wyglądają jak rzeczy tego samego rodzaju, a tylko jedna z nich jest linią, której system dotrzyma bez względu na wszystko.

Zmiana modelu w trakcie sesji nic nie kosztuje

I jest to decyzja projektowa, a nie funkcja. Większość narzędzi dla agentów pisze się pod jednego dostawcę, a do pozostałych dostosowuje później. Ta kolejność brzmi jak szczegół implementacyjny. Tymczasem to sedno sprawy.