Добавить в корзинуПозвонить
Найти в Дзене
Цифровая Переплавка

Claude Code в больших кодбазах: почему «упряжка» важнее модели и что это значит для команд

Anthropic выкатила гайд про использование Claude Code в гигантских монорепозиториях — миллионы строк, COBOL рядом с Go, документация устарела ещё до твоего найма. И главный тезис у них контринтуитивный: успех или провал внедрения определяется не тем, какую модель ты используешь (Sonnet или Opus), а тем, как ты выстраиваешь экосистему вокруг неё. Они называют это «harness» — упряжка. И вот тут начинается самое интересное, потому что эта мысль ломает привычный шаблон «давайте дождёмся следующей модели — там всё будет лучше». Чтобы понять, почему «упряжка» вообще существует как концепция, нужно начать с того, как Claude Code устроен под капотом — и чем он отличается от привычных AI-помощников вроде раннего Cursor или Sourcegraph Cody. Большинство таких инструментов работают по схеме RAG (Retrieval-Augmented Generation). Алгоритм такой: индексатор обходит репозиторий, нарезает код на куски (chunks), прогоняет каждый через embedding-модель и получает вектор — числовое представление в простр
Оглавление

Anthropic выкатила гайд про использование Claude Code в гигантских монорепозиториях — миллионы строк, COBOL рядом с Go, документация устарела ещё до твоего найма. И главный тезис у них контринтуитивный: успех или провал внедрения определяется не тем, какую модель ты используешь (Sonnet или Opus), а тем, как ты выстраиваешь экосистему вокруг неё. Они называют это «harness» — упряжка. И вот тут начинается самое интересное, потому что эта мысль ломает привычный шаблон «давайте дождёмся следующей модели — там всё будет лучше».

Главный сдвиг: агентский поиск против векторных индексов

Чтобы понять, почему «упряжка» вообще существует как концепция, нужно начать с того, как Claude Code устроен под капотом — и чем он отличается от привычных AI-помощников вроде раннего Cursor или Sourcegraph Cody.

Большинство таких инструментов работают по схеме RAG (Retrieval-Augmented Generation). Алгоритм такой: индексатор обходит репозиторий, нарезает код на куски (chunks), прогоняет каждый через embedding-модель и получает вектор — числовое представление в пространстве размерностью 1024–3072. Эти векторы лежат в специализированной БД (Pinecone, Weaviate, pgvector). Когда ты задаёшь вопрос, твой запрос тоже превращается в вектор, и БД ищет «ближайших соседей» по косинусной близости.

В маленьком репозитории это работает. В монорепо на 10 миллионов строк, где тысячи разработчиков делают коммиты каждый час, схема ломается тремя способами одновременно:

⚠️ Индекс отстаёт от реальности. Пока пересчитываются эмбеддинги после массового рефакторинга, ИИ оперирует «вчерашней» версией кода и уверенно ссылается на функции, которые уже переименовали.

⚠️ Семантическая близость векторов ≠ релевантность для задачи. Запрос «найди обработку оплаты» может вытянуть тестовый мок вместо боевого кода — у них одинаковая семантика в эмбеддинге.

⚠️ Стоимость индекса растёт нелинейно. Хранить векторы для миллионов файлов — это инфраструктурная нагрузка, а пересчитывать их при каждом мердже — отдельная боль.

Claude Code пошёл иначе. У него нет глобального векторного индекса вообще. Вместо этого он использует то, что Anthropic называет «agentic search» — модель работает локально и исследует код теми же инструментами, что и человек: ls, cat, grep, rg (ripgrep), find, читает файлы, переходит по импортам. По сути, это итеративный обход: посмотрел структуру → нашёл подсказку → углубился → подгрузил релевантный файл → продолжил.

Плюс очевиден: ИИ всегда работает с актуальной версией кода. Свежий коммит, который ты сделал десять секунд назад, уже виден. Никакой задержки индекса.

А вот минус нужно понять, иначе остальная часть статьи не сложится: у такого подхода нет встроенной интуиции о том, с чего начать поиск. Если ты бросишь Claude в корень монорепо на 10 миллионов строк и скажешь «найди все Singleton», он начнёт grep по всему дереву, заполнит контекст мусором за первые секунды и упрётся в лимит, даже не приступив к задаче. Поэтому Anthropic и продвигает мысль: качество работы ИИ напрямую зависит от того, насколько хорошо «прибрано» в кодбазе для агента.

Что такое «harness» и из чего она состоит

Anthropic выделяет пять компонентов упряжки. Я разберу их с критикой и личными добавлениями — что реально работает, а что выглядит красиво в блоге, но требует усилий, которые мало кто готов вкладывать.

🗺️ CLAUDE.md — карта местности, а не библия
Это контекстные файлы, которые Claude автоматически читает в начале сессии. Корневой CLAUDE.md — это общая карта проекта: где что лежит, какие команды для билда и тестов, главные «подводные камни». Файлы в поддиректориях — локальные правила для модулей. Самая частая ошибка — пытаться запихнуть в CLAUDE.mdвсё подряд (стиль кода, гайд по React, политики деплоя). Не работает: документ становится слишком большим, модель в какой-то момент начинает его игнорировать. Anthropic честно об этом пишет — инструкции в CLAUDE.md имеют
advisory-природу, то есть модель не обязана им следовать как жёстким правилам. Если нужна гарантия — это уже хуки.

⚙️ Хуки — детерминированный слой
В отличие от CLAUDE.md, хуки исполняются всегда. Это шелл-скрипты, привязанные к событиям жизненного цикла Claude Code: PreToolUse, PostToolUse, SessionStart, Stop, PreCompact. Самая очевидная роль — запретить опасные команды или прогнать линтер после правки. Но интереснее то, что Anthropic называет «self-improving setup»:
stop-хук в конце сессии может попросить Claude отрефлексировать, что пошло не так, и предложить апдейты для CLAUDE.md, пока контекст ещё свежий. То есть упряжка эволюционирует сама. Это уже похоже на самообучающуюся систему, и мне как человеку, который много работал с многоагентными пайплайнами в Dify и LangGraph, такой подход очень нравится — он переносит часть когнитивной нагрузки с команды на сам инструмент.

🧰 Skills — экспертиза с прогрессивным раскрытием
Навык — это папка (не файл!) с SKILL.md внутри плюс скрипты, шаблоны, референсы. Модель видит только короткое описание навыка в начале, и подгружает его полное содержимое, только если задача попадает в его профиль. Это и есть прогрессивное раскрытие (progressive disclosure) — экономия контекста за счёт того, что не вся экспертиза висит в памяти. Anthropic внутри использует
сотни таких навыков. Примеры: adversarial-review(запускает суб-агента для критики кода свежими глазами), babysit-pr (нянчит пулл-реквест: ретраит флейки CI, разрешает конфликты, включает auto-merge), testing-practices и так далее.

📦 Plugins — переносной «культурный код» команды
Плагин упаковывает навыки, хуки, суб-агентов и MCP-серверы в один устанавливаемый пакет через /plugin. Это решает проблему «племенного знания»: вместо того чтобы новый сотрудник две недели разбирался, как у вас всё устроено, он ставит корпоративный плагин и в первый день получает тот же тулсет, что и сеньоры.

🔌 MCP-серверы — мост к внутренним системам
Model Context Protocol — стандарт от Anthropic для подключения ИИ к внешним инструментам: тикетам в Jira, Sentry, внутренним API, базам знаний. Самые продвинутые команды пишут собственные MCP-серверы, которые отдают Claude структурированный доступ к корпоративным данным.

И ещё две вещи, которые Anthropic не выделяет в отдельный пункт, но которые на практике критичны:

🎯 LSP-интеграции — Language Server Protocol даёт навигацию не по тексту, а по символам. Вместо тысячи результатов grep по слову getUser ты получаешь точные ссылки на определения и использования. Для типизированных языков (TypeScript, Rust, Java, C++) — обязательная штука.

🎭 Суб-агенты — изолированные инстансы Claude с собственным контекстом. Идеальны для разведки: отправляешь суб-агента «сходить и проанализировать модуль аутентификации, записать выводы в файл», и основной агент не засоряет себе контекст промежуточным мусором.

Три паттерна, которые работают

Anthropic выделяет три повторяющихся паттерна успешного внедрения. Я согласен со всеми тремя, но добавлю комментарии из практики.

🗂️ Сделайте кодбазу навигируемой для ИИ
Иерархические CLAUDE.md: корневой — только самое важное, детали уходят вниз. Стартовать сессию рекомендуют
не в корне репозитория, а в той поддиректории, где живёт задача — Claude сам поднимется наверх по дереву и подцепит родительские контексты. Плюс .claude/settings.json с правилами permissions.deny для генерёнки, билд-артефактов и стороннего кода — чтобы агент в них не заходил. Эта настройка коммитится в репо, и весь тим получает чистый контекст из коробки.

🔄 Конфиг — живой документ, ревью каждые 3–6 месяцев
И вот это самый недооценённый совет в гайде. Anthropic честно пишут: правила, написанные под текущую модель, могут стать
помехой для следующей. Пример из их статьи: правило «разбивать каждый рефактор на однофайловые изменения» помогало старым моделям не путаться, но мешает новой, которая нормально делает скоординированные изменения через несколько файлов. Ещё нагляднее: после того как Claude Code добавил нативную поддержку Perforce, хук, который перехватывал записи и вызывал p4 edit, стал бесполезным — нагрузкой без отдачи. Вывод простой: конфиг устаревает быстрее, чем кажется, и его нужно пересматривать после каждого крупного релиза модели.

👔 Назначьте «менеджера агентов»
Это не шутка и не модная должность для красивого LinkedIn — это реально работающая роль в командах, где Claude Code заходит гладко. Гибрид PM и инженера, который отвечает за маркетплейс плагинов, конвенции по CLAUDE.md, политики безопасности, MCP-серверы. Anthropic упоминают, что в комитет на старте полезно добавлять не только разработчиков, но и
инфобез и compliance — потому что вопросы «куда уходят данные», «можно ли давать ИИ доступ к проду» возникают неизбежно, и лучше их решить заранее, чем спорить через полгода эксплуатации.

Моё мнение: что в этом гайде по-настоящему ценно

Я работаю с многоагентными пайплайнами на проекте AI-ассистентов в Dify, и параллельно собирал собственный agentic-харнесс на Claude Code для bug bounty и кодогенерации. Поэтому посмотрю на эту статью не как на маркетинг, а как практик.

Главная ценность гайда — не в конкретных рецептах, а в смене парадигмы. Большинство команд, которые я видел, относятся к ИИ как к продукту: купили лицензию, раздали разрабам, ждём роста производительности. Anthropic вежливо намекают, что это так не работает. ИИ — это платформа, и её нужно строить как любую другую внутреннюю платформу: с дизайн-документами, владельцами, релизными циклами, наблюдаемостью. У них даже формулировка появилась — «agent manager» — и это первый шаг к тому, чтобы такая роль закрепилась в индустрии.

Второй важный сдвиг — признание, что RAG-подход в больших кодбазах не работает и не будет работать. Anthropic фактически прощается с идеей глобального индекса. Это интересно, потому что параллельно несколько стартапов (Sourcegraph Cody, GitHub Copilot Enterprise) продолжают давить именно в эту сторону — собирать огромные векторные индексы. Похоже, мы получили развилку: одни делают ставку на индексы и подмешивают агентов, другие (Anthropic, Cursor) — на агентов с локальной навигацией и подмешивают индексы только там, где без них совсем плохо. У меня лично ставка на агентский подход — он проще, дешевле и не требует поддерживать инфраструктуру.

Что мне понравилось меньше — то, что в гайде слабо раскрыта тема безопасности. У Claude Code куча мест, где можно выстрелить себе в ногу: хуки могут запускать произвольный код, MCP-серверы могут утечь токены, ненастроенные permissions дают агенту слишком много власти над файловой системой. Anthropic упоминают, что в комитете внедрения должны быть инфобезопасники, но не углубляются в типовые угрозы. Сообщество это уже подхватило — например, появился open-source инструмент ecc-agentshield, который сканирует конфиги Claude Code на инъекции в хуки, риски MCP-серверов, утечки секретов. Думаю, в течение года такие инструменты станут стандартом, как ESLint для кода.

Что насчёт прогноза? Я вижу два движения, которые произойдут в ближайший год:

🏢 Крупные компании начнут публиковать свои «корпоративные плагины» как референс-имплементации — по аналогии с тем, как когда-то Netflix опубликовал Spinnaker. Внутри плагина: настроенные хуки, скилы под их домены, MCP-серверы для их инструментов. Это станет элементом эмплоер-бренда.

📜 Появится категория продуктов «AI harness compliance» — что-то вроде Snyk, но для конфигураций ИИ-агентов. Аудиторы будут проверять, какие у вас политики, как настроены permissions.deny, какие MCP-серверы куда стучатся, нет ли инъекций в хуках. Без этого крупные банки и страховые не дадут зелёный свет на массовое внедрение.

Что в итоге

Если выкинуть всю красивую обёртку, гайд Anthropic сводится к одной простой мысли: AI-coding перестал быть фокусом одиночного разработчика и стал инженерной дисциплиной. Появляются роли, паттерны, релизные циклы, ревью конфигов, маркетплейсы плагинов. То, что три года назад было «прикольной игрушкой для пет-проектов», сейчас требует тех же подходов, что инфраструктура CI/CD или мониторинга.

И главное — успех внедрения определяется не тем, какую модель ты купил, а тем, насколько хорошо ты обустроил для неё среду. Можно дать Sonnet команду из десяти сеньоров без CLAUDE.md и без скилов — получишь хаос. А можно собрать аккуратную упряжку для Haiku и получить рабочий конвейер. Поэтому: если внедряете Claude Code в большой команде — начинайте не с обсуждения модели, а с пустого CLAUDE.md в корне репозитория и с человека, который возьмёт на себя его эволюцию. Всё остальное прирастёт.

Источники

🔗 Оригинальная статья Anthropic: https://claude.com/blog/how-claude-code-works-in-large-codebases-best-practices-and-where-to-start

📖 Разбор на Telegraph: https://telegra.ph/Kak-zastavit-II-pomoshchnika-ne-zabluditsya-v-millionah-strok-koda-recept-ot-sozdatelej-Claude-05-15

📚 Документация Claude Code «How Claude Code works»: https://code.claude.com/docs/en/how-claude-code-works.md

🛠️ Best practices for Claude Code (официальные доки): https://code.claude.com/docs/en/best-practices

🎯 Anthropic Claude Code Advanced Patterns (PDF): https://resources.anthropic.com/hubfs/Claude%20Code%20Advanced%20Patterns_%20Subagents,%20MCP,%20and%20Scaling%20to%20Real%20Codebases.pdf

📊 Skills for Claude Code — гайд от инженера Anthropic: https://medium.com/@tort_mario/skills-for-claude-code-the-ultimate-guide-from-an-anthropic-engineer-bcd66faaa2d6

🔐 ECC AgentShield — сканер безопасности конфигов Claude Code: https://github.com/affaan-m/everything-claude-code

🏗️ Claude Code Harness (пример продвинутой готовой упряжки): https://github.com/Chachamaru127/claude-code-harness