Инструменты, модели и MCP
Ландшафт AI-инструментов: как разобраться и выбирать
Вопросы участников:
- Использую Cursor, но хотелось бы больше -вникнуть в инструменты по AI-разработке
Полезно перестать сравнивать инструменты в лоб и разложить их по трём категориям — они решают разные задачи, и мерить их одной линейкой неверно:
- IDE-плагин — надстройка над вашим редактором. Пример — GitHub Copilot: работает в VS Code, JetBrains, Neovim, Xcode; сильная сторона — широта редакторов и интеграция с GitHub (PR, issues), в 2026 добавлен агентный режим.
- AI-native IDE — форк VS Code с ИИ во всех слоях. Cursor (режим Composer, Tab-автодополнение, индексация кодбазы) и Windsurf (агент Cascade). Вы живёте внутри редактора, агент планирует и правит по нескольким файлам.
- Терминальный агент — работает в консоли с прямым доступом к файловой системе. 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 с фиксированной подпиской предсказуемее по цене; агент с оплатой за токен на интенсивном рефакторинге легко выходит в неожиданный счёт — держите бюджет под контролем.
- Пропуск ревью. Ни один инструмент не заменяет человеческое ревью, тесты и проверки безопасности перед продакшном.
Ссылки
- Agent Capability Comparison Matrix — Claude Code, Copilot, Cursor, Windsurf, Aider
- Claude Code vs Cursor vs GitHub Copilot vs Windsurf: CTO Guide
- Claude Code vs Cursor vs Windsurf vs Copilot 2026: real-world review
Какая модель лучше и под какую задачу?
Короткий честный ответ — лучшей модели вообще нет, есть лучшая под конкретную ось задачи. Модели расходятся по сильным сторонам: рассуждение (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%. Но итоговое число надо читать вместе с разбивкой по категориям — две модели с близким индексом бывают сильны в разном.
Что делать на практике:
- Смотрите живые независимые лидерборды, а не пресс-релизы лабораторий. Ландшафт меняется за недели, любой заученный список моделей устаревает.
- Не путайте, что измеряет бенчмарк. Пользовательские предпочтения в чате (LMArena) — это не то же самое, что реальное прохождение тестов (SWE-bench, Aider polyglot).
- Прогоните свою задачу. Небольшой собственный набор для оценки из ваших типичных задач скажет больше, чем любой публичный рейтинг.
Что пойдёт не так:
- Доверие одному числу. Цифры, которые лаборатории публикуют сами, зависят от обвязки-агента (scaffold): одна и та же модель на разных каркасах даёт заметный разброс. Для спорных значений предпочитайте независимые прогоны.
- Контаминация бенчмарков. Старые задачи попадают в обучающие данные; наборы, свободные от контаминации (например LiveCodeBench, который постоянно берёт свежие задачи), честнее.
- Заучивание лидера. К моменту, когда вы внедрили модель как лучшую, вышло новое поколение. Стройте процесс так, чтобы модель менялась легко (абстракция над провайдером), а не привязывайтесь к имени.
Ссылки
- Artificial Analysis LLM Leaderboard
- SWE-bench Leaderboards
- Aider LLM Leaderboards
- Artificial Analysis Intelligence Benchmarking Methodology
Как прокачивать Claude Code по мере роста проекта?
Главный ограничитель, из которого растут почти все практики Claude Code, один: контекстное окно наполняется быстро, и по мере наполнения качество падает. Всё окно держит разговор, прочитанные файлы и вывод команд. Отсюда цель прокачки — не запихнуть в модель побольше, а держать в контексте только релевантное. Anthropic описывает семь способов управлять поведением (CLAUDE.md, rules, skills, subagents, hooks, output styles и добавление в системный промпт); ключ — что когда грузится и сколько стоит контекста.
По мере роста проекта связку наращивают слоями:
- CLAUDE.md — факты, которые нужны всегда. Build-команды,
структура каталогов, конвенции команды. Корневой файл
грузится в начале сессии и переживает компакцию
(перечитывается заново). Держите его под 200 строк,
назначьте владельца и ревьюйте правки как код. Файл в
подкаталоге (например
app/api/CLAUDE.md) грузится по требованию, когда Claude читает файл в этой папке. - Когда CLAUDE.md распухает — разгружайте его. Конвенции
конкретной папки уносите в правила с областью пути
(
.claude/rules/сpaths:), а процедуры и чеклисты — в skills (.claude/skills/). Тело skill грузится только при вызове, поэтому длинный справочник почти ничего не стоит, пока не нужен. - Subagents — изоляция контекста. Файлы в
.claude/agents/для сайд-задач: глубокий поиск, аудит зависимостей, разбор логов. Subagent работает в своём окне и возвращает в основную сессию только summary — тяжёлые промежуточные результаты не засоряют главный разговор. - Hooks — детерминированная автоматизация. Команды,
которые срабатывают на событиях жизненного цикла: линтер
после правки, бэкап истории, блокировка команды. Настоящий
guardrail — это hook или permissions, а не строчка в
CLAUDE.md: hook на
PreToolUseможет проверить вызов и вернуть код 2, чтобы его запретить. - MCP — подключение внешних инструментов и данных (см. следующий подраздел).
Диагностика по мере роста: /context показывает, что
занимает окно; /doctor — сколько описаний skills обрезано
или выкинуто из-за бюджета; /compact сжимает разговор
вручную; plan mode заставляет сначала предложить план, не
трогая файлы.
Что пойдёт не так:
- Всё в CLAUDE.md. В общем репозитории файл растёт как любой бесхозный конфиг: каждая команда дописывает своё, ничего не удаляется. Каждая строка грузится в каждую сессию каждого инженера, жжёт токены и размывает внимание к тому, что действительно важно.
- Запрет вида не делай X в CLAUDE.md. Инструкция — неверный инструмент для жёсткого запрета: под давлением, в длинной сессии или при инъекции промпта из прочитанного файла модель может её нарушить. Жёсткий запрет — только hook или permissions.
- Процедура на 30 строк в CLAUDE.md. Сценарий деплоя или чеклист ревью — это skill, тело которого грузится по вызову, а не факт, который висит в контексте постоянно.
- Личные предпочтения в проектный файл. То, что касается
только вас, — в пользовательский
~/.claude/CLAUDE.md, не в общий проектный.
Ссылки
- Steering Claude Code: skills, hooks, subagents and more
- Best practices for Claude Code
- Extend Claude with skills — Claude Code Docs
- Create custom subagents — Claude Code Docs
Подключение и использование 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-сервера — сервер не стартует. - Windows —
npxнужно оборачивать в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).