Ответы на вопросы после митапа [Live demo: агент для разработки за 40 минут]

Pavel Veinik

Ответы на вопросы после митапа по AIПрикладная обсценная лингвистика в IT-индустрииОтветы на вопросы после митапа [Live demo: агент для разработки за 40 минут]Как шутить. Курс от того, кому не смешноИнструкция для внутреннего ЦаряКраткая история IT: От ткацкого станка до нейросетей

Инструменты, модели и MCP

Ландшафт AI-инструментов: как разобраться и выбирать

Вопросы участников:

  • Использую Cursor, но хотелось бы больше -вникнуть в инструменты по AI-разработке

Полезно перестать сравнивать инструменты в лоб и разложить их по трём категориям — они решают разные задачи, и мерить их одной линейкой неверно:

  1. IDE-плагин — надстройка над вашим редактором. Пример — GitHub Copilot: работает в VS Code, JetBrains, Neovim, Xcode; сильная сторона — широта редакторов и интеграция с GitHub (PR, issues), в 2026 добавлен агентный режим.
  2. AI-native IDE — форк VS Code с ИИ во всех слоях. Cursor (режим Composer, Tab-автодополнение, индексация кодбазы) и Windsurf (агент Cascade). Вы живёте внутри редактора, агент планирует и правит по нескольким файлам.
  3. Терминальный агент — работает в консоли с прямым доступом к файловой системе. Claude Code и Aider: читают, пишут, запускают команды и гоняют тесты в автономном цикле собрать контекст — план — правка — проверка.

Вторая ось — автодополнение против агентного цикла. Inline-подсказки по мере набора (Copilot, Cursor Tab) — это одно; агентный цикл, который сам исследует репозиторий и проводит многофайловое изменение, — другое. Cursor и Windsurf закрывают обе оси; Claude Code и Aider про агентный режим, автодополнения у них нет.

Практический способ выбора — не искать один инструмент на всё, а направлять по фазе и типу задачи:

  • Быстрые правки, автодополнение, работа в одном-двух файлах — Cursor или Copilot: скорость и эргономика в редакторе важнее глубины.
  • Многофайловый рефакторинг, архитектура, отладка сквозь весь кодбейс — Claude Code: большой рабочий контекст и автономное исполнение тянут крупные изменения лучше инструментов, привязанных к IDE.
  • CI и headless-прогоны — Claude Code или Aider: оба запускаются из командной строки без открытого редактора.
  • Локальные модели, приватность, изоляция от сети — Aider или Continue.dev с Ollama или LM Studio.

Многие инженеры комбинируют: Copilot или Cursor для ежедневного набора, Claude Code — для тяжёлых задач.

Что пойдёт не так:

  • Попытка натянуть один инструмент на всё. Среднему инженеру проще жить в IDE; терминальный агент раскрывается на сложных задачах, а не на автодополнении.
  • Счёт за токены на агентном использовании. Форки IDE с фиксированной подпиской предсказуемее по цене; агент с оплатой за токен на интенсивном рефакторинге легко выходит в неожиданный счёт — держите бюджет под контролем.
  • Пропуск ревью. Ни один инструмент не заменяет человеческое ревью, тесты и проверки безопасности перед продакшном.

Ссылки


Какая модель лучше и под какую задачу?

Короткий честный ответ — лучшей модели вообще нет, есть лучшая под конкретную ось задачи. Модели расходятся по сильным сторонам: рассуждение (reasoning) против кодирования, скорость и цена против качества, длина контекста против стоимости токена. Reasoning-модели тратят дополнительное время на размышление перед ответом — это помогает на сложных задачах и мешает там, где нужны скорость и дешевизна.

Поэтому вопрос лучше переформулировать: под какую ось я выбираю. Ориентиры по независимым бенчмаркам:

  • Агентное кодирование — SWE-bench Verified (отобранный людьми набор из 500 реальных задач с GitHub) и Terminal-Bench (работа в терминале).
  • Многоязычное редактирование кода — Aider polyglot: 225 задач Exercism на C++, Go, Java, JavaScript, Python и Rust; метрика — доля правок, проходящих тесты с первого раза.
  • Рассуждение и наука — GPQA Diamond, Humanity's Last Exam и подобные.
  • Скорость и цена — токены в секунду, время до первого токена и цена за 1M токенов.

Композитные индексы удобны для быстрого сравнения. Например, Artificial Analysis Intelligence Index в версии v4.1 складывает девять оценок в четыре категории с весами: агенты 34%, кодирование 24%, научное рассуждение 24%, общее 18%. Но итоговое число надо читать вместе с разбивкой по категориям — две модели с близким индексом бывают сильны в разном.

Что делать на практике:

  1. Смотрите живые независимые лидерборды, а не пресс-релизы лабораторий. Ландшафт меняется за недели, любой заученный список моделей устаревает.
  2. Не путайте, что измеряет бенчмарк. Пользовательские предпочтения в чате (LMArena) — это не то же самое, что реальное прохождение тестов (SWE-bench, Aider polyglot).
  3. Прогоните свою задачу. Небольшой собственный набор для оценки из ваших типичных задач скажет больше, чем любой публичный рейтинг.

Что пойдёт не так:

  • Доверие одному числу. Цифры, которые лаборатории публикуют сами, зависят от обвязки-агента (scaffold): одна и та же модель на разных каркасах даёт заметный разброс. Для спорных значений предпочитайте независимые прогоны.
  • Контаминация бенчмарков. Старые задачи попадают в обучающие данные; наборы, свободные от контаминации (например LiveCodeBench, который постоянно берёт свежие задачи), честнее.
  • Заучивание лидера. К моменту, когда вы внедрили модель как лучшую, вышло новое поколение. Стройте процесс так, чтобы модель менялась легко (абстракция над провайдером), а не привязывайтесь к имени.

Ссылки


Как прокачивать Claude Code по мере роста проекта?

Главный ограничитель, из которого растут почти все практики Claude Code, один: контекстное окно наполняется быстро, и по мере наполнения качество падает. Всё окно держит разговор, прочитанные файлы и вывод команд. Отсюда цель прокачки — не запихнуть в модель побольше, а держать в контексте только релевантное. Anthropic описывает семь способов управлять поведением (CLAUDE.md, rules, skills, subagents, hooks, output styles и добавление в системный промпт); ключ — что когда грузится и сколько стоит контекста.

По мере роста проекта связку наращивают слоями:

  1. CLAUDE.md — факты, которые нужны всегда. Build-команды, структура каталогов, конвенции команды. Корневой файл грузится в начале сессии и переживает компакцию (перечитывается заново). Держите его под 200 строк, назначьте владельца и ревьюйте правки как код. Файл в подкаталоге (например app/api/CLAUDE.md) грузится по требованию, когда Claude читает файл в этой папке.
  2. Когда CLAUDE.md распухает — разгружайте его. Конвенции конкретной папки уносите в правила с областью пути (.claude/rules/ с paths:), а процедуры и чеклисты — в skills (.claude/skills/). Тело skill грузится только при вызове, поэтому длинный справочник почти ничего не стоит, пока не нужен.
  3. Subagents — изоляция контекста. Файлы в .claude/agents/ для сайд-задач: глубокий поиск, аудит зависимостей, разбор логов. Subagent работает в своём окне и возвращает в основную сессию только summary — тяжёлые промежуточные результаты не засоряют главный разговор.
  4. Hooks — детерминированная автоматизация. Команды, которые срабатывают на событиях жизненного цикла: линтер после правки, бэкап истории, блокировка команды. Настоящий guardrail — это hook или permissions, а не строчка в CLAUDE.md: hook на PreToolUse может проверить вызов и вернуть код 2, чтобы его запретить.
  5. MCP — подключение внешних инструментов и данных (см. следующий подраздел).

Диагностика по мере роста: /context показывает, что занимает окно; /doctor — сколько описаний skills обрезано или выкинуто из-за бюджета; /compact сжимает разговор вручную; plan mode заставляет сначала предложить план, не трогая файлы.

Что пойдёт не так:

  • Всё в CLAUDE.md. В общем репозитории файл растёт как любой бесхозный конфиг: каждая команда дописывает своё, ничего не удаляется. Каждая строка грузится в каждую сессию каждого инженера, жжёт токены и размывает внимание к тому, что действительно важно.
  • Запрет вида не делай X в CLAUDE.md. Инструкция — неверный инструмент для жёсткого запрета: под давлением, в длинной сессии или при инъекции промпта из прочитанного файла модель может её нарушить. Жёсткий запрет — только hook или permissions.
  • Процедура на 30 строк в CLAUDE.md. Сценарий деплоя или чеклист ревью — это skill, тело которого грузится по вызову, а не факт, который висит в контексте постоянно.
  • Личные предпочтения в проектный файл. То, что касается только вас, — в пользовательский ~/.claude/CLAUDE.md, не в общий проектный.

Ссылки


Подключение и использование MCP: типичные трудности

Вопросы участников:

  • Бывают трудности с подключением и использованием MCP

MCP (Model Context Protocol) — открытый протокол, через который агент общается с внешними инструментами и данными. Архитектура — client-host-server поверх JSON-RPC 2.0 со stateful-сессиями и согласованием возможностей при старте. Практически важнее всего транспорт, их три:

  • stdio — локальный процесс: Claude Code запускает сервер как подпроцесс и общается через stdin/stdout. Для локальных инструментов (файловая система, браузер, база данных).
  • HTTP (streamable-http) — удалённый сервер по URL, рекомендуемый транспорт для облачных сервисов.
  • SSE — устаревший, заменяется на HTTP; большинство серверов уже отвечают по streamable-http на том же URL.

Подключение в Claude Code делается из терминала до старта сессии:

# удалённый HTTP-сервер
claude mcp add --transport http sentry https://mcp.sentry.dev/mcp
# локальный stdio-сервер
claude mcp add playwright -- npx -y @playwright/mcp@latest

Проверка — claude mcp list в шелле или /mcp внутри сессии; конфиг живёт в .mcp.json (область project), либо локально, либо на уровне пользователя (--scope user). Для stdio-серверов обязателен разделитель -- перед командой: без него Claude Code попытается разобрать флаги сервера как свои.

Когда сервер краснеет, диагностика идёт по транспорту. Универсальный разбор — по статусу в /mcp:

  • ✗ Failed to connect плюс 401/403 — истёкшая авторизация (классика корпоративных серверов за SSO). Переавторизуйтесь из /mcp; auth-ошибки Claude Code не повторяет.
  • ✗ Failed to connect плюс 404/405 — сервер жив, но URL неверный. Проверьте путь эндпоинта: curl -I <url> — ответ даже с кодом 404 значит, что сервер доступен.
  • 5xx или таймаут — временная ошибка; Claude Code сам повторяет с нарастающей задержкой (до 3 раз при старте, до 5 при обрыве в сессии).
  • stdio-сервер отвалился — это процесс, он не переподключается сам. Запустите команду сервера вручную в шелле (claude mcp get <name> покажет её): если падает там — вот ваша настоящая ошибка.

Типичные грабли:

  • Забыли -- перед командой stdio-сервера — сервер не стартует.
  • Windowsnpx нужно оборачивать в cmd /c, иначе Connection closed.
  • Логи в stdout ломают поток JSON-RPC; серверу писать логи только в stderr.
  • Пропущена env-переменная (API-ключ) — сервер стартует, но не отдаёт ни одного инструмента; передайте её через --env KEY=value или поле env в .mcp.json.
  • Долгий первый запуск (npx качает пакет) упирается в таймаут 30 секунд — поднимите его переменной MCP_TIMEOUT.
  • url без type в .mcp.json читается как stdio и роняет сервер — добавьте "type": "http".
  • Сервер исчез в другой папке — это область видимости: local-сервер виден только в своём проекте.

Что пойдёт не так на масштабе: много MCP-серверов раздувают контекст схемами инструментов. Claude Code откладывает загрузку схем — грузит имена, а полную схему тянет по требованию; не держите включёнными сервера, которые не нужны в текущей задаче. И помните про безопасность: MCP-инструмент — это канал для инъекции промпта, поэтому подключайте только проверенные сервера (например из каталога Anthropic).

Ссылки