Ключ к раскрытию истинного потенциала искусственного интеллекта лежит в контекстной инженерии, выходящей за рамки расплывчатых подсказок и позволяющей создавать надежных агентов, ориентированных на корпоративные потребности, пишет на портале The New Stack Крис дю Туа, директор по маркетингу Tabnine.
Тематика дискуссии об ИИ в софтверной инженерии быстро меняется, переходя от простого автозавершения кода к полномасштабному обоснованию и автоматизации инженерной работы. Будущее разработки все больше определяется ИИ-агентами. Этот переход уже приносит конкретные результаты, такие как агенты, предназначенные для проверки кода и комплексной интеграции.
Однако этот захватывающий сдвиг в сторону агентов сопровождается парадоксом производительности. Мы видим впечатляющие результаты тестирования моделей ИИ наряду с отдельными сообщениями о их значительной полезности при выполнении различных задач. Однако, когда эти системы подвергаются тщательной проверке в реальных сценариях, результаты оказываются неоднозначными или даже отрицательными.
Данные о возможностях ИИ частично противоречивы. Хотя многие люди отмечают, что ИИ очень полезен для выполнения сложных задач по разработке ПО, рандомизированные контролируемые испытания (RCT) показывают значительное замедление в конкретных условиях разработки с высокими ставками.
Это противоречие заставляет сделать важный вывод: чтобы преодолеть текущие ограничения и предотвратить накопление дорогостоящего технического долга, ключ к созданию более эффективных и надежных агентов ИИ заключается в отказе от расплывчатых подсказок — практики, которую мы называем «вайб-кодингом» — и переходе к контекстной инженерии. Мы должны обеспечить повсеместное и строгое понимание контекста, чтобы направлять творческий потенциал агентов.
Текущие проблемы внедрения агентного ИИ
Снижение производительности с реальных условиях
Наиболее яркое свидетельство, бросающее вызов преобладающему оптимизму, поступает из эмпирических исследований. Проведенное в 2025 г. RCT, предназначенное для измерения влияния инструментов ИИ на производительность опытных Open Source-разработчиков, привело к неожиданному результату. Когда разработчикам было разрешено использовать передовые инструменты ИИ (такие как Cursor Pro с продвинутыми моделями, например Claude 3.5/3.7 Sonnet), они тратили на решение задач на 19% больше времени, чем при работе без помощи ИИ. Это представляло собой значительное замедление.
Условия этого исследования были специально разработаны для оценки реальной полезности, в нем приняли участие опытные разработчики, работающие над реальными задачами (исправление ошибок, добавление функций, рефакторинг) в крупных, знакомых репозиториях, в которые они вносили свой вклад на протяжении многих лет. Важно отметить, что для определения успеха требовалось, чтобы пользователь был уверен, что код пройдет проверку, включая требования, связанные с документацией, стилем и охватом тестирования.
Результат исследования резко контрастирует с восприятием разработчиков. Они ожидали, что ИИ ускорит их работу на 24%, и даже после замедления они по-прежнему считали, что ИИ ускорил их работу на 20%. Этот разрыв между восприятием и реальностью поразителен и свидетельствует о том, что собственная оценка ускорения может быть неточной и чрезмерно оптимистичной. Кроме того, замедление сохранялось в ситуациях с очень высокими стандартами качества или множеством неявных требований, таких как документирование или линтинг, изучение и выполнение которых требует от человека значительного времени.
Ловушка вайб-кодинга и технический долг
Основной причиной этого реального замедления часто является фундаментальное несоответствие между гибкостью больших языковых моделей (LLM) и строгостью, требуемой производственными системами. Это несоответствие проявляется в вайб-кодинге.
Вайб-кодинг определяется как генерация кода с помощью ИИ на основе нечетких, неформальных подсказок, таких как «создать форму входа, которая выглядит круто», а не предоставление точных, структурированных спецификаций. ИИ легко заполняет пробелы на основе обучающих шаблонов, что приводит к быстрой начальной разработке.
Эта практика представляет собой логическое продолжение принципов динамической типизации в эпоху ИИ. И динамическая типизация (например, классический JavaScript или Python), и вайб-кодинг отдают приоритет немедленной разработке и гибкости над строгостью на начальном этапе, и обе парадигмы накапливают технический долг, который в конечном итоге необходимо будет погасить с процентами.
Скрытые затраты на вайб-кодинг являются существенными и критическими:
• Риски безопасности. ИИ может воспроизводить небезопасные шаблоны из своих обучающих данных, опуская важные механизмы проверки, такие как защита от межсайтовой подделки запросов, обработка ошибок или защита от межсайтового скриптинга.
• Отсутствие контекста. ИИ не может объяснить ход своих рассуждений, а значит, что не может дать ответ, «почему» выбрана конкретная реализация. Разработчики могут пропустить фазу создания документации людьми, что приведет к трудностям для новых членов команды.
• Кошмары обслуживания. Сгенерированный код часто отличается ненужной сложностью или избыточной логикой, и рефакторинг становится затруднительным, поскольку изменения могут нарушить скрытые зависимости.
• Отложенная валидация. Ошибки переносятся в фазу выполнения, а не сразу обнаруживаются компилятором или валидатором, что чревато их потенциальным проявлением в производственной среде,.
Если организации масштабируют ИИ, не решая эти проблемы, они рискуют быть накрытыми цунами технического долга.
Ограничения неосведомленных агентов
Впечатляющий успех полностью автономных агентов в таких бенчмарках, как SWE-Bench Verified или RE-Bench, где они могут использовать сложные шаблоны или выбирать миллионы токенов, часто скрывает ограничения их практического использования. Эти тесты обычно жертвуют реалистичностью ради масштаба, полагаясь на автономные задачи и алгоритмическую оценку, которые не отражают сложность реальных требований, предшествующий контекст или удовлетворенность человека (включая стиль и архитектуру).
Важно понимать, что, хотя эти модели демонстрируют высокую способность при максимальном извлечении информации (миллионы выборочных токенов), эта способность не обязательно транслируется в реальную эффективность или сложную полезность в реальном мире. Кроме того, исследователи утверждают, что если системы ИИ смогли бы существенно ускорить работу разработчиков в этих реалистичных условиях RCT, это могло бы сигнализировать о быстром ускорении прогресса НИОКР в области ИИ, что, в свою очередь, могло бы привести к значительным дестабилизирующим рискам, включая риски распространения и сбои в системах безопасности и надзора.
Контекстная инженерия: решение для более интеллектуальных агентов
Ключом к раскрытию всего потенциала ИИ без погружения в технический долг является глубокая интеграция агента в экосистему разработки, процесс, который мы определяем как контекстную инженерию.
Персонализация через контекстную осведомленность
Платформы ИИ должны быть чем-то большим, чем общие подсказки в чате. Контекстно-ориентированные платформы ИИ предоставляют высокорелевантный код и рекомендации, понимая конкретные приложения, требования и рабочий процесс разработчика.
Такая персонализация позволяет ИИ функционировать в качестве полноценного члена команды разработчиков. Она может происходить на нескольких уровнях, обеспечивая ИИ доступ к проприетарным некодовым знаниям, необходимым для принятия архитектурно обоснованных решений.
Максимизация эффективности агентов с помощью подключения к данным
Чтобы агенты могли генерировать эффективный и безопасный код, им требуется как немедленный, так и расширенный контекст:
• Немедленный контекст (IDE). Агенты должны использовать все доступные данные непосредственно из IDE разработчика. Сюда входит важная информация, такая как типы переменных, комментарии, открытые файлы, импортированные пакеты и библиотеки, что позволяет ИИ предоставлять релевантный код и рекомендации «из коробки».
• Расширенный контекст (организация). Производительность агентов значительно повышается за счет подключения системы к необходимым для проекта дополнительным корпоративным источникам информации, включая кодовую базу, требования, документацию и инструменты, такие как системы тикетов (Atlassian Jira) и репозитории документации (например, Confluence).
Переход от вайб-кодинга к контекстной инженерии
Стратегическое использование контекста позволяет разработчикам заменить расплывчатые запросы строгими спецификациями, что коренным образом меняет модель взаимодействия с агентом:
• Структурированные спецификации: разработчики должны выйти за рамки простых запросов, таких как «Добавить управление пользователями», и вместо этого использовать контекстные подсказки, которые выполняют функции структурированных спецификаций. Эти спецификации четко определяют критические требования, такие как использование интерфейсов TypeScript, определение схемы PostgreSQL, проверка входных данных, обязательное ограничение скорости, требование ведения журнала аудита и установка целей для покрытия модульного тестирования (например, покрытие >80%).
• Внедрение защитных механизмов: организации должны формализовать свои уникальные передовые практики, политики и инженерные стандарты и преобразовать их в четкие правила, которые контролируют поведение агента ИИ. Эти правила должны соблюдаться как в IDE во время работы разработчика, так и на этапе запроса на внесение изменений или проверки кода.
• Гибридный рабочий процесс: наиболее устойчивый рабочий процесс требует дисциплинированного гибридного подхода. Роль человека заключается в тщательной предварительной подготовке: определении типов и интерфейсов и, что особенно важно, написании тестовых примеров перед генерацией. Далее следует контекстно-ориентированный запрос, который направляет генерацию ИИ. Затем код, сгенерированный ИИ, подвергается необходимым этапам проверки, включая статическую проверку типов, запуск тестов, сканирование безопасности и, наконец, систематическую проверку кода и его рефакторинг человеком.
Важность корпоративного контекста
Истинные возможности агентного ИИ определяет не просто контекст, а корпоративный контекст. В то время как большинство ИИ-помощников работают в узких рамках одного файла или хранилища, инженерия корпоративного уровня требует агентов, которые понимают всю систему работы. Это включает не только кодовую базу, но и неявную архитектуру, политики соответствия, конвейеры развертывания и организационные намерения, стоящие за каждым запросом на изменение.
Контекст как архитектура, а не память
Корпоративный контекст — это не временное состояние или история чата, а живая архитектура интеллектуальной собственности организации. Каждая служба, интерфейс и схема представляют собой договор между системами и командами. Когда агенты работают без доступа к этой архитектуре, они принимают решения в вакууме. Результатом является синтаксически правильный, но семантически неправильный код: логика, которая «работает» локально, но нарушает глобальную согласованность. Таким образом, контекстная инженерия заключается в кодировании этого архитектурной осведомленности на уровне рассуждений агента, обеспечивая соответствие каждой генерации замыслу организации.
Соединение организационного графа
Корпоративные системы представляют собой сети взаимосвязей между службами, заявками, документацией и людьми. Эффективные агенты должны уметь ориентироваться в этом графе. Подключаясь к таким инструментам, как Jira, Confluence и внутренние репозитории Git, агент получает ту же ситуационную осведомленность, что и старший инженер: понимание «почему» относительно той или иной функции, компромиссы, которые уже были приняты, и зависимости, ограничивающие реализацию. Эта глубокая интеграция позволяет агенту рассуждать в том же семантическом пространстве, что и сама организация, а не только в синтаксическом пространстве кода.
Управляемость и отслеживаемость, заложенные в дизайн
Корпоративный контекст также создает основу для управления в масштабе. Когда каждое действие ИИ привязано к четким стандартам, проектной документации и ссылкам на проблемы, соответствие нормативным требованиям становится встроенным свойством рабочего процесса, а не надстройкой. Это гарантирует, что генерация кода является не только быстрой, но и подотчетной. Аудитируемость, отслеживаемость происхождения и объяснимость возникают естественным образом, когда агенты работают в структурированных, богатых контекстом средах. Каждая сгенерированная функция может быть отслежена до исходного бизнес-требования, связанного с ней тикета Jira и политик, которые легли в основу ее проектирования.
Контекст как новый источник влияния
Так же, как когда-то компилятор стал усилителем для инженера, теперь корпоративный контекст является усилителем для агента. Контекст преобразует общий интеллект в организационный. Он позволяет одной и той же модели вести себя по-разному для финтех-компании, обеспечивающей соответствие стандарту PCI-DSS, телекоммуникационной компании, обеспечивающей соответствие стандартам 3GPP, или медицинской компании, работающей в соответствии с ограничениями HIPAA — не путем переобучения модели, а путем окружения ее контекстуальной тканью организации. Это ядро устойчивого ускорения: ИИ, который кодирует не только быстро, но и правильно, безопасно и в соответствии с ДНК компании.
Заключение
Противоречие между удобством быстрых итераций и необходимостью архитектурной строгости не ново в разработке ПО. Эволюция от динамической типизации к промежуточной (смеси статической и динамической) типизации (такой как TypeScript) дает важные уроки: хотя удобное срезание углов, такое как вайб-кодинг, обеспечивает мгновенную реализацию, оно оборачивается высокой ценой в виде сложности и обслуживания в дальнейшем. Устойчивые практики разработки ПО требуют дисциплины, сложных инструментов и накопленного опыта.
Для современных команд разработчиков ПО путь вперед ясен: наиболее успешные команды будут использовать агентов для быстрых итераций, строго соблюдая стандарты качества. Направляя ИИ на основе мудрости, накопленной за десятилетия опыта в области ПО, — обеспечивая четкие типы, надежные тесты и структурированные спецификации — мы можем перейти от надежды на ускорение к созданию надежного ПО.
Вайб-кодинг предложил заманчивый короткий путь — быстрый, выразительный и, казалось бы, творческий. Но он пожертвовал теми самыми структурами, которые делают корпоративное ПО надежным. Так же как нетипизированные языки когда-то заставили отрасль столкнуться со скрытыми затратами на отладку и обслуживание, теперь контекстно-независимая ИИ-генерация раскрывает свои собственные недостатки: код, который компилируется, но не является корпоративным.
Следующим рубежом является не просто контекстная инженерия, а корпоративная контекстная инженерия — дисциплина, которая связывает креативность на основе ИИ с организационной реальностью. В этой модели контекст — это не эфемерное окно памяти или умный трюк с подсказками; это корпоративная ткань. Он включает определения типов, кодовые базы, тестовые фреймворки, шаблоны проектирования, политики соответствия, бизнес-логику и институциональную историю, закодированную в тикетах Jira, страницах Confluence и внутренних API.
Цель — не более быстрое кодирование, а создание более правдивого кода — ПО, которое воплощает намерения предприятия, работает в рамках его ограничений и надежно обеспечивает долговременную ценность. Контекстная инженерия — это способ перехода от вайб-генерации к управляемой генерации. Корпоративный контекст — это то, как мы гарантируем, что создаваемые нами сегодня агенты станут не просто ускорителями работы, но и хранителями систем, которые определяют будущее.































