Zbieranie danych: trajektorie i odtwarzanie śladów
Odtwarzaj udane ślady agenta, aby zbudować zbiór treningowy par (stan, działanie).
Zbieranie danych: trajektorie i odtwarzanie śladów to bezpłatna lekcja AI Agents na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej AI Agents, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs AI Agents zawiera 4 lekcji w sumie.
Dane są produktem
Dostrajanie to w 10% modelowanie, a w 90% dane. Największe poprawy jakości wynikają z lepszych zbiorów danych, a nie z większych modeli.
Jak wygląda trajektoria agenta
Trajektoria obejmuje jeden kompletny przebieg agenta:
trajectory = {
'task': 'Refactor the auth module',
'messages': [
{'role': 'system', 'content': '...'},
{'role': 'user', 'content': 'Task...'},
{'role': 'assistant', 'content': 'Plan...', 'tool_calls': [...]},
{'role': 'tool', 'content': '...'},
...
],
'outcome': 'success'
}Pozyskiwanie śladów z produkcji
Najlepszym źródłem danych jest rzeczywiste użycie:
for trace in production_traces:
if trace.outcome == 'success' and trace.user_feedback == 'thumbs_up':
save_to_training_set(trace)Odtwarzanie śladu
Należy odtworzyć udany ślad, aby zweryfikować powtarzalność oraz wykorzystać go jako przykład treningowy:
def replay(trace):
messages = trace.messages[:1] # just the initial user msg
for expected_msg in trace.messages[1:]:
actual = agent.step(messages)
if actual.role == 'assistant':
messages.append(actual)
elif expected_msg.role == 'tool':
messages.append(expected_msg) # replay tool resultFiltrowanie śladów wysokiej jakości
- Wynik to sukces (testy przechodzą, użytkownik jest zadowolony)
- Ślad jest krótki (brak chaotycznych prób)
- Wywołania narzędzi są sensowne
- Nie wywołano alertów bezpieczeństwa
Destylacja z dużych modeli
Należy użyć silnego modelu (GPT-4o), aby wygenerować trajektorie dla modelu przeznaczonego do dostrojenia (Llama 8B):
for task in task_list:
traj = big_model_agent.run(task)
if traj.success:
save_for_training(traj)
# Now fine-tune Llama 8B on the GPT-4o traces.Odrzucanie złych trajektorii
Jeden zły przykład może zepsuć proces trenowania. Należy stosować agresywne filtrowanie:
- Odrzucać ślady zawierające błędy
- Odrzucać ślady z halucynacjami dotyczącymi narzędzi
- Odrzucać ślady obejmujące więcej niż N wywołań narzędzi
- Odrzucać ślady sprzeczne z zasadami
Format dostrajania
OpenAI oczekuje formatu JSONL z komunikatami:
{"messages": [{"role": "system", "content": "..."}, {"role": "user", "content": "..."}, {"role": "assistant", "content": "..."}]}
{"messages": [...]}Wywołania narzędzi w danych treningowych
Należy uwzględnić tool_calls i komunikaty narzędziowe — model uczy się pełnej pętli agenta:
{
"messages": [
{"role": "user", "content": "Weather in Paris?"},
{"role": "assistant", "tool_calls": [{...}]},
{"role": "tool", "tool_call_id": "...", "content": "{...}"},
{"role": "assistant", "content": "It is 18C and sunny."}
]
}Przykłady negatywne
Niektóre metody treningowe (DPO, KTO) korzystają również ze ZŁYCH przykładów:
preferences = [
{'prompt': '...', 'chosen': good_response, 'rejected': bad_response}
]Kalkulator rozmiaru zbioru danych
Przybliżona liczba przykładów potrzebna dla poszczególnych metod treningowych:
- SFT dla formatu: 500–2000
- SFT dla nowej możliwości: 5 tys.–50 tys.
- DPO: 1 tys.–10 tys. par preferencji
- RLHF / RLAIF: 10 tys.–100 tys.+
Wersjonowanie zbioru danych
Traktuj zbiór danych jak kod. Wersjonuj go; śledź, które ślady zostały uwzględnione; zapewniaj powtarzalne buildy.
Selekcja z udziałem człowieka
Najlepsze zbiory danych przechodzą przez kolejkę weryfikacji dokonywanej przez człowieka. Narzędzia takie jak Argilla, Label Studio i Snorkel usprawniają ten proces.
Najlepsze źródło śladów
Jakie jest źródło trajektorii treningowych o najwyższej wartości informacyjnej?
Podsumowanie
Trajektorie z rzeczywistych, udanych przebiegów są bezcenne. W razie potrzeby należy przeprowadzać destylację z silnych modeli. Należy stosować agresywne filtrowanie. Zbiór danych powinien być wersjonowany.
Często zadawane pytania
Czy lekcja „Zbieranie danych: trajektorie i odtwarzanie śladów” jest bezpłatna?
Tak — pełny tekst „Zbieranie danych: trajektorie i odtwarzanie śladów” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu AI Agents, przejdź na CoddyKit PRO. Kurs AI Agents zawiera 4 lekcji w sumie.
Co nauczysz się w „Zbieranie danych: trajektorie i odtwarzanie śladów”?
Odtwarzaj udane ślady agenta, aby zbudować zbiór treningowy par (stan, działanie). Ćwiczysz AI Agents z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć AI Agents?
Nie wymagamy żadnego doświadczenia. AI Agents w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.
Ile czasu zajmuje lekcja „Zbieranie danych: trajektorie i odtwarzanie śladów”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji AI Agents?
Tak. Każda lekcja AI Agents zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Kiedy dostrajanie przewyższa promptowanie
- Zbieranie danych: trajektorie i odtwarzanie śladów
- LoRA i QLoRA do ekonomicznego dostrajania
- Ocena dostrojonych modeli względem bazowego