Внешняя память агента: почему без неё ИИ в 1С бесполезен на длинной дистанции

25.08.26

Интеграция - Нейросети

На третьей неделе работы с агентом ловишь себя на том, что объясняешь одно и то же в четвёртый раз. У агента нет памяти между сессиями — это свойство, а не дефект. Значит память должна быть частью проекта, а вести её должен сам агент. Разбираю систему, которая живёт у меня год: журнал на восемьсот строк, разделение декларативной и процедурной памяти, и главное — почему отрицательные результаты ценнее положительных.

Проблема, которую замечают не сразу

Первую неделю работы с ИИ-агентом кажется, что всё прекрасно. Он быстро разбирается в конфигурации, пишет код, находит нужные регистры.

На третьей неделе вы ловите себя на том, что объясняете одно и то же в четвёртый раз. Что база называется так-то. Что расширение, которое трогать нельзя, называется так-то. Что тот способ выполнить код, который он сейчас предлагает, вы вдвоём уже проверяли месяц назад и он не работает.

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

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

У меня эта система живёт около года, журнал по 1С разросся до восьмисот с лишним строк, и она окупилась многократно. Ниже — как она устроена, что в неё писать, а главное — что писать бесполезно.


Два вида памяти

Практика развела память на две категории, и они устроены по-разному.

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

Процедурная — как мы делаем. Порядок действий в типовых ситуациях: как выкатить расширение, что проверить перед деструктивной операцией, как трассировать заказ, который не доехал. Отвечает на вопрос «что делать, когда».

Смешивать их в одном файле — верный способ получить документ, который никто не читает. Инструкция должна быть короткой и исполняемой, справочник — полным и структурированным.


Ядро системы: журнал

Главный файл — журнал по теме. У меня отдельный по 1С, отдельный по мобильному приложению, отдельный по сайту.

Структура жёсткая и состоит из двух частей.

Часть первая: «что мы умеем»

Наверху — накопленное знание, отжатое от хронологии. Проверенные приёмы, таблицы команд, грабли платформы, места, где лежат учётные данные.

Это раздел, который агент читает первым и который отвечает на вопрос «что мы уже знаем про эту систему». Он растёт медленно и переписывается по мере накопления опыта.

Пример записи оттуда, которая экономит больше всего времени:

/LoadConfigFromFiles не компилирует, exit 0 на битом коде. Единственная настоящая проверка — /CheckModules -Extension <имя> -Server.

Две строки. Каждый новый агент, прочитав их, не наступает на мину, которая стоила мне выката битого кода в бой.

Часть вторая: журнал сессий

Ниже — хронология, новые записи сверху. Порядок важен: агент читает файл сверху вниз и должен сначала увидеть свежее.

Структура записи одинаковая:

  • Дата и одна строка сути — «персональная скидка складывалась со статусной»;
  • Симптом — что увидел пользователь. Не «баг в расчёте», а «клиент со статусом 15% и кампанией 30% получил на кассе 45%»;
  • Что оказалось — реальная причина, с именами модулей и процедур;
  • Починка — что именно изменили, где, с какими последствиями;
  • Грабли этой сессии — отдельный подраздел, самый ценный во всей записи;
  • Открытые хвосты — что не доделано и однажды выстрелит.

Симптом обязателен в формулировке пользователя. Через три месяца вы будете искать по журналу именно так — по тому, как проблема выглядела снаружи, а не по тому, как называлась в коде.


Самое ценное — отрицательные результаты

Вот главная мысль статьи, и она контринтуитивна.

Обычная документация описывает, как надо. Память агента должна в первую очередь описывать, как не работает — потому что агент будет предлагать эти способы снова. Каждую сессию. Уверенно.

У меня есть запись из одного вечера, потраченного впустую:

Внешняя обработка через /Execute — НЕ работает. 1cv8 ENTERPRISE /Execute file.epf просто открывает обработку: тело модуля объекта не исполняется, ПриОткрытии — метод формы, которой у обработки без формы нет. Собрать .epf с формой не удалось: /LoadExternalDataProcessorOrReportFromFiles падает «Исключение XDTO при чтении Form.xml» даже на нетронутом дампе, сделанном той же платформой.

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

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


Правила ведения, без которых система умирает

Система документов деградирует по предсказуемым сценариям. Правила ниже написаны против каждого из них.

Обновление — обязанность агента, а не ваша. Это зафиксировано в правилах проекта прямым текстом: в конце каждой сессии дописать журнал, обновить план, при событии — соответствующий документ. Если вы ждёте, что будете вести журнал сами, вы не будете его вести.

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

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

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

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

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

Критерий, по которому я оцениваю, хорошо ли отработала сессия, звучит так:

Если в следующем разговоре спросят «а как мы решили вопрос X?» и ответа нет в документах — работа предыдущей сессии сделана плохо.


Обвязка вокруг журнала

Журнал — ядро, но одного его мало. Что ещё оказалось нужным:

Обзор проекта. Бизнес-контекст, который не выводится из кода: чем занимается компания, как устроены процессы, какие константы откуда взялись, где подводные камни. Агент, не понимающий бизнес, пишет технически корректный и бесполезный код.

План работ. Что делается сейчас, что сделано, что дальше. Отвечает на первый вопрос каждой сессии — «на чём мы остановились».

Changelog по датам. Что происходило вчера и позавчера. Отличается от журнала тем, что это хронология всего проекта, а не разбор конкретных сессий по теме.

Архитектурные решения. Каждое нетривиальное решение — отдельная запись с датой и обоснованием. Не «используем X», а «используем X, потому что Y, альтернатива Z отклонена из-за W».

Глоссарий. Внутренние термины: типы карт, статусы, названия воркеров. Без него агент выдумывает синонимы, и вы получаете три названия для одной сущности.

Runbook. Операционные процедуры и разбор инцидентов. Сюда попадает всё, что начинается с «а что делать, если».

Шаблоны запросов. Удачные формулировки задач, которые сработали. Отдельная тема, о ней ниже.


Процедурная память: инструкции вместо объяснений

Декларативная часть отвечает на «что». Процедурная — на «что делать, когда».

Оформляется она не как документ для чтения, а как инструкция, которая подхватывается по ситуации. У меня это набор коротких файлов, каждый под свой сценарий: перед деструктивной операцией, при выкате бэкенда, при выпуске мобильного релиза, при трассировке заказа, который не доехал, при работе с несколькими организациями сразу.

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

Требования к таким инструкциям:

  • короткие, страница максимум;
  • исполняемые — команды, а не рассуждения;
  • с явными запретами, а не только с рекомендациями;
  • со списком «можно без спроса» — иначе агент начнёт спрашивать разрешения на чтение логов.

Последний пункт неочевиден, но важен. Если написать только запреты, агент станет параноидальным и будет согласовывать каждый SELECT. Явно разрешённая зона нужна не меньше запрещённой.


Что писать бесполезно

Раздел, сэкономивший бы мне несколько месяцев, если бы кто-то написал его раньше.

Не пишите то, что агент прочитает в коде. Структура каталогов, список функций, сигнатуры — всё это он посмотрит быстрее, чем вы напишете, и его версия не устареет.

Не пишите то, что есть в истории репозитория. Что и когда меняли — там уже записано.

Не пишите разбор конкретного бага, который закрыт навсегда. Ценна не история починки, а грабля, которая из неё вытекает. Не «в модуле X была опечатка», а «поле Код у этого справочника не существует физически, в объектной модели молча возвращает пустую строку».

Не пишите общеизвестное. «1С — учётная система» в журнале не нужно.

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


Что это даёт

Несколько эффектов, которые проявились не сразу.

Новая сессия стартует за минуту. Агент читает план и последние записи журнала и сразу понимает, где мы. Никакого «расскажи мне про проект».

Ошибки не повторяются. Записанная грабля — это грабля, на которую больше не наступят. Мой список из одиннадцати граблей платформы работает именно так.

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

Знание переживает смену инструмента. Модели меняются, интерфейсы меняются, а журнал в текстовых файлах лежит и работает с любым следующим агентом.

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


Выводы

1. Память — часть проекта, а не часть модели. Ждать, что агент запомнит, бессмысленно. Стройте внешнее хранилище.

2. Вести его должен агент. Обязанность обновлять документы фиксируется в правилах проекта. Ручное ведение не выживает.

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

4. Разделяйте «что мы знаем» и «что делать». Справочник и инструкция устроены по-разному и деградируют по-разному.

5. Критерий качества один. Если ответ на вопрос «как мы решили X» отсутствует в документах — сессия отработала плохо, каким бы хорошим ни был написанный код.

Дисциплина ведения записей была полезна и до ИИ. Разница в том, что раньше её отсутствие било по вам через полгода, когда вы сами забывали контекст. Теперь оно бьёт каждый день, на каждой новой сессии.


Опыт годовой работы с ИИ-агентом над боевыми базами УТ 11.5, мобильным приложением и Rust-бэкендом розничной сети.

Вступайте в нашу телеграмм-группу Инфостарт

ИИ агент контекст документация журнал память ADR знания УТ 11.5 процесс разработки

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

Инструментарий разработчика Нейросети Платные (руб)

Первые попытки разработки на 1С с использованием больших языковых моделей (LLM) могут разочаровать. LLMки сильно галлюцинируют, потому что не знают устройства конфигураций 1С, не знают нюансов синтаксиса. Но если дать им подсказки с помощью MCP, то результат получается кардинально лучше. Далее в публикации: MCP для поиска по метаданным 1С, справке синтакс-помощника и проверки синтаксиса.

15250 руб.

25.08.2025    67426    136    38    

143

SALE! %

Банковские операции Обмен с интернет-банком Мастера заполнения Нейросети Программист Бухгалтер Пользователь 1С:Предприятие 8 1C:ERP 1С:Бухгалтерия 3.0 1С:ERP Управление предприятием 2 1С:Управление холдингом 1С:ERP. Управление холдингом 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Управление торговлей 11 1С:Розница 3.0 Платные (руб)

Корректируйте банковские документы быстро и легко! Создайте правило обработки — и оно автоматически применится при загрузке выписки (отбор по любому реквизиту или регулярному выражению). Решение заполняет расшифровку платежа, комиссию эквайринга, подбирает ведомости на выплату зарплаты, помечает дубли из банка на удаление и многое другое. Доплачивать за алгоритмы не нужно — они включены в решение. Обработка работает при загрузке из файлов клиент-банка и через DirectBank. Новое — искусственный интеллект: модель приводит нестандартные назначения платежа к виду, понятному алгоритмам, а ИИ-ассистент прямо в 1С консультирует по решению и разбирает код правил и алгоритмов. Поддерживаются локальные и облачные OpenAI-совместимые модели — данные могут не покидать ваш контур.

15250 руб.

20.12.2024    18083    91    29    

80

Нейросети Программист 1С:Предприятие 8 Бесплатно (free)

В этой статье расскажу, как реализовал с помощью LLM полноценную генерацию кода для 1С (BSL) в популярном Open Source API-клиенте Bruno.

21.08.2026    845    malikov_pro    9    

9

Нейросети Программист 1С 8.3 Бесплатно (free)

Один проход модели по вопросу из 28 знаков стоит 631 296 умножений и 4,8 секунды. Столько берёт языковая модель на 21 920 параметров, посчитанная прямо в 1С средствами самой платформы. На ней разбираю по шагам, что стоит за каждым словом из модного словаря: токен, словарь, вектор символа, вес, слой, голова внимания, контекст, softmax, температура, KV-кэш. Отдельно про температуру - она вообще не про креативность и управляет выбором буквы уже после того, как модель закончила работу. Отдельно про галлюцинацию - показываю в цикле генерации место, куда физически невозможно вставить "не знаю". Плюс расчёт потолка для встроенного языка, замер цены размера модели и история про метод платформы, которого не существует.

20.08.2026    4477    nedomolkov.ivan    11    

20

Инструментарий разработчика Нейросети Программист 1С 8.3 Бесплатно (free)

Стенд, на котором языковую модель видно изнутри: настоящий трансформер посчитан с нуля на встроенном языке, без внешних компонент, ONNX, Native API и обращений наружу. Три кнопки: полный ответ с отчётом о числе умножений и секундах, один проход модели с вероятностями всех 36 символов алфавита столбиком, и разбор устройства - алфавит, номера токенов, размерности. Поле температуры показывает, что выбор буквы делает не сама модель, а код снаружи: при нуле ответ повторяется слово в слово, при пятёрке текст рассыпается на слоги. В комплекте два файла: модель на 21 920 параметров отвечает за 7-13 секунд, вчетверо более крупная примерно за 28. Веса лежат макетом внутри, скачивать и настраивать нечего. Знаний о мире у модели нет: она помнит сорок фраз про объекты 1С, и на вопрос вне этого набора отвечает бессмыслицей с той же уверенностью.

20.08.2026    3434    79    nedomolkov.ivan    0    

15

Нейросети Программист Бесплатно (free)

Код от агента выглядит хорошо, но между «агент выдал код» и «код работает в боевой базе» лежит дистанция, которую никто не проходит за вас. Как я обвесил её конвейером из семи ролей на боевой 1С:БП КОРП с БИТ.ФИНАНС: устройство конвейера, почему «критично» у агента не значит «дефект», шесть промахов, прошедших конвейер насквозь, один дефект, доехавший до боевой базы, и честный список того, чего я не измерял.

19.08.2026    1714    VlaMax    34    

12

Нейросети Бесплатно (free)

Разбираем новые, более дешевые и эффективные паттерны работы внешнего 1С:Эксперта, а именно – прямое использование LLM-ассистентов и создание с их помощью инструментов для аудита производительности и нагрузочного тестирования. Показываем, как модели помогают анализировать таймауты и взаимные блокировки по технологическому журналу, проверять сложные запросы, а также находить неочевидные взаимосвязи между показателями загрузки оборудования. Рассказываем о создании скриптов для построения графиков по данным atopsar и для поиска и визуализации стеков горячих запросов, а также о создании неинвазивной оснастки для реалистичных нагрузочных и сценарных тестов без программирования на 1С. Отдельно разбираем антипаттерны и ограничения такого подхода. Делаем вывод, что LLM остается лишь помощником, не превращает джуна в сеньора, а ответственность за итоговый результат по-прежнему несет 1С:Эксперт.

10.08.2026    3454    jf2000    15    

17

Нейросети Программист Бесплатно (free)

Практический кейс автономной разработки для бизнес-платформы OneBase: ИИ-агент под управлением Claude Code и недорогой модели GLM за 37 минут с нуля создаёт полную конфигурацию с метаданными, формами, отчётами и дашбордами. Процесс проходит полностью без участия человека — агент сам нарезает задачи, генерирует демо-данные и исправляет ошибки до успешного прогона всех проверок.

07.08.2026    5621    Ibrogim    13    

11
Для отправки сообщения требуется регистрация/авторизация