Этот конспект не сохранится

Закроешь вкладку — потеряешь. Зарегистрируйся — и он будет в библиотеке навсегда.

Telegram

Ваш конспект

YouTubeКак писать код с AI-агентами?

🛠️ Инструменты и подходы к 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. Модели плохо осознают границы своих знаний и склонны к галлюцинациям. Можно создать внешний мониторинговый процесс, который будет детектить нарушения, но это увеличит расход токенов и стоимость.


💎 Выводы и советы

Главные выводы:

  1. Индивидуальный подход: Нет единого «правильного» инструмента. Базис — стабильный доступ к LLM и понимание её лимитов.
  2. Команда требует инфраструктуры: Критически важны единая база знаний, синхронизированный контекст, мощные тесты и человеческий контроль на ключевых этапах.
  3. Архитектура — король: В эпоху AI-кодинга важность продуманной архитектуры и её явного описания только возросла. Это основа для навигации и масштабирования.
  4. Роль инженера трансформировалась: От кодера к архитектору, менеджеру сложности и лицу, принимающему ключевые решения. Мягкие навыки и системное мышление ценятся как никогда.
  5. Дисциплина и инструменты побеждают хаос: Без грамотной организации процессов, контекста и контроля качества преимущества AI-кодинга быстро оборачиваются техническим долгом и неразберихой.
  6. Время ещё есть. Не верьте, что все уже всё автоматизировали — это не так. Адоптация в "бою" идёт медленнее, чем в новостях.
  7. Инвестируйте в высокоуровневую инженерию: архитектуру, системный дизайн, понимание больших систем.
  8. Учитесь формулировать мысли и верифицировать — это ключевые навыки для работы с AI.

"Вредные" советы для старта:

  • ⚡ Начните с простого: Используйте доступные чат-боты (например, от Google), чтобы задавать вопросы и учиться проверять факты.
  • 🧠 Тренируйте критическое мышление: Не принимайте информацию на веру, даже от руководителей (корректно).
  • 🔀 Развивайте контекстную память: Учитесь быстро переключаться между задачами — это пригодится при работе с несколькими агентами.
  • ❗ Поборите страхи: Не бойтесь неизвестности, не думайте, что вы "не догоняете", и не останавливайтесь перед вопросом "с чего начать". Начинайте с основ.