Przejdź do treści

Skills

declare-when-a-setting-takes-effect

Ustawienie, które zapisuje się poprawnie i nic nie zmienia aż do restartu, jest gorsze od takiego, które zawodzi. Powiedz, kiedy zaczyna działać, i wyprowadź to z miejsca, w którym jest odczytywane.

WzorzecPochodzenie: cleanStatus: activev0.1.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

  • dodawanie ekranu ustawień
  • konfiguracja jest cache'owana
  • czemu moja zmiana nie zadziałała
  • wymagany restart

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

Udostępniasz ustawienie w interfejsie użytkownika, a kod, który je wykorzystuje, odczytuje wartość w innym momencie niż przy każdym użyciu: przy starcie procesu, przy budowaniu sesji, albo do obiektu z cache.

Nie dotyczy to ustawienia odczytywanego przy każdym użyciu. Te obowiązują natychmiast i nie powinny nic mówić — notatka o opóźnieniu, którego nie ma, uczy tej samej nieufności co jej brak.

Rób

  1. Dla każdego ustawienia znajdź linię, która je odczytuje. To, kiedy zaczyna obowiązywać, jest właściwością tej linii, nie kontrolki.
  2. Preferuj sprawienie, by odczyt był na żywo. Właściwość rozwiązywana przy dostępie zwykle nic nie kosztuje i usuwa problem zamiast go opisywać.
  3. Tam, gdzie naprawdę się nie da — coś jest uruchamiane przy starcie — oznacz to etykietą i generuj ją z serwera albo z tego samego modułu, który zna miejsce odczytu, żeby etykieta nie mogła się rozjechać.
  4. Grupuj etykiety w sensowne klasy: obowiązuje teraz, obowiązuje w twojej następnej rozmowie, obowiązuje po restarcie.

Unikaj

Ekran ustawień, który potwierdza zapis i po cichu nic nie robi. To gorsze niż błąd: błąd wysyła użytkownika na poszukiwanie przyczyny, a sukces wysyła go, by winił funkcję, model albo siebie.

Unikaj zaszywania na sztywno w interfejsie listy "wymaga restartu". Ta lista jest kopią wiedzy, która żyje gdzie indziej, i staje się nieaktualna, gdy tylko miejsce odczytu się przesunie — po cichu, dokładnie tak, jak powstał pierwotny problem.

Unikaj też ogólnej notatki "niektóre ustawienia wymagają restartu". Jest prawdziwa, bezużyteczna i obejmuje te, które go nie wymagają.

Sprawdź

Zmień ustawienie, użyj funkcji i obserwuj zachowanie — nie ekran. Odczytaj wartość z działającego systemu, nie z formularza, który właśnie wysłałeś.

Wersja mechaniczna: sprawdź, że żadne ustawienie nie jest oznaczone jako natychmiastowe i że każde ustawienie widoczne w interfejsie pojawia się w klasyfikacji publikowanej przez serwer.

Ryzyko

Etykiety dodają szumu do ekranu ustawień, a ekran, na którym każdy wiersz ma odznakę, to ekran, na którym odznaki nic nie znaczą. Potrzebują jej tylko te opóźnione.

Głębsze ryzyko to traktowanie etykiety jako naprawy. Zadeklarowanie, że kontrolka jest bezczynna do restartu, jest uczciwe; uczynienie jej działającą na żywo jest lepsze, a etykieta nie powinna stać się wygodnym sposobem na uniknięcie trudniejszej zmiany.

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/declare-when-a-setting-takes-effect/SKILL.md

Integralność

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

2f1c9fd86ac24a61af75b11945b5042d1a2b53ef081cd9a87c3031d5fa97fcf3

Przeczytaj kartę w repozytorium