Gdy AI pomaga szybko dopisywać kolejne funkcje, łatwo powielić tę samą regułę w formularzu, integracji i instrukcji dla modelu. DRY pomaga utrzymać spójność: zmiana zasady powinna mieć jedno wyraźne miejsce, zamiast wymagać szukania kilku rozchodzących się kopii.
W tym poradniku
DRY: jedno źródło danej reguły
DRY oznacza Don’t Repeat Yourself. Andy Hunt i Dave Thomas w The Pragmatic Programmer odnoszą tę zasadę do jednoznacznej reprezentacji wiedzy w systemie. Identyczne linie kodu są tylko jednym z możliwych objawów powielania.
Problem pojawia się, gdy ten sam termin ważności, warunek rabatu lub sposób ustalania statusu zapisujemy niezależnie w kilku miejscach. Po zmianie jednej kopii inne mogą nadal działać według starej zasady. Podobnie wyglądające funkcje mogą natomiast obsługiwać różne reguły i nie muszą zostać połączone.
Nie kopiuj aktualnych faktów do każdej instrukcji AI
W projekcie można oddzielić wspólne instrukcje zachowania modelu, polecenie konkretnego zadania i dane pobierane do tego zadania. Na przykład sposób przygotowania szkicu odpowiedzi może pozostać stały, podczas gdy cena lub status zamówienia powinny pochodzić z aktualnego systemu.
Jeśli cennik jest przepisany do pięciu promptów, jego aktualizacja wymaga znalezienia pięciu kopii. Praktycznym rozwiązaniem może być jeden zatwierdzony cennik oraz przekazanie modelowi potrzebnych pozycji przy danym zapytaniu. Sam odnośnik do pliku nie wystarcza: aplikacja lub narzędzie musi rzeczywiście odczytać właściwą wersję i udostępnić jej treść.
Materiał Anthropic o zarządzaniu kontekstem opisuje dobieranie potrzebnych informacji i pobieranie ich w trakcie zadania. Zastosowanie DRY do firmowych danych i promptów jest tutaj wskazówką projektową, nie nazwą funkcji konkretnego modelu.
Przykład projektowy: ważność vouchera sprawdza aplikacja
Wyobraźmy sobie panel klienta, endpoint API i pomocnika AI wyjaśniającego zasady wykorzystania vouchera. Trzy osobne implementacje wyliczające ważność mogą zacząć się różnić. Wspólna funkcja lub usługa powinna ustalać status na podstawie zapisanych danych i uzgodnionej reguły. Model otrzymuje wynik oraz przygotowuje jego zrozumiałe objaśnienie.
Walidacja w przeglądarce może poprawiać wygodę użytkownika, ale serwer musi sprawdzać żądanie niezależnie. DRY nie oznacza usunięcia tej kontroli. Chodzi o spójne źródło reguły, nie o zaufanie każdemu wynikowi przesłanemu przez klienta.
Najpierw ustal, co faktycznie jest wspólne
Zanim poprosisz AI o usunięcie duplikacji, wskaż przykłady i oczekiwane zachowanie. Dobra propozycja powinna wyjaśnić, które fragmenty reprezentują tę samą regułę, gdzie będzie jej wspólne źródło i które różnice pozostaną celowo.
- Porównaj zachowanie przed zmianą i po niej, także w przypadkach granicznych.
- Wersjonuj wspólne prompty i sprawdzaj ich wpływ na wszystkie zadania, które z nich korzystają.
- Testuj reguły biznesowe niezależnie od tego, jak model formułuje odpowiedź.
- Nie uznawaj samego zmniejszenia liczby linii za dowód poprawnego refaktoringu.
Wspólna abstrakcja ma mieć wspólny powód zmiany
Dwa komunikaty mogą wyglądać podobnie, ale dotyczyć różnych procesów. Potwierdzenie rezerwacji i reklamacja nie muszą korzystać z jednego rozbudowanego promptu pełnego warunków. Jeśli zmieniają się z różnych powodów, osobne instrukcje mogą być łatwiejsze do utrzymania.
Nie ma obowiązku wydzielania każdej pary podobnych fragmentów. Najpierw rozpoznaj regułę i jej właściciela, potem dobierz najprostszą formę współdzielenia. Tak DRY współpracuje z KISS: ograniczamy rozchodzące się kopie, ale nie budujemy uniwersalnego mechanizmu bez konkretnej potrzeby.
Potrzebujesz pomocy?