spinny:~/writing $ vim context-engineering-agents.md
1~2Самое актуальное слово в маленьком мире агентов ИИ — это контекстная инженерия.3~4Кажется, что придумали еще один лейбл, чтобы продавать то, что мы уже делали. Частично это так. Однако, как это часто бывает, ярлык приживается, потому что он дает название настоящей боли.5~6Боль вот в чем: модели не терпят неудачу только потому, что они «не думают». Они часто терпят неудачу, потому что мы отправляем их работать не в ту комнату.7~8Мы даем им старые инструкции. Мы скрываем от него важные файлы. Мы передаем им слишком длинные документы, в которых не говорится о главном. Мы показываем им логи без приоритета. Мы даем им десять инструментов, не объясняя, когда их использовать. Затем мы удивляемся, если агент движется как человек, проснувшийся в неизвестной квартире.9~10Подсказка — это фраза, которую вы ему говорите. Контекст — это мир, который вы готовите вокруг него.11~12## От оперативного проектирования к контекстному проектированию13~14Оперативное проектирование часто рассматривалось как письмо. Подбирайте правильные слова, правильно спрашивайте, добавляйте примеры, указывайте формат.15~16Контекстная инженерия ближе к архитектуре.17~18Вы не просто спрашиваете «как мне сформулировать запрос?». Он спрашивает:19~20- какая информация действительно необходима?21- что такое шум?22- что нужно восстанавливать на лету?23- что следует помнить?24- какие инструменты следует выставить?25- какие инструкции стабильны, а какие зависят от задачи?26- как мне дать понять агенту, что является авторитетным?27~28Это тонкое, но огромное изменение. Потому что когда вы работаете с агентами, контекст не является статическим блоком. Оно меняется на каждом шагу.29~30Агент открывает файл, что-то изучает, запускает тест, получает ошибку, обновляет план, вызывает инструмент, обнаруживает зависимость. На каждом круге ему приходится решать, что взять с собой, а что оставить.31~32Это инженерия.33~34## Контекст не свалка35~36Шаблоны с большими контекстными окнами вызвали у нас искушение: давайте закинем все подряд.37~38Это понятно. Если у меня есть миллион токенов, почему я должен выбирать?39~40Потому что даже когда можно вложить все, это не значит, что все помогает. Действительно, шум имеет свою цену. Это стоит токенов, внимания, задержек, качества. Модель может потеряться в ненужных деталях, как и мы, когда открываем двадцать вкладок и уже не помним, почему.41~42Хороший контекст имеет иерархию:43~441. системные инструкции и политики;452. конкретная цель;463. текущий статус;474. соответствующие данные;485. ограничения;496. доступные инструменты;507. отслеживать уже принятые решения.51~52Не нужно относиться ко всему на одном уровне. Пользовательская команда стоит больше, чем старая заметка. Неудачный тест теперь стоит больше, чем эстетические предпочтения трехмесячной давности. Политика безопасности ценнее, чем упрощение производственного процесса.53~54Контекстная инженерия также означает присвоение весов, а не только данных.55~56## Память: запоминайте меньше, запоминайте лучше57~58Память у агентов — одна из самых скользких тем.59~60Как пользователь, вы хотите, чтобы агент знал вас. Вы хотите, чтобы он запомнил тон, план, условности, уже решенные вещи. Как инженер, вы знаете, что каждое постоянное воспоминание также представляет собой риск: оно может быть неправильным, старым, слишком личным, слишком общим, не поддающимся проверке.61~62Полезная память должна обладать как минимум тремя качествами:63~64- происхождение: откуда эта информация?65- дата: когда это было правдой?66- цель: для какого типа задачи его следует использовать?67~68Без этих трёх вещей память становится суеверием.69~70Мне нравится думать об агентной памяти как о рабочей тетради, а не как о волшебном разуме. Есть временные заметки, подтвержденные решения, стилевые предпочтения, технические ограничения, ссылки на источники. Некоторые вещи устаревают. Некоторые придется переписать. Некоторых необходимо устранить, поскольку агент неправильно их понял.71~72Хорошая система должна сделать это обслуживание нормальным. Не героический.73~74## Извлечение и инструменты — это не одно и то же.75~76Когда мы говорим о контексте, мы часто сразу оказываемся на RAG. Встраивание, векторная база данных, фрагментирование, переранжирование.77~78Все полезно. Но извлечение — это только один из способов внести информацию в модель. Он не единственный.79~80Агент может получить контекст, читая файлы, запрашивая API, вызывая сервер MCP, открывая браузер, запуская тесты, выполняя поиск в Slack, просматривая панель управления и спрашивая человека.81~82Самое интересное — решить, какой маршрут использовать и когда.83~84Если агенту необходимо ответить на исторический вопрос, возможно, достаточно просто поиска. Если ему нужно исправить ошибку, он должен прочитать настоящий код. Если ему нужно понять, почему развертывание не удалось, ему нужно просмотреть свежие журналы. Если вам нужно написать клиенту, вам необходимо получить тон, историю и статус заявки. Если он должен действовать на производстве, он должен спросить разрешения.85~86Контекст — это не база данных. Это рабочий процесс.87~88## Хороший агент тоже умеет игнорировать89~90Признаком зрелости агентов будет способность сказать: мне не нужна эта информация.91~92Это кажется тривиальным, но это очень сложно. Многие агентные системы накапливаются. Каждый вызов инструмента добавляет текст. Каждая ошибка остается в буфере. Каждое чтение файла добавляется в стек. В конце концов, у модели очень долгая история и нет карты.93~94Сжатие необходимо. Необходим промежуточный синтез. Его необходимо структурировать.95~96Не «вот и все, что было», а:97~98- цель все еще актуальна;99- текущая гипотеза;100- файлы уже проверены;101- принятые решения;102- открытые риски;103- следующее действие.104~105Это делает агента менее театральным и более полезным. Не потому, что он кажется умнее, а потому, что у него опрятный стол.106~107## Разработка контекста для команд, а не для оперативных исполнителей108~109Причина, по которой эта тема меня интересует, заключается в том, что она перекладывает ответственность с человека на систему.110~111В оперативном проектировании часто побеждает тот, кто лучше всех умеет разговаривать с моделью. В контекстной инженерии побеждает команда, которая лучше всего организует свою работу: документацию, соглашения, проблемы, логи, тесты, право собственности, именование, источники.112~113Чистый репозиторий становится лучшим контекстом. Хорошо написанная тема становится лучшим топливом. Обновленный модуль Runbook экономит токены и избавляет от беспокойства. Четкий журнал изменений уменьшает галлюцинации.114~115Это хорошая и несколько неприятная новость. Красиво, потому что вознаграждает за хорошие практики. Неудобно, потому что умной подсказкой все не решить.116~117Агенты усиливают гигиену системы, которую они обнаруживают.118~119## Как бы я применил это завтра120~121Если бы мне пришлось внедрить контекстную инженерию в реальный проект, я бы начал с мелочей:122~123- краткий и поддерживаемый файл инструкций проекта;124- хорошие примеры ожидаемых результатов;125- список доступных инструментов и случаев, в которых их можно использовать;126- архитектурные решения, написанные цитируемо;127- выпуск с минимальным обязательным контекстом;128- легко получить логи и тесты;129- постоянная память, изменяемая человеком.130~131Тогда я бы измерил простую вещь: сколько раз агенту приходится просить разъяснений или уходить не в ту сторону?132~133Если это происходит часто, я бы не стал сразу добавлять модель большего размера. Я бы посмотрел на контекст.134~135## Мое чтение136~137Да, контекстная инженерия — немного раздутое слово. Но концепция здравая.138~139Это напоминает нам, что интеллект агента заключается не только в модели. Оно заключается в той среде, которую мы ему готовим: что он видит, что он помнит, что ему можно делать, что ему делать запрещено, какие источники он признает истинными.140~141Человеческая часть такова: хорошая подготовка контекста — это форма заботы. Он говорит агенту, а также команде: «Я не хочу, чтобы вы гадали, я хочу, чтобы у вас было то, что вам нужно».142~143Меньше магии. Более чистая комната. Агентам это нужно так же, как и нам.144~145## Источники146~147- [Блог LangChain: Развитие контекстной инженерии](https://blog.langchain.com/the-rise-of-context-engineering/)148- [Саймон Уиллисон: Контекстная инженерия](https://simonwillison.net/2025/Jun/27/context-engineering/)149- [Протокол контекста модели: введение] (https://modelcontextprotocol.io/introduction)150- [Антропный: создание эффективных агентов](https://www.anthropic.com/engineering/building-efficient-agents)151- [OpenAI: Новые инструменты для создания агентов](https://openai.com/index/new-tools-for-building-agents/)152~
NORMAL · context-engineering-agents.md [readonly]152 lines · :q to close