Przejdź do treści

← Skills

system-one-design

Zamień krok pytaj-i-wyciągaj na typowane pytania — po jednym warunku, nazwy opcji bez werdyktu, liczba w odpowiedzi — i nigdy nie pozwól, by ta liczba sama zatrzymała pracę.

WzorzecPochodzenie: cleanStatus: activev0.3.0 · Apache-2.0

Nadane przez osobę, która przeczytała kartę, a nie deklarowane przez sam plik. Karta, którą agent destyluje podczas przebiegu z niezaufaną treścią, rodzi się skażona i czeka na recenzję, zanim kiedykolwiek zostanie pobrana.

Kiedy przychodzi na myśl

  • wyciąganie tak lub nie z prozy modelu
  • klasyfikowanie wielu elementów modelem
  • proszenie modelu o ocenę czegoś
  • odpowiedź modelu decyduje, co stanie się dalej

Wartość zwykle kryje się w Unikaj i Sprawdź. Rób to sekcja, którą pisze każdy.

Treść karty powyżej to tłumaczenie. Angielski oryginał jest tym, co importuje CLI, co agent czyta w czasie działania i czego dotyczy hasz poniżej.

Wyzwalacz

Krok zadaje modelowi pytanie, którego odpowiedź to jedna z kilku znanych wartości — tak lub nie, jedna z pięciu etykiet, poziom od niskiego do wysokiego — a potem odczytuje tę wartość z napisanej prozy. Albo to samo pytanie zadaje się setkom elementów. To typowana decyzja w przebraniu czatu.

Rób

  1. Zadaj je jako typowane pytanie (chimera decide, POST /api/decide lub narzędzie decide): noul dla tak/nie, choice dla jednej z zestawu, score dla uporządkowanych poziomów. Wraca prawdopodobieństwo.
  2. Jeden warunek na pytanie. „Czy to błąd i czy pochodzi z bazy danych?” to dwa pytania; zadaj oba i połącz odpowiedzi w kodzie, gdzie reguła jest widoczna.
  3. Nadaj opcjom nazwy, które nie niosą werdyktu (nie "yes", "safe", "pass"), a znaczenie wpisz w kryteria. Opcja zbiorcza ("other") to miejsce, gdzie trafia niepewny odczyt — daj jej wąskie kryterium albo ją pomiń. Niech pierwsze słowa opcji się różnią: lokalny model odczytuje etykietę po pierwszym tokenie, więc coding i coding_agent nigdy nie dadzą się rozróżnić (w ten sposób 24 z 231 publicznych elementów JevBench zostały nieodczytane). O opcji zbiorczej, zmierzone na 1000 tematów commitów: szerokie „other” pochłonęło 78% elementów należących do nazwanej opcji, a wąskie 58%; usunięcie go podniosło F1 nazwanych klas z 0,24 do 0,43, kosztem tego, że elementy naprawdę spoza zbioru trafiają do nazwanej opcji.
  4. Pokaż modelowi tylko to, co jest oceniane: nie wyjście narzędzi dookoła, nie zdanie, które przemawia za odpowiedzią.
  5. Każdy próg wybieraj na podstawie oznaczonych przykładów, nigdy na oko, i trzymaj liczbę obok decyzji, którą zasiliła.
  6. Arytmetykę, daty i liczenie zostaw w kodzie: oblicz fakt, umieść go w stanie i zapytaj o niego. Model decyzyjny czyta; nie liczy (na trudnym poziomie JevBench lokalny model trafił 1 z 15 elementów z datami i liczbami).

Unikaj

Pozwalania, by liczba kończyła, pomijała lub zatwierdzała pracę. Decyzja może dodać kontroli — przegląd, ostrzeżenie, drugie sprawdzenie — i nic więcej: jedyna decyzja w tym projekcie, która mogła powiedzieć „zatrzymaj się”, pogorszyła każdy model, którym sterowała, i tym bardziej, im lepszy był model.

Unikaj też czytania odpowiedzi po rozumowaniu (liczba zapada się do 0 lub 1), dzielenia jednej oceny na atomy opisujące coś, co mają obie klasy (atom „niszczy dane?” oznaczał uprawnione sprzątanie tak samo chętnie jak ataki) i traktowania surowego prawdopodobieństwa jak skalibrowanego. Utrzymuj stan oszczędny: wiersz dla każdego faktu, który nie zaszedł (kolumna „none”), przesuwał liczbę przy każdym elemencie, a ta sama powtórzona treść czyta się jak wzorzec, którego nie ma.

Sprawdź

  • Linter akceptuje każde pytanie (odrzucone pytanie nigdy nie trafia do modelu).
  • Każde pytanie odpowiada w obie strony na twoich elementach; takie, które zawsze mówi to samo, czyta format, nie tekst.
  • Przy długim stanie i modelu lokalnym prompt mieści się w oknie kontekstu — ciche obcięcie wygląda jak wynik modelu.
  • Gdzieś oznaczona próbka pokazuje, że liczba rozdziela przypadki, które mają znaczenie — i obejmuje każdy sposób, w jaki decyzja się myli, po obu stronach; próbka z jednego rodzaju błędu kalibruje tylko ten rodzaj.
  • Zanim odczytasz zmianę sformułowania jako efekt, zadaj niezmienione pytanie ponownie i zobacz, jak bardzo liczba zmienia się sama.

Ryzyko

Typowana odpowiedź wygląda pewniej niż proza, a nie jest: mały model może dobrze porządkować, a mimo to pewnie mylić się w środku swojej skali. Traktuj nieskalibrowaną liczbę jako wskazówkę, zapisz ją i skalibruj na własnych etykietach, zanim jakikolwiek próg coś znaczy.

Jak użyć

Karta to dane. Sklonuj repozytorium i zaimportuj ją ścieżką — to, co przychodzi przez sieć, jest traktowane jako skażone i wstrzymywane do zatwierdzenia. Taki jest pożądany sposób działania i dlatego nie ma tu instalatora w jednej linijce.

git clone https://github.com/brcampidelli/chimera-agent.git
chimera skills-import chimera-agent/skills/system-one-design/SKILL.md

Integralność

SHA-256 pliku w postaci opublikowanej. Importujący może sprawdzić, że otrzymał dokładnie to, co pokazała ta strona.

347bfae9f826835f3351a60983b826f9b59fe5a7a9c1b87bf1a7bc3415ece699

Przeczytaj kartę w repozytorium →