Context engineering — это не prompt engineering. Это архитектура того что агент видит в каждый момент времени.
🧠 Что такое context rot
Агент начинает хорошо, потом теряет нить. Причина: тикеты, логи, старые идеи и ошибки накапливаются в контексте. Структура разрушается, модель галлюцинирует.
Симптомы:
· Агент повторяет уже отвергнутые подходы
· Игнорирует более ранние инструкции
· Начинает противоречить сам себе
📋 Что класть в контекст
Класть:
· Чёткое описание задачи и ожидаемый формат вывода
· Схему данных и примеры (не весь датасет)
· Ограничения и что уже попробовали (коротко)
· Примеры правильного и неправильного ответа
Не класть:
· Полные логи ошибок (только суть)
· Историю всех итераций (только последнее состояние)
· Данные которые агент не будет использовать
🏗 Архитектура для DS задач
Один большой контекст → плохо. Несколько специализированных агентов → лучше:
Агент 1: Data Inspector
→ анализирует датасет, возвращает краткий саммари
Агент 2: Feature Engineer
→ получает саммари, предлагает признаки
Агент 3: Model Selector
→ получает список признаков + метрику, выбирает алгоритм
Агент 4: Code Generator
→ получает только спецификацию, пишет код
Каждый агент видит только то что ему нужно.
📐 Правила для DS контекста
· Схема данных > примеры данных.
df.dtypes и df.describe() лучше чем df.head(100)· Формат вывода явно. «Верни JSON с полями X, Y, Z» вместо «верни результат»
· Один агент — одна задача. Не просите анализировать данные и писать код одновременно
· Саммари между агентами. Передавайте выводы, не логи
· Контекст сбрасывайте между независимыми задачами
🔄 Паттерн для итеративного анализа
# Плохо — один большой промпт со всем
prompt = f"""
Вот мои данные: {df.to_string()}
Вот мои ошибки: {error_log}
Вот что я пробовал: {history}
Сделай всё хорошо.
"""
# Хорошо — минимальный контекст на каждом шаге
context = {
"task": "predict churn",
"data_summary": df.describe().to_dict(),
"target": "churn",
"current_metric": {"roc_auc": 0.72},
"constraint": "inference < 100ms"
}
✅ Чеклист перед запуском агента
· Задача сформулирована в одном предложении?
· Формат вывода описан явно?
· Убраны данные которые агент не будет использовать?
· Контекст из прошлой сессии не тащим если задача новая?
· Есть пример правильного ответа?
📍 Навигация: Вакансии • Задачи • Собесы
Библиотека дата-сайентиста
#буст