Jak Napisać Dobry program.md: Praktyczny Przewodnik po Instrukcjach dla Agentów AI
Autoresearch Andreja Karpathy’ego udowodnił, że dobrze napisany plik Markdown może kierować agentami AI do dokonywania prawdziwych odkryć naukowych przez noc. Ale nie wszystkie pliki program.md są sobie równe.
Jakość twoich instrukcji Markdown bezpośrednio determinuje jakość wyjścia agenta AI. Niejasny program.md produkuje przypadkowe, nieskierowane eksperymenty. Precyzyjny produkuje ukierunkowane ulepszenia, które się kumulują.
Oto jak napisać program.md, który faktycznie działa.
Struktura Dobrego program.md
Każdy skuteczny program.md potrzebuje pięciu sekcji, niezależnie od tego, czy prowadzisz badania ML, czy inną pracę sterowaną przez agentów.
1. Kontekst: Co Agent Musi Wiedzieć?
Agent zaczyna z zerowym rozumieniem twojego projektu. Twoim pierwszym zadaniem jest danie mu wystarczającego kontekstu do podejmowania inteligentnych decyzji.
Co uwzględnić:
- Co projekt robi
- Jak wygląda baza kodu
- Kluczowe pliki i ich przeznaczenie
- Terminologia specyficzna dla domeny
- Obecny stan i znane problemy
Co pominąć:
- Oczywiste informacje, które LLM już zna
- Szczegóły implementacji, które może odczytać z kodu
- Historię, która nie wpływa na bieżące decyzje
2. Cele: Co Agent Powinien Optymalizować?
To najważniejsza sekcja. Agent potrzebuje jasnego, mierzalnego celu.
W autoresearchu cel jest prosty: zmniejszyć val_bpb (bity walidacji na bajt). Agent może to mierzyć po każdym 5-minutowym treningu.
Dla własnych projektów definiuj sukces w terminach, które agent może ocenić:
- “Zmniejsz czas ładowania strony poniżej 2 sekund”
- “Zwiększ pokrycie testami powyżej 80%”
- “Zmniejsz rozmiar bundle o co najmniej 15%”
Niejasne cele jak “ulepsz kod” dają niejasne wyniki. Mierzalne cele dają ukierunkowane ulepszenia.
3. Ograniczenia: Czego Agent Nigdy Nie Powinien Robić?
Ograniczenia są równie ważne jak cele. Bez nich agent może znaleźć kreatywne rozwiązania, których nie chcesz --- jak usunięcie wszystkich testów, aby “poprawić” szybkość budowania.
Typowe ograniczenia:
- Nie modyfikuj plików testowych ani kodu ewaluacyjnego
- Nie zmieniaj publicznego API
- Nie wprowadzaj nowych zależności
- Nie przekraczaj budżetu pamięci
- Zachowaj czytelny i łatwy w utrzymaniu kod
W autoresearchu kluczowym ograniczeniem jest to, że tylko train.py może być modyfikowany. Pipeline danych, kod ewaluacyjny i zestaw testowy są zablokowane. Zapobiega to manipulowaniu przez agenta metrykami.
4. Strategia: Jak Agent Powinien Podejść do Problemu?
Tu błyszczy twoja wiedza dziedzinowa. Wiesz rzeczy, których agent nie wie --- które kierunki są obiecujące, a które to ślepe uliczki.
Dobre instrukcje strategiczne:
- “Zacznij od dostrajania hiperparametrów przed zmianami architektonicznymi”
- “Skup się na mechanizmie uwagi --- bieżąca implementacja może być suboptymalona”
- “Spróbuj najpierw technik regularyzacji: dropout, zanik wag, norma warstw”
- “Unikaj zmian, które zwiększają czas treningu o więcej niż 10%”
Złe instrukcje strategiczne:
- “Spróbuj wszystkiego” (zbyt niejasne)
- “Zmień szybkość uczenia na 0.001” (zbyt szczegółowe --- mikrozarządzasz)
Właściwy środek to wskazówki kierunkowe, które pozwalają agentowi eksplorować w produktywnych granicach.
5. Ewaluacja: Jak Agent Powinien Oceniać Sukces?
Agent musi wiedzieć, jak mierzyć, czy jego zmiany pomogły. W autoresearchu jest to wbudowane w pętlę: jeśli val_bpb poprawia się, zachowaj zmianę. Jeśli nie, cofnij.
Dla innych kontekstów zdefiniuj swoje kryteria oceny:
- Które metryki są ważne?
- Jaki próg liczy się jako ulepszenie?
- Jak agent powinien obsługiwać niejednoznaczne wyniki?
- Kiedy agent powinien zatrzymać się i złożyć raport?
Typowe Błędy
Bycie Zbyt Niejasnym
“Ulepsz model” nie daje agentowi żadnego kierunku. Bądź konkretny co do tego, co “lepszy” oznacza, jak to mierzyć i które podejścia próbować pierwsze.
Bycie Zbyt Szczegółowym
“Zmień linię 47, aby użyć szybkości uczenia 3e-4” niweluje cel inżynierii agentowej. Masz ustawiać kierunek, nie dyktować implementację. Pozwól agentowi eksplorować.
Zapominanie o Ograniczeniach
Bez ograniczeń agenci znajdą ścieżkę najmniejszego oporu --- co często nie jest tym, czego chcesz. Agent, któremu powiedziano “zmniejsz czas treningu”, może pominąć połowę danych treningowych, jeśli tego nie zabroniłeś.
Nieiterowanie
Twój pierwszy program.md nie będzie doskonały. Obserwuj, co agent robi, obserwuj, gdzie idzie źle, i aktualizuj swoje instrukcje. Najlepsze pliki program.md ewoluują przez dziesiątki iteracji.
Pętla Iteracyjna
Pisanie program.md to nie jednorazowy proces. To pętla:
- Napisz swój początkowy
program.md - Uruchom agenta
- Przejrzyj co agent zrobił
- Zaktualizuj swoje instrukcje na podstawie tego, co zadziałało, a co nie
- Powtarzaj
Każda iteracja sprawia, że twoje instrukcje są bardziej precyzyjne. Po kilku rundach będziesz mieć program.md, który konsekwentnie produkuje dobre wyniki.
To jest podstawowa umiejętność inżynierii agentowej: nie pisanie kodu, ale pisanie coraz skuteczniejszych instrukcji agentowych poprzez iterację.
Budowanie Biblioteki Referencyjnej
Najlepsze pliki program.md nie biorą się znikąd. Są zbudowane na głębokiej wiedzy o domenie --- dokumentacji, artykułach, najlepszych praktykach i przykładach.
Gdy natkniesz się na przydatne materiały referencyjne w sieci, zapisz je jako Markdown. Następnie przy pisaniu program.md możesz wciągnąć odpowiedni kontekst, cytować konkretne techniki i dać agentowi wiedzę tła, której potrzebuje.
Badacze, którzy osiągają najlepsze wyniki z autoresearchu, to nie tylko dobrzy pisarze. To eksperci domenowi z dobrze zorganizowanym materiałem referencyjnym, który mogą syntetyzować w jasne instrukcje agentowe.
Save konwertuje dowolną stronę internetową na czysty Markdown --- idealny do budowania biblioteki referencyjnej, która zasila skuteczne pliki program.md. Wypróbuj Save za darmo.