Все статьи

7 сентября 2026 г.

Claude Code для разработчиков 1С — интеграция с Графоном и практические кейсы

Почему Claude Code без подготовки бесполезен для большой конфигурации 1С

Claude Code — сильный инструмент, но при работе с типовой конфигурацией 1С, будь то ERP, УТ, ЗУП или КА, он сталкивается с тремя проблемами.

Во-первых, контекстное окно не резиновое. Средняя крупная конфигурация содержит более 500 000 строк BSL, а в виде XML-выгрузки её объём занимает от нескольких сотен мегабайт до гигабайтов. Даже контекст 200K токенов в Claude Code не способен вместить и десятой части модулей и форм.

Во-вторых, погоня за полнотой данных разоряет бюджет. Попытка скормить агенту «всё подряд» приводит к перерасходу в 10 раз и быстрому исчерпанию лимита токенов. При этом результат всё равно не становится точнее: язык BSL перегружен ссылками на метаданные, и агент легко начинает смешивать методы разных объектов.

В-третьих, галлюцинации относительно имён методов и реквизитов. ИИ-ассистент не знает, существует ли в вашей конфигурации документ «РеализацияТоваровУслуг», какая у него система проведения и какие общие модули затрагиваются при записи. Он начинает «додумывать» API из похожих конфигураций, и это опасно для продакшена.

Типовое решение — использовать MCP-сервер для локального индексирования и маршрутизации контекста. Именно эту задачу решает Графон.

Что такое Графон и почему он меняет правила игры

Графон — это локальный инструмент и MCP-сервер для конфигураций 1С:Предприятие. Графон не пытается скормить нейросети всю конфигурацию. Он анализирует XML-метаданные, строит локальный граф зависимостей и через протокол MCP отдаёт агенту только релевантный срез кода.

Что входит в граф зависимостей:

  • связи между объектами метаданных (справочник — документ — регистр);
  • процедуры и функции модулей объектов, менеджеров, форм, общих модулей;
  • подписки на события и обработчики событий;
  • запросы и точки использования общих методов;
  • перекрёстные ссылки между модулями.

Claude Code, Cursor или Windsurf через MCP-запросы обращаются к Графону не с описанием всей конфигурации, а с узким вопросом: какие методы вызывают ПроверитьЗаполнение, какие формы используют реквизит СтатусЗаказа, какие подписки срабатывают при записи справочника.

Графон отвечает списком конкретных файлов, сигнатур и зависимостей. Только этот компактный контекст уходит в большие языковые модели. Токены тратятся на решение задачи, а не на загрузку мусора.

Архитектура интеграции Claude Code и Графона

Схема работы выглядит так:

Claude Code
    │
    │ MCP (Model Context Protocol)
    ▼
Графон: локальный MCP-сервер
    │
    │ граф зависимостей и индексы
    ▼
Конфигурация 1С (XML-выгрузка, каталог EDT, Git)

Графон работает локально. Код и полный XML-дамп не покидают вашу инфраструктуру. На сервер большой модели отправляются только выбранные фрагменты кода и сигнатуры, необходимые для генерации ответа.

Такой подход снижает расход токенов в среднем в 8–10 раз, а при сложных аудитах — значительно сильнее.

Настройка MCP-сервера для Claude Code

Для подключения Графона к Claude Code достаточно прописать MCP-сервер в конфигурации проекта.

Пример .mcp.json:

{
  "mcpServers": {
    "grafon": {
      "type": "stdio",
      "command": "grafon",
      "args": [
        "--project", "/path/to/config-xml",
        "--config", "/etc/grafon/grafon.yml"
      ],
      "env": {
        "GRAFON_CACHE_DIR": "/var/cache/grafon"
      }
    }
  }
}

Поля project и command могут отличаться в зависимости от версии. Главное — после запуска Claude Code увидит инструменты Графона через claude mcp list.

Дальше нужно получить исходники конфигурации в формате, понятном Графону. Это может быть:

  • XML-выгрузка конфигурации, сделанная через штатный механизм платформы;
  • каталог проекта EDT;
  • рабочий каталог Git с историей изменений.

Grafon построит граф зависимостей один раз, а затем будет обновлять индекс инкрементально. Полная переиндексация для большой конфигурации обычно занимает от нескольких минут до часа, в зависимости от размера.

Практические MCP-запросы внутри Claude Code

После подключения Графона вы работаете с Claude Code как обычно, но в промпте явно просите сделать предварительный запрос к MCP-инструментам.

Пример 1: аудит проведения документа.

Найди через Графон граф вызовов для проведения
документа «ЗаказКлиента». Построй список процедур
модулей менеджеров, которые участвуют в обработке
проведения, и укажи места записи в регистры.
Код не менять, только показать контекст.

Пример 2: поиск всех вызовов общего метода.

Через Графон найди все обращения к функции
«УстановитьСтатусЗаказа» в общем модуле
«РаботаСЗаказами». Для каждого вызова приведи
модуль, имя процедуры и строку. Отфильтруй
служебные модули тестов.

Использование такого MCP-запроса экономит контекст, поэтому следующие обычные шаги агент выполняет без потери точности: он уже знает, какие модули открыл, какие процедуры видит и какие данные реально существуют.

Кейс 1. Аудит события «Выбор» в форме списка

В вашей конфигурации сто форм справочника «Номенклатура», и в каждой форме переопределено событие Выбор. Нужно выяснить, какие элементы списков используют нестандартную обработку и почему расходятся данные.

Промпт для Claude Code:

Сначала выполни через Графон поиск форм 
справочника «Номенклатура», в которых используется 
событие Выбор элемента формы.
Выведи таблицу: «Имя формы», «Имя элемента списка»,
«Имя процедуры-обработчика», «Строка вызова ПринятьВыбор».

Без Графона пришлось бы загружать в контекст все формы списка справочника, большая часть которых вообще не связана с нужным событием. С Графоном Claude Code получает только файлы, где событие действительно используется, плюс сигнатуры обработчиков.

Кейс 2. Рефакторинг общей процедуры работы с контактами

Частая задача — вынести общий метод по работе с контактами и заменить дублирующийся код.

Пусть есть процедура в общем модуле:

Процедура ПоказатьКонтакт(Контакт) Экспорт
    
    Если Контакт.ВидКонтакта = Перечисления.ВидыКонтактов.Телефон Тогда
        Сообщить("Телефон: " + Контакт.Значение);
    Иначе
        Сообщить("E-mail: " + Контакт.Значение);
    КонецЕсли;
    
КонецПроцедуры

Запрос к Claude Code:

Используя Графон, найди все вызовы процедуры 
«ПоказатьКонтакт» из общего модуля «РаботаСКонтактами».
Покажи полные сигнатуры вызывающих процедур, имена
модулей и фрагменты кода вокруг вызова. Подготовь
план безопасного рефакторинга.

Графон сначала находит самого вызываемого и всех его вызывающих через обратные ссылки в графе. В результате Claude Code получает не абстрактное «мнение модели», а точную карту влияния изменений.

Кейс 3. Перенос подписки на событие с формы в общий модуль

В типовых конфигурациях часто встречаются обработчики, разбросанные по формам. Чтобы не дублировать логику, обработку переносят в подписки на события. Но найти все исходные точки срабатывания бывает сложно.

Промпт:

Через Графон определи, какие подписки на события
будут срабатывать при записи справочника «Контрагенты».
Сравни их с обработчиками ПередЗаписью в формах
справочника. Подготовь код переноса в один общий
модуль с учётом признака «Обмен данными».

Ответом становится срез подписок на события:

  • источник события — Справочник.Контрагенты;
  • событие — ПередЗаписью;
  • имя модуля подписки и процедуры;
  • точки вызова в формах;
  • условия, при которых обработчик должен игнорировать загрузку через обмен.

Claude Code на основе этих данных генерирует код новой подписки, не трогая нерелевантные части конфигурации.

Сравнение стоимости: с Графоном и без Графона

Следующая таблица показывает разницу для типовой задачи изменения порядка проведения документа в конфигурации уровня ERP.

| Сценарий | Без Графона | С Графоном | Экономия |
|---|---|---|---|
| Поиск вызовов общего метода | 180–300 тыс. токенов на загрузку XML | 15–30 тыс. токенов на точный срез | 8–12 раз |
| Аудит подписок на событие | 150 тыс. токенов и ручная перепроверка | 10–20 тыс. токенов + точный граф | 8–15 раз |
| Подготовка рефакторинга формы | 120 тыс. токенов | 14 тыс. токенов | ~9 раз |
| Среднее время выполнения задачи | 15–40 минут (с потери контекста) | 3–7 минут | до 80% быстрее |

Главный выигрыш — не только токены. Ключевая ценность в том, что агент не теряет фокус задачи. Когда контекст не содержит мусора, Claude Code реже переспрашивает и меньше ошибается.

Почему Графон убирает галлюцинации

Галлюцинации в 1С-разработке возникают из-за нехватки фактического контекста о конкретной конфигурации. Модель помнит, как это было сделано в другой конфигурации, и пытается воспроизвести API.

Графон передаёт агенту достоверную информацию:

  • сигнатуры функций с точным порядком параметров;
  • имена модулей и процедур из реального кода;
  • фактические связи метаданных;
  • данные о подписках на события.

Благодаря этому снижается вероятность выдумывания методов. ИИ-ассистент видит не гипотетический «1С в целом», а конкретную архитектуру вашей базы.

Лучшие практики работы Claude Code с Графоном

Чтобы получить стабильный результат, следуйте простым правилам.

  1. Всегда начинайте с MCP-запроса на получение графа. Не просите агента менять код, пока он не предъявил карту связей.
  2. Требуйте от Claude Code указывать пути открываемых модулей. Если путь не совпадает с ожидаемым — диагноз неверный, останавливайте действие.
  3. Используйте Графон как защиту от случайного расширения области изменений. Агент должен видеть только необходимые объекты.
  4. Для типовых задач создавайте шаблоны промптов. Например: «Проверь влияние изменений процедуры X через Графон» — и фиксируйте один формат ответа.
  5. Периодически перестраивайте индекс Графона после обновлений конфигурации, чтобы граф всегда соответствовал текущему коду.

Вывод

Claude Code — полезный инструмент для разработчика 1С, но без MCP-сервера, такого как Графон, он остаётся «инструментом без контекста». Вы получаете либо дорогой скрин-дамп всей конфигурации, либо выдумки модели о методах и объектах.

Интеграция Claude Code с Графоном решает главную проблему: контекст доставляется дозированно и по требованию. Разработчик получает полноценного ассистента, который не сжигает токены на гигабайты XML и не галлюцинирует об устройстве конфигурации.

Для архитекторов и тимлидов это означает предсказуемую стоимость использования ИИ-инструментов, контролируемое качество кода и возможность внедрять ассистентов в процесс разработки на 1С без риска разрушить сложную связанную архитектуру.