TuBrief
구독 채널
비디오
커뮤니티

Чтобы не стать заложником кода, написанного ИИ, нужно начать с изоляции архитектуры

TuBrief 편집팀
2026년 7월 7일
0
Computing/Software

원본 영상을 바탕으로 AI의 도움을 받아 작성했습니다. 원본 영상이 기준입니다.

Русский한국어English中文हिन्दीEspañolDeutschالعربيةFrançaisPortuguêsBahasa Indonesia日本語

관련 영상

Пришло время позволить ИИ писать И читать?16:29

Пришло время позволить ИИ писать И читать?

Maximilian Schwarzmüller

커뮤니티의 다른 글

사내 시스템에 llm api 붙일 때 마주하는 현실적인 한계와 대응법

2026년 9월 13일

레거시 백엔드에 GPT-6 Astra 붙일 때 예산 승인과 보안 통과를 먼저 끝내는 법이 있습니다

2026년 9월 13일

에이전트끼리 대화하다 6천만 원 청구서가 나오는 이유

2026년 9월 13일

사내 RAG 벡터 검색에 Okta 권한 필터를 직접 거는 방법

2026년 9월 13일

브라우저 에이전트에게 내 구글 계정을 통째로 넘기면 안 되는 이유

2026년 9월 12일

Apple Won the AI Race

2026년 9월 12일

댓글 (0)

Log in to leave a comment

아직 작성된 글이 없습니다

© 2026 . All rights reserved.

TuBrief
구독 채널
비디오
커뮤니티
로그인

Чтобы не стать заложником кода, написанного ИИ, нужно начать с изоляции архитектуры

Скорость, с которой генеративный ИИ создает код, пугает. Однако настоящая проблема, с которой сталкиваются старшие инженеры и технические руководители, заключается в другом. Это когнитивная перегрузка, возникающая при попытке верифицировать код, созданный машиной за секунду, и интегрировать его в существующую систему. Отчет DORA 2025 от Google Cloud показывает, что внедрение ИИ увеличивает частоту развертывания, но вместе с тем повышает нестабильность системы. Это означает, что люди проводят ночи напролет, заделывая «синхолы», образовавшиеся из-за слепого копирования и вставки кода. Ручной метод, при котором человек поочередно читает и отлаживает код, не справляется с такой скоростью. Чтобы предотвратить превращение кода в «мусор», необходимо с самого начала создавать архитектурную среду, которая не доверяет логике, написанной ИИ, и автоматизировать процесс проверки.

Антикоррупционный уровень и изоляция на уровне «песочницы» аппаратного обеспечения

Код, предложенный ИИ, не понимает бизнес-контекста. Даже если он выглядит безупречно, он часто нарушает тонкие правила предметной области. Поэтому к логике, написанной ИИ, следует относиться как к внешней системе, которая может выйти из строя в любой момент. Именно поэтому уже на этапе проектирования необходимо внедрять антикоррупционный уровень (Anti-Corruption Layer), определяющий четкие интерфейсы абстракции, чтобы предотвратить проникновение загрязнений в существующую доменную область.

Простого разделения программной архитектуры недостаточно. Существует постоянный риск того, что ИИ-код импортирует вредоносную библиотеку или нарушит работу локальной файловой системы. Кейс компании Stripe, которая при проектировании своей системы автономных агентов «Minions» изолировала процесс компиляции ИИ-кода внутри независимой виртуальной машины, отделенной от хоста, и заблокировала сетевой доступ на уровне протоколов, весьма показателен. Чтобы защитить производственную среду, необходимо внедрить средства контроля на уровне ядра внутри CI/CD-конвейера.

  • Контроль системных вызовов на основе seccomp: Объявляются правила, блокирующие попытки несанкционированного получения прав (sudo), манипуляции с локальными сокетами или принудительную инъекцию процессов.
  • Изоляция ядра Landlock: Запрещает на аппаратном уровне попытки записи в исходный код или файлы конфигурации, за исключением указанных временных каталогов.
  • Контроль разрешенных сетевых подключений (Allowlist): Через DNS-фильтрацию полностью блокируется утечка данных на внешние хосты, кроме разрешенных репозиториев пакетов.

Необходимо построить среду выполнения с «нулевым доверием» (Zero Trust), которая не позволит недоверенному коду выйти за пределы контролируемой области. Эффект сокращения времени реагирования на сбои системы станет приятным дополнением.

Автоматизация логической проверки через регрессионное тестирование

Для разработчика опасно проверять сотни строк кода, выданных ИИ, собственными глазами. Когда мозг устает, срабатывает «предвзятость автоматизации», заставляющая просто пропускать код, который выглядит нормально. Дефекты в логике, созданной машиной, должны ловить не люди, а исполняемый тестовый код. Необходимо изменить последовательность действий: прежде чем давать ИИ команду написать код реализации, нужно заставить его создать тестовые случаи, определяющие спецификации работы. Это правило, требующее в первую очередь определить 5 категорий: нормальный поток, граничные условия, обработка исключений, ненормальный ввод и сценарии восстановления после сбоев.

Покрытие кода (line coverage), созданного с помощью ручного промптинга, обычно невысокое. Согласно операционным данным агентов DeepBlue, среднее покрытие тестами, полученное инженерами-людьми при общении с ИИ, составило всего 32%. Напротив, при использовании автоматизированных тестовых агентов, связывающих статический анализ исходного кода и сборку в рантайм-песочнице, без вмешательства человека удалось достичь 81% покрытия регрессионными тестами. Структура, в которой машина контролирует машину, работает гораздо эффективнее.

Для логики, где трудно провести сравнение выходных строк «один к одному» (например, результаты перевода естественного языка или динамические JSON-объекты), применяется техника LLM-as-a-Judge. В тестовую инфраструктуру внедряются фреймворки типа AgentProctor, а в модель оценки подаются шаблоны критериев. Если настроить модель оценки так, чтобы она количественно определяла, не нарушает ли возвращенный код ограничения безопасности, и установить «ограждения» (guardrails), блокирующие сборку при несоответствии стандартам, можно избавить людей от мучительного изучения «сырого» кода.

Отпечаток ИИ-кода в управлении конфигурациями

По мере роста объема кода, написанного машиной, в системе накапливается «когнитивный долг». Возникает странная ситуация: код работает, но никто не знает, почему именно так. ИИ-инструменты фокусируются только на решении локальных проблем, поэтому через несколько месяцев при рефакторинге всей системы выставляют огромный «счет». Чтобы сохранить проектный замысел, скрытый за кодовой базой, необходимо сделать процессом командного стандарта запись решений агента (Agent Decision Record). Это работа по фиксации в машиночитаемом формате причин выбора конкретной структуры и причин отказа от альтернатив.

Поскольку человеческой памяти доверять нельзя, в конвейер автоматизации нужно встроить фиксацию факта написания кода ИИ в историю коммитов. Использование инструментов типа библиотеки git-ai позволяет записывать примечания о вкладе агента в независимый метаданной путь refs/notes/ai, не загрязняя при этом тело сообщения коммита. Этапы построения Git-конвейера очевидны:

  1. Настройка pre-commit hooks в локальной среде разработки и репозитории CI-сервера.
  2. Внедрение технологии статического сопоставления, которая анализирует абстрактное синтаксическое дерево исходного кода, загруженного в область подготовленных файлов (staging), и извлекает хеш-отпечаток SHA-256.
  3. При выполнении хука принудительная вставка в метаданные Git Trailers (машинных тегов), таких как AI-Footprint: model=gpt-4o, и информации о соавторе.

Накопление метаданных таким образом позволяет в будущем в режиме реального времени получать статистику цепочки поставок: в какой версии ИИ-модели сконцентрированно создавались конкретные дефекты или уязвимости безопасности. Это предохранительное устройство, предотвращающее адскую ситуацию, когда из-за отсутствия документации по передаче дел приходится вручную разбирать десятки тысяч строк кода.

Разделение 3-уровневого шлюза обеспечения качества и роли человека-рецензента

Если в очереди пулл-реквестов начинает скапливаться код, созданный без разбора, ручное ревью кода парализуется. Чтобы поддерживать продуктивность, процесс ревью нужно разделить на два потока: детерминированные шлюзы обратной связи, ориентированные на машину, и оценку структурного влияния, ориентированную на человека. Альтернативой является 3-уровневый шлюз обеспечения качества, работающий сразу после загрузки кода в среду CI.

Во-первых, устанавливается высокоскоростной «шлюз линтинга», который за 5 секунд определяет синтаксическую структуру и соответствие подсказкам типов. Если здесь обнаружены проблемы — немедленный отказ. Во-вторых, проводится «селективное тестирование влияния», при котором выполняются только модульные тесты, находящиеся в зоне влияния измененных файлов (около 2%). В-третьих, запускается цикл автоматизации «автономной коррекции», где в случае провала теста стек ошибок возвращается агенту в качестве контекста, позволяя ему исправить ошибку самостоятельно (максимум 2 попытки).

Только чистые фрагменты кода, прошедшие этот цикл автономной коррекции, появляются на экране старшего разработчика. Человек-рецензент больше не тратит время на поиск опечаток или указания на конвенции. Время старшего инженера должно использоваться только для макроконтроля: проверки того, не разрушились ли границы домена из-за прямой связи между компонентами; подтверждения того, что отражена ли защита (backpressure) для защиты нижележащего уровня персистентности при резком росте трафика; анализа структуры системы и экономической эффективности инфраструктуры, такой как накладные расходы на производительность SQL N+1. Это единственный способ защитить производственную систему в потоке кода, который льется как из прорвавшейся плотины.