Сбор данных: траектории и воспроизведение трасс
Воспроизводите успешные трассы агентов, чтобы создать обучающую выборку пар (состояние, действие)
«Сбор данных: траектории и воспроизведение трасс» — бесплатный урок AI Agents на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения AI Agents, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс AI Agents содержит 4 уроков всего.
Данные — это продукт
Дообучение — это 10% моделирования и 90% работы с данными. Наибольшие улучшения качества дают лучшие наборы данных, а не более крупные модели.
Как выглядит траектория агента
Траектория охватывает один полный запуск агента:
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'
}Сбор рабочих трассировок
Лучший источник данных — реальное использование:
for trace in production_traces:
if trace.outcome == 'success' and trace.user_feedback == 'thumbs_up':
save_to_training_set(trace)Воспроизведение трассировки
Воспроизведите успешную трассировку, чтобы проверить воспроизводимость и использовать её как обучающий пример:
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 resultФильтрация высококачественных трассировок
- Результат успешен (тесты проходят, пользователь доволен)
- Трассировка короткая (без бессмысленных повторов)
- Вызовы инструментов осмысленны
- Предупреждения системы безопасности не сработали
Дистилляция из больших моделей
Используйте сильную модель (GPT-4o), чтобы создать траектории для целевой модели дообучения (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.Удаление плохих траекторий
Один плохой пример отравляет обучение. Применяйте агрессивную фильтрацию:
- Удаляйте трассировки с ошибками
- Удаляйте трассировки с галлюцинациями инструментов
- Удаляйте трассировки, содержащие более N вызовов инструментов
- Удаляйте трассировки, противоречащие политике
Формат для дообучения
OpenAI ожидает JSONL с сообщениями:
{"messages": [{"role": "system", "content": "..."}, {"role": "user", "content": "..."}, {"role": "assistant", "content": "..."}]}
{"messages": [...]}Вызовы инструментов в обучающих данных
Включайте вызовы инструментов и сообщения от инструментов — модель учится всему циклу работы агента:
{
"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."}
]
}Отрицательные примеры
Некоторые методы обучения (DPO, KTO) также используют BAD-примеры:
preferences = [
{'prompt': '...', 'chosen': good_response, 'rejected': bad_response}
]Калькулятор размера набора данных
Приблизительный объём, необходимый для каждого метода обучения:
- SFT для формата: 500–2000
- SFT для новой способности: 5k–50k
- DPO: 1k–10k пар предпочтений
- RLHF / RLAIF: 10k–100k+
Версионирование набора данных
Работайте с набором данных как с кодом. Версионируйте его; отслеживайте, какие трассировки включены; обеспечивайте воспроизводимые сборки.
Кураторство с участием человека
Лучшие наборы данных проходят через очередь проверки человеком. Такие инструменты, как Argilla, Label Studio и Snorkel, делают этот процесс эффективным.
Лучший источник трассировок
Каков источник обучающих траекторий с наибольшей информативностью?
Повторение
Траектории из реальных успешных запусков — настоящий клад. При необходимости выполняйте дистилляцию из сильных моделей. Агрессивно фильтруйте данные. Версионируйте набор данных.
Часто задаваемые вопросы
Урок «Сбор данных: траектории и воспроизведение трасс» бесплатный?
Да — полный текст урока «Сбор данных: траектории и воспроизведение трасс» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс AI Agents, подпишись на CoddyKit PRO. Курс AI Agents содержит 4 уроков всего.
Чему я научусь в уроке «Сбор данных: траектории и воспроизведение трасс»?
Воспроизводите успешные трассы агентов, чтобы создать обучающую выборку пар (состояние, действие) Ты практикуешь AI Agents с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать AI Agents?
Предыдущий опыт не требуется. AI Agents на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.
Сколько времени занимает урок «Сбор данных: траектории и воспроизведение трасс»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке AI Agents?
Да. Каждый урок AI Agents включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Когда дообучение лучше подсказок
- Сбор данных: траектории и воспроизведение трасс
- LoRA и QLoRA для экономичного дообучения
- Оценка дообученных моделей по сравнению с базовой