Инструменты и подходы к AI-кодингу в команде
Ключевые тезисы
- Инструменты индивидуальны: У каждого разработчика свой набор (Claude Code, Cursor, Codex, ITM2, MCP), но базовый минимум — стабильный доступ к LLM и понимание лимитов.
- Командная работа сложнее: Требует синхронизации инструментов, единого контекста (базы знаний), качественных тестов и человеческого контроля (Human-in-the-loop).
- Большие репозитории: Усиливают потребность в «понижении размерности» — проекциях кода (архитектура, документация) для навигации и понимания.
- Роль инженера изменилась: Меньше рутинного кодинга, больше принятия решений, проектирования архитектуры и управления сложностью.
- Раздражители: Забывание контекста моделями, «тупление» моделей перед выходом, сложность передачи «картинки» проекта команде, податливость агентов.
Инструментарий участников
Андрей Бреслав
- Основной агент: Claude Code (через плагин VS Code).
- Ключевой инструмент: CSP (CodeSpeak) — система, которая поддерживает актуальную «спеку» (требования) на основе промтов, синхронизированную с кодом. Помогает в ревью и понимании контекста.
- Минимализм: Считает, что можно работать и с «голым» агентом, но для командной работы нужна инфраструктура для синхронизации контекста.
Валера Ковальский
- Основной агент: Claude Code (Opus), Cursor.
- Оркестрация: Работает с «флотом» из 3-5 агентов через ITM2 (терминал) на проект (разработчик, мониторинг API, управление инфраструктурой).
- База знаний: Собственная система Nonip (на основе подхода Lantir/Gotum) для хранения знаний в виде структурированного Markdown.
- Инфраструктура: Управляет десятками GPU/CPU серверов. Использует Codex для автоматического ревью на GitHub.
Максим Ключников
- Основные инструменты: Cursor для точной работы, Claude — для креативных и неточных задач.
- Подход: Детерминированные скрипты и блоки workflow, которые комбинируются по мере необходимости. Нет стабильного воркфлоу, всё постоянно меняется.
- Инфраструктура: Агентизированные процессы деплоя, CI/CD, мониторинга. Сбор трейсов агентов для анализа эффективности.
Работа в команде: что меняется
Синхронизация и контекст
- Единый инструментарий и база знаний становятся критически важными для совместимости и понимания.
- Потери контекста между людьми и агентами усиливаются. Нужны системы для его компактизации и обмена (например, общие чаты для людей и агентов).
- «Неявный контекст» (знания в головах) нужно явно извлекать и документировать.
Контроль качества
- Ревью чужого агентного кода сложно. Помогают:
- Высокоуровневые артефакты (актуальные спеки, архитектурные описания), а не только код.
- Качественные тесты, особенно мутационное тестирование (хоть и медленное).
- Автоматические ревью-агенты для первичного скрининга.
- Human-in-the-loop обязателен. Полная автономия (AI factories) пока не работает.
Менеджмент и метрики
- В энтерпрайзе растёт запрос на observability:
- Сколько кода генерирует ИИ vs пишет человек.
- Анализ эффективности агентов и затрат (токены, финансы).
- Зоопарк инструментов неизбежен в больших командах. Важно обеспечивать их бесшовную работу и тестировать.
Особенности больших репозиториев и проектов
Навигация и понимание
- 90-95% времени уходит на локализацию — поиск места в коде для изменений.
- Ключевая проблема: Дать агенту «за что зацепиться».
- Решение: «Понижение размерности» — создание иерархических проекций кода (архитектура, документация, графы зависимостей), по которым может навигировать агент.
Архитектура важна как никогда
- Хаос в коде становится гораздо болезненнее с агентами.
- Архитектурные принципы (SOLID, модульность, чёткие контракты) должны соблюдаться и на уровне высокоуровневых описаний.
- Архитектурные тесты — способ явно форсить архитектуру, которую агенты могут нарушить.
Инструменты для исследования
- Необходимы системы для быстрого индексирования и поиска по большой кодовой базе (не только grep).
- Важно уметь поднимать и тестировать целые системы end-to-end для валидации изменений агентами.
Что изменилось в работе инженера
Новые возможности
- Быстрое прототипирование и работа с незнакомыми технологиями.
- Глубокий анализ больших объёмов кода и сторонних библиотек.
- Массовое написание тестов (в т.ч. архитектурных), которое раньше было нерентабельно.
- Сдвиг фокуса: с написания кода — на организацию сложности, проектирование архитектуры и принятие решений.
Новые сложности и ловушки
- Пропала «отдыховая» часть работы — монотонное кодирование, дававшее психологическую разгрузку.
- Decision fatigue: Плотность принимаемых решений резко возросла, так как агенты быстро генерируют код и задают уточняющие вопросы.
- Иллюзия простоты: Кажется, что всё можно сделать быстро, но последние 10% работы и доводка качества по-прежнему требуют непропорционально много усилий.
- Cognitive surrender — тенденция перекладывать решения на агентов, хотя критичные решения должен принимать человек.
Что больше всего раздражает в AI-кодинге
Личные боли
- «Забывчивость» моделей и потеря контекста.
- «Тупление» (упрощение) моделей перед релизом в угоду оптимизации.
- Податливость агентов — они не спорят и не приносят неожиданных инсайтов, если их специально не направить.
- Нестабильность успеха (синдром «Zero-Shot»): задача может идеально решиться один раз, а при повторении — нет.
Командные проблемы
- Сложность передачи «картинки» (общего видения проекта) от одного человека/агента другому. Ведут к долгим согласованиям.
- Архитектурные споры между опытными разработчиками усиливаются, так как ставки выше.
- Ненужные созвоны никуда не делись, а иногда их становится даже больше для синхронизации контекста.
Проблемы и будущее AI-кодинга
Основные боли при работе с AI-агентами
Податливость и отсутствие инициативы
Агенты излишне послушны. Они не возвращаются с неожиданными, но важными инсайтами (например, "проект надо переделывать"), как это мог бы сделать человек. Им не хватает критического мышления и способности оспаривать задачу.
Скорость и прерывание потока
Текущая скорость генерации слишком низка для интерактивной работы. Ожидание ответа агента вынуждает постоянно переключать контекст, что разрушает концентрацию и продуктивность.
Проблема памяти и длинного контекста
Память — ключевое препятствие для развития агентов. Существующие решения неудовлетворительны. Длинный контекст (256К+ токенов) сложно контролировать, а информация в нём распределяется непредсказуемо.
Командные проблемы: размытие ответственности
- Люди склонны снимать с себя ответственность: "Агент сделал вот это".
- Возникает слепая вера в убедительные, но ошибочные выводы агентов, что может увести всю команду в неверном направлении.
Проблема удаления кода
Агенты отлично генерируют код, но крайне плохо его удаляют. Это приводит к накоплению "мёртвого кода", который не определяется статическим анализом. Основная причина — датасеты для обучения моделей не содержат примеров качественного удаления.
Пример: Есть пулл-реквесты, которые добавляют 1,000 строк, но удаляют 10,000. Однако собрать датасет для обучения "удалению" сложно, так как непонятно, кто и что определяет "хорошим удалением".
Некритичное доверие к промтам и скиллам
Люди (даже опытные) не тестируют промты и скиллы должным образом. Достаточно 1-2 успешных запусков, чтобы признать их рабочими, хотя они могут срабатывать с вероятностью 50%. Отсутствует культура евалюации (оценки) эффективности промтов.
Пути решения и взгляд в будущее
Накопление интуиции и инфраструктура
- Необходимо накапливать опыт и понимать, с какой сложностью задачи может справиться агент.
- Важно инвестировать в инфраструктурную составляющую: всё, что можно сделать детерминированным (скрипты, пайплайны), нужно выносить из нейросетей.
- Нейросети стоит применять только там, где путь решения заранее неизвестен.
- Критически важно собирать трейсы (логи) работы агентов для последующей аналитики и улучшения процессов.
Новый уровень абстракции
Ключевой выигрыш от AI — возможность говорить машине "примерно, что ты хочешь". Нужен переход на следующий уровень абстракции — новый "язык программирования" или система, которая позволит:
- Оперировать крупными компонентами, а не строчками кода.
- Сохранить принципы инженерии (SOLID, DRY), но скрыть ненужные детали.
- Понизить размерность задач для разработчика.
Оптимизация "железа" и гибридные системы
- Будут развиваться SLM (Small Language Models) для доменных задач, что снизит стоимость инференса.
- Квантование и оптимизация ускорят работу моделей.
- Будут популярны гибридные системы, сочетающие нейросети с классическими детерминированными решениями.
- Автономность агентов будет расти, но останется тесно связанной с культурой их использования.
Культура и кадры
- Разрыв между "вайп-кодерами" (быстро решающими задачи с AI) и инженерами, строящими сложные системы, будет увеличиваться.
- Важно качать базовые знания (как работает интернет, процессоры, компиляция) — это основа для эффективного использования AI.
- Необходимо адаптировать людей к работе с недетерминированными системами, развивать критическое мышление и умение верифицировать выводы агентов.
Ответы на частые вопросы
Q: Агент отклоняется от курса и называет это "фолбек" (fallback). Это маркер ошибки?
A: Да, часто, когда агент не может что-то проработать, он использует "фолбек" — например, решает всё замокать, сославшись на MVP. Это признак, что он упрощает задачу, уходя от сложной реализации.
Q: Можно ли экстренно остановить генерацию агента?
A: Да, в любой момент. Весь стейт агента сохраняется в трейсе сессии. Вы можете остановить генерацию, а потом продолжить с того же места, откатиться или создать форк сессии.
Q: Появятся ли архитектуры, оптимизированные под вайп-кодинг?
A: Концепт абсолютно здравый. В ограниченных доменах уже можно создавать "конструкторы" из готовых блоков. Будут появляться решения, позволяющие не-программистам создавать устойчивые приложения, с встроенным тестированием и обзерабилити.
Q: Как заставить агента остановиться и позвать человека, если он не уверен?
A: Пока это слабое место LLM. Модели плохо осознают границы своих знаний и склонны к галлюцинациям. Можно создать внешний мониторинговый процесс, который будет детектить нарушения, но это увеличит расход токенов и стоимость.
Выводы и советы
Главные выводы:
- Индивидуальный подход: Нет единого «правильного» инструмента. Базис — стабильный доступ к LLM и понимание её лимитов.
- Команда требует инфраструктуры: Критически важны единая база знаний, синхронизированный контекст, мощные тесты и человеческий контроль на ключевых этапах.
- Архитектура — король: В эпоху AI-кодинга важность продуманной архитектуры и её явного описания только возросла. Это основа для навигации и масштабирования.
- Роль инженера трансформировалась: От кодера к архитектору, менеджеру сложности и лицу, принимающему ключевые решения. Мягкие навыки и системное мышление ценятся как никогда.
- Дисциплина и инструменты побеждают хаос: Без грамотной организации процессов, контекста и контроля качества преимущества AI-кодинга быстро оборачиваются техническим долгом и неразберихой.
- Время ещё есть. Не верьте, что все уже всё автоматизировали — это не так. Адоптация в "бою" идёт медленнее, чем в новостях.
- Инвестируйте в высокоуровневую инженерию: архитектуру, системный дизайн, понимание больших систем.
- Учитесь формулировать мысли и верифицировать — это ключевые навыки для работы с AI.
"Вредные" советы для старта:
Начните с простого: Используйте доступные чат-боты (например, от Google), чтобы задавать вопросы и учиться проверять факты.
Тренируйте критическое мышление: Не принимайте информацию на веру, даже от руководителей (корректно).
Развивайте контекстную память: Учитесь быстро переключаться между задачами — это пригодится при работе с несколькими агентами.
Поборите страхи: Не бойтесь неизвестности, не думайте, что вы "не догоняете", и не останавливайтесь перед вопросом "с чего начать". Начинайте с основ.
Пример: Есть пулл-реквесты, которые добавляют 1,000 строк, но удаляют 10,000. Однако собрать датасет для обучения "удалению" сложно, так как непонятно, кто и что определяет "хорошим удалением".