Коллеги, цель статьи — собрать рабочие примеры и кейсы в одном месте. Также надеюсь на активное обсуждение в комментариях и обмен опытом. Все кейсы реализуемы на различных языковых моделях и окружениях, однако чем слабее модель, тем сложнее добиться качественного результата и получить выгоду от применения.
Содержание
Кейсы. Успех и разочарование
В кейсах описан личный опыт, на сегодняшний день я понимаю, что в каждой компании могут быть свои ограничения на доступ к моделям, возможность оплаты или защиту данных, поэтому вы должны сами понимать, что из перечисленного мной применимо лично у вас.
Под каждым кейсом будет мой субъективный параметр «Сложность». Низкая — простой порог входа и доступа к инструменту, можно обойтись бесплатными или отечественными моделями в режиме чата. Средняя — тоже реализуемо на бесплатных или китайских моделях, но требуется проработка контекста, итеративность либо нужно писать скрипты для подготовки данных. Лучше использовать ИИ-агента с доступом к системе, но можно и в режиме чата. Высокая — нужна топовая платная модель: ИИ-агент на рабочем устройстве либо сильный чат, умеющий принимать и отдавать файлы. Расход токенов ощутимый, что сказывается на стоимости решения задачи.
1) Предпроект. Анализ тендерной документации и требований к ИС (информационной системе)
Подход итеративный. Попросить ИИ-агента составить системный промт. Например, задача — выделить из документа информацию, структурировать в нужном виде и проверить. Агент составит системный промт на базе своей обучающей выборки и данных из глобальной сети. Необходимо проверить данный системный промт, скорректировать при необходимости. Создать новую сессию, отдать системный промт и свою документацию. Помним, что модель — это стохастическая система, чем слабее модель, тем больше усилий уходит на проверку результата. Обязательно проверяем результат.
Сложность: Низкая
2) Предпроект. Интервью
К любому интервью с заказчиком необходимо готовиться. Если на стадии предпроекта у вас есть шаблон с вопросами и требованиями к ИС, то подготовка сокращается на несколько часов. Ранее мне приходилось прибегать к ручному редактированию и пересборке вопросов для интервью, чтобы они были наиболее релевантными для конкретного заказчика. Сейчас данный процесс существенно упростился, и качество повысилось в силу того, что ИИ работает над составлением вопросов более тщательно.
Сложность: Низкая
3) Предпроект. Анализ результатов интервью
Используя документ с вопросами и фиксируя в нём ответы после интервью, можно дополнительно насытить документ итогового обследования при помощи транскрибатора и последующей обработки. Тут не совсем всё идеально получается, как хотелось, очень многое зависит от качества транскрибации.
Сложность: Средняя
4) Предпроект. Эстимация
Если внутри команды вас могут спросить про вашу субъективную оценку задачи и это надо сделать оперативно, можно использовать текущий реестр требований, попросить ИИ-агента заполнить на основании данных колонку трудозатрат, создать отдельные колонки «Комментарий» — где ИИ-агент должен описать метод оценки, и «Риски и ограничения». Такой преданализ от ИИ помогает мне держать фокус. Задача поначалу кажется приключением на пять минут — но читаешь оценку от ИИ-агента, видишь упущенные подводные камни и переосмысливаешь её. Иногда может быть описан и бред, но в целом я свой опыт могу считать больше положительным.
Сложность: Средняя
5) Предпроект. Письма
Что не надо делать? Просить полностью составить письмо за вас. Что можно сделать? Составить письмо и попросить проверить грамматику, орфографию, пунктуацию, структуру и последовательность, не менять стиль и форму изложения. Почему это стало частью моего рабочего процесса? Порой письмо пишется во время пассивного слушания на встрече либо между выполнением задач, где-то теряешь мысль, допускаешь ошибки. Инструмент помогает поправить ошибки и указать на нарушение логики.
Сложность: Низкая
6) Предпроект. Презентация
Я не слишком силён в презентациях, и креативность моя не самая сильная черта. NotebookLM — хороший помощник сверстать идею на основании различных данных и сделать прототип.
Сложность: Средняя. Google заблокировал доступ к инструменту. Требуется обход региональных ограничений.
7) Внедрение. Функциональные спецификации
У меня не получилось автоматизировать написание функциональных спецификаций из бизнес-требования заказчика с отражёнными функциональными разрывами и требованиями к системе. Здесь важно отметить: агент напишет документ, но его приходится многократно редактировать и приводить к терминам, которые заказчики смогут уловить, ведь этот документ для них, а не для аналитика. Где получил ускорение и усиление? Разбить бизнес-требование на функциональные атомарные требования. Продумать возможные ограничения, наименования объектов, предоставить варианты без привязки к 1С, а на основании глобальных учётных систем и ERP. Формулировка сложных технических конструкций в понятное изложение для бизнес-пользователя.
Сложность: Средняя. Требуется инструмент с большим контекстным окном.
8) Внедрение. Схемы в нотации BPMN
Было несколько заходов нарисовать схему BPMN по коду, который составил Claude по текстовому описанию. Как итог, простые процессы получаются в рамках нотации и описанного процесса, требуются незначительные правки. Я не оценил прироста, т.к. гораздо экономичней и эффективней было составить сразу и самому. На сложных процессах я ни разу не довёл результат, где осталось бы только внести незначительные правки, приходилось полностью изменять схему, чтобы она соответствовала минимальным правилам нотации.
Сложность: Высокая. Нужна хорошая модель, большое контекстное окно, чтобы уложить нотацию. Либо нужен ИИ-агент с отдельным проектом и настройкой.
9) Внедрение. Технические задания
Сбор метаданных в нужном виде, поиск движений документа, поиск и проверка процедур и функций. Требуется база, конфигурация, MCP для доступа агента к ней, ИИ-агент, настроенный и обученный правилам работы с 1С. Хороший прирост производительности за счёт параллельной работы. Пока занимаешься подготовкой документа и описанием задачи, агент занимается сбором метаданных в нужном для тебя виде. Один из дорогих подходов в плане потребления токенов: можно выгрузить конфигурацию в файлы и точечно просить агента пробежаться по каталогам документов, регистров или модулей для предоставления информации. Подходов к работе с 1С описано множество, я сторонник личной оценки и применения инструментов в зависимости от задачи, стоимости, сроков и цели.
Сложность: Высокая
10) Внедрение. Миграция данных
На этом этапе можно достигать ускорения за счёт заполнения шаблона миграции метаданными 1С на основании объекта. ИИ-агент также сможет заполнить данные для примера. При подключённом MCP — можно попросить проверить данные шаблона и целевой системы.
Сложность: Средняя
11) Внедрение. Реестр доработок системы. Поиск противоречий
В рамках своего блока можно получать массу требований и упустить, что некоторые требования пользователей склада могут противоречить требованию закупок. Создав папку проекта, размещая там файлы с функциональными спецификациями в формате .md, можно просить ИИ-агента знакомиться с данными ФС, искать противоречия и по итогу сводить в отдельный файл памяти, где агент будет отражать все основные моменты разработки. Данный кейс может быть полезен не только аналитикам, но и функциональным архитекторам, которые должны держать в своём фокусе большой объём доработок и следить, не конфликтуют ли они между собой.
Сложность: Высокая. Помимо ИИ-агента, нужно верно выстроить структуру папок проекта и версионирование через Git.
12) Внедрение. Протоколы тестирования
LLM — это прежде всего про работу с текстом. Написать протокол тестирования по большому отчёту или множеству функциональных требований, учесть результаты приёмки и сценарии — серьёзная нагрузка в условиях ограниченного времени. В качестве шаблона передаю утверждённый протокол тестирования, далее отдаётся промт, в котором расписывается, какие колонки требуется заполнить, и следом передаётся информация о функциональных требованиях и ограничениях. Модель анализирует функциональные требования и ограничения, заполняет протокол сценариями приёмки. Таким образом, мы текст преобразовали в другой текст, но который отражает критерии приёмки и результат тестирования. По итогу протокол требуется дорабатывать, но общее время, потраченное на создание протокола, сокращается.
Сложность: Высокая
13) Внедрение. Восстановить или актуализировать документацию по коду 1С
-
Если вы знаете, где в конфигураторе доработка и как найти код. Выгружаете модули и просите ИИ описать, как работает этот код в ТЗ 1С по вашему шаблону. Сложность: Низкая
-
Если на проекте есть Git и вы умеете с ним работать, то можно выгружать diff (различия между версиями кода) по задаче и задавать вопросы, что есть в коде, но не отражено в документации. Сложность: Средняя
-
Мой кейс прошлого года. Скрипт, написанный при помощи ИИ: он находит в Git merge коммит по номеру задачи, собирает изменённые файлы и их содержимое выгружает в Excel, txt. Дальше я работаю уже с готовой таблицей «файл → код» и пишу по ней ТЗ по шаблону. На вход я даю только путь к репозиторию и номер задачи. Сложность: Высокая
-
В текущем году с применением ИИ-агента уже построен конвейер. В рабочей папке находится функциональная спецификация, есть инструкция, как подключиться к Git, забрать diff, также есть инструмент работы с документами и конвертацией в Markdown и обратно в docx. Открыв командную строку и запустив агента, по команде он начинает собирать информацию, анализировать и возвращает документ ТЗ в нужном шаблоне. Обязательно требуется проверка результата. Сложность: Высокая
Скрипт git_task_extract.py из 3 примера
import tkinter as tkfrom tkinter import ttk, filedialog, messageboximport subprocessimport osimport pandas as pd# --- Константы ---def is_binary(filepath, block_size=1024): """Проверяет, является ли файл бинарным, ища нулевые байты.""" try: with open(filepath, 'rb') as f: block = f.read(block_size) return b'\0' in block except IOError: return False# --- Основная логика ---def get_changed_files(repo_path, task_number): """ Выполняет команду git log и возвращает список измененных/добавленных/переименованных файлов. """ # Формируем команду. # Ключевое изменение: '-c', 'core.quotepath=false' отключает экранирование # не-ASCII символов в именах файлов, чтобы Python получал корректные пути. command = [ 'git', '-c', 'core.quotepath=false', # ИСПРАВЛЕНИЕ 'log', f'--grep=#{task_number}', '--name-status', '--pretty=format:' ] try: process = subprocess.run( command, capture_output=True, text=True, encoding='utf-8', errors='ignore', check=True, cwd=repo_path ) except FileNotFoundError: raise RuntimeError("Ошибка: 'git' не найден. Убедитесь, что Git установлен и доступен в системном PATH.") except subprocess.CalledProcessError as e: raise RuntimeError(f"Ошибка выполнения Git:\n{e.stderr}") files = set() output_lines = process.stdout.strip().split('\n') for line in output_lines: if not line.strip(): continue parts = line.split('\t') status = parts[0] # Отбираем только добавленные (A), измененные (M) и переименованные (R) файлы # Для переименованных файлов берем новый путь if status.startswith('A') or status.startswith('M'): files.add(parts[1].strip()) elif status.startswith('R'): # Renamed files.add(parts[2].strip()) # R status has format: R100\told_path\tnew_path return sorted(list(files))def generate_report(repo_path, save_path, task_number, create_excel): """Главная функция, управляющая созданием отчета.""" status_update_callback(f"1. Поиск файлов для задачи #{task_number}...") try: files = get_changed_files(repo_path, task_number) except Exception as e: messagebox.showerror("Ошибка Git", str(e)) status_update_callback("Ошибка.") return if not files: messagebox.showinfo("Результат", f"Для задачи #{task_number} не найдено измененных или добавленных файлов.") status_update_callback("Готово. Файлы не найдены.") return output_filename_base = os.path.join(save_path, f"task_{task_number}") if not create_excel: # --- Создание TXT файла --- status_update_callback(f"2. Создание TXT-файла...") txt_filepath = f"{output_filename_base}_files.txt" try: with open(txt_filepath, 'w', encoding='utf-8') as f: for file in files: f.write(f"{file}\n") messagebox.showinfo("Успех", f"TXT-файл успешно создан:\n{txt_filepath}") status_update_callback("Готово.") except Exception as e: messagebox.showerror("Ошибка записи файла", str(e)) status_update_callback("Ошибка.") else: # --- Создание Excel файла --- status_update_callback(f"2. Найдено {len(files)} файлов. Чтение содержимого...") report_data = [] for i, file_path in enumerate(files): # Нормализуем слеши для совместимости с Windows normalized_file_path = file_path.replace('/', os.sep) full_path = os.path.join(repo_path, normalized_file_path) content = "" if not os.path.exists(full_path): content = "[Файл не найден по указанному пути (возможно, был удален или перемещен)]" elif is_binary(full_path): content = "[Бинарный файл]" else: try: with open(full_path, 'r', encoding='utf-8') as f: content = f.read() except UnicodeDecodeError: try: with open(full_path, 'r', encoding='cp1251') as f: content = f.read() except Exception: content = "[Не удалось прочитать файл: ошибка кодировки]" except Exception as e: content = f"[Ошибка чтения файла: {e}]" report_data.append({ "Порядковый номер": i + 1, "Наименование файла": file_path, # В отчете оставляем git-стиль со слешами / "Код разработки": content }) status_update_callback(f"3. Создание Excel-файла...") df = pd.DataFrame(report_data) excel_filepath = f"{output_filename_base}_report.xlsx" try: df.to_excel(excel_filepath, index=False) messagebox.showinfo("Успех", f"Excel-отчет успешно создан:\n{excel_filepath}") status_update_callback("Готово.") except Exception as e: messagebox.showerror("Ошибка сохранения Excel", str(e)) status_update_callback("Ошибка.")# --- GUI часть (Tkinter) ---class App(tk.Tk): def __init__(self): super().__init__() self.title("Генератор отчетов по задачам из Git") self.geometry("600x400") self.repo_path = tk.StringVar() self.save_path = tk.StringVar() self.task_number = tk.StringVar() self.create_excel = tk.BooleanVar(value=True) self.status_text = tk.StringVar(value="Ожидание...") main_frame = ttk.Frame(self, padding="10") main_frame.pack(fill=tk.BOTH, expand=True) ttk.Label(main_frame, text="1. Укажите путь к локальному Git репозиторию:").pack(fill=tk.X, pady=2) repo_frame = ttk.Frame(main_frame) repo_frame.pack(fill=tk.X, pady=2) ttk.Entry(repo_frame, textvariable=self.repo_path).pack(side=tk.LEFT, fill=tk.X, expand=True) ttk.Button(repo_frame, text="Обзор...", command=self.select_repo_path).pack(side=tk.RIGHT, padx=(5, 0)) ttk.Label(main_frame, text="2. Укажите путь для сохранения отчета:").pack(fill=tk.X, pady=2) save_frame = ttk.Frame(main_frame) save_frame.pack(fill=tk.X, pady=2) ttk.Entry(save_frame, textvariable=self.save_path).pack(side=tk.LEFT, fill=tk.X, expand=True) ttk.Button(save_frame, text="Обзор...", command=self.select_save_path).pack(side=tk.RIGHT, padx=(5, 0)) ttk.Label(main_frame, text="3. Введите номер задачи:").pack(fill=tk.X, pady=2) ttk.Entry(main_frame, textvariable=self.task_number).pack(fill=tk.X, pady=2) ttk.Checkbutton(main_frame, text="Создать Excel-отчет с кодом разработки", variable=self.create_excel).pack(fill=tk.X, pady=10) ttk.Button(main_frame, text="Получить данные", command=self.run_generation).pack(fill=tk.X, pady=10, ipady=5) status_bar = ttk.Label(self, textvariable=self.status_text, relief=tk.SUNKEN, anchor=tk.W, padding="2") status_bar.pack(side=tk.BOTTOM, fill=tk.X) def select_repo_path(self): path = filedialog.askdirectory(title="Выберите папку Git репозитория") if path: self.repo_path.set(path) def select_save_path(self): path = filedialog.askdirectory(title="Выберите папку для сохранения отчета") if path: self.save_path.set(path) def run_generation(self): repo = self.repo_path.get() save = self.save_path.get() task = self.task_number.get() if not all([repo, save, task]): messagebox.showwarning("Внимание", "Все поля должны быть заполнены!") return if not os.path.isdir(os.path.join(repo, '.git')): messagebox.showerror("Ошибка", "Выбранная папка не является Git репозиторием.") return generate_report(repo, save, task, self.create_excel.get())def status_update_callback(message): app.status_text.set(message) app.update_idletasks()if __name__ == "__main__": app = App() app.mainloop()
14) Поддержка. Объяснить неизвестный код 1С. Ошибки журнала регистрации
-
Сделать каталог с инструкциями в формате .md. Попросить ИИ-агента ознакомиться с ним и составить для себя файл маршрутизации объект системы — инструкция. Получив событие инцидента по блоку, можно ускорить поиск информации или краткую сводку о том, как воспроизвести инцидент. Сложность: Низкая
-
Любые сообщения об ошибке можно предоставить модели, чтобы она «предположила», что может быть, и определила точку входа в воспроизведение процесса. Если ранее у вас эта ошибка была отражена в инструкции или документации, модель оперативно вспомнит об этом. Сложность: Низкая
-
При подключённом MCP к базе можно удобно работать с ошибками журнала регистрации. Например, по тексту ошибки вывести её регулярность за период и пользователей, у которых она возникала. Сложность: Высокая
Ускорители аналитика
1) Составить запрос или произвольный запрос для групповой обработки (массового изменения данных в 1С)
В некоторых случаях нет возможности вывести информацию через универсальный отчёт. Требуется составить запрос для получения большого объёма данных. Также порой заказчик просит внести изменения в реквизиты объектов метаданных (поля справочников и документов) по сложным условиям, которые у него находятся в текстовом документе или таблице Excel. В зависимости от уровня навыков аналитика, порой такая задача может перейти на разработчика, что увеличит срок доставки решения в релиз.
Не один раз проверенный мною кейс — в консоли запросов можно набросать скелет запроса и попросить LLM добавить параметры, по которым нужно осуществлять выборку. Обязательно придумайте проверку, чтобы быть полностью уверенным, что в выборку попали все ссылки на объекты.
Сложность: Средняя
2) Доработать готовую обработку, небольшое расширение
Модель прекрасно умеет работать по примеру и паттернам. Мне удалось без особых усилий доработать обработку загрузки данных в систему, без привлечения разработчика. Если у вас есть регламент разработки на проекте, вы можете попросить модель составить правила проекта на основании данного регламента.
Сложность: Высокая
Вот отрывок моего файла CLAUDE.md, который используется для экспериментов с разработкой на языке 1С.
Фрагмент проектного CLAUDE.md: золотое правило и паттерны
Золотое правило — никогда не трогать вендорские объекты напрямую:
❌ Прямое редактирование вендорских объектов (например, типового документа)✅ CFE-расширение с подпиской на событие / заимствованием формы✅ Дополнительные реквизиты БСП (ДополнительныеРеквизитыИСведения)✅ Дополнительные отчёты/обработки БСП
Архитектурные паттерны под типовую цель:
|
Цель |
Паттерн |
|---|---|
|
Добавить поле к объекту |
Доп. реквизиты БСП, не редактировать объект |
|
Расширить форму |
CFE-расширение |
|
Реакция на событие объекта |
Подписка на событие в расширении |
|
Новый отчёт |
Внешний ERF или расширение с СКД |
|
Новая обработка |
Внешний EPF |
|
Регламентное задание |
Доп. обработка БСП с расписанием |
3) Работа с таблицами Excel
Модель умеет читать и обрабатывать файлы Excel. Скажу честно: навык работы в Excel у меня притупился — я перешёл от ручного создания к контролю, проверяю результат, который ожидаю получить, а саму рутину отдаю агенту и параллельно занимаюсь другой работой. Вопрос, как это сделать? Я никогда не прошу обработать файл-исходник и собрать данные в сводную, сделать сортировку или ВПР. Я даю краткий шаблон файла и прошу сделать мне файл, в котором будет сравнение или сводная по нужной мне информации. Модель генерирует данный файл, в который от меня требуется только подставить свои данные, а все формулы уже заполнены в нужных полях. Требуется проверка результата, но постепенно под разные задачи вырабатывается навык правильного запроса или harness запоминает, что требуется и как.
Сложность: Высокая
4) Обработка данных в текстовом виде
Не знаю, насколько часто вы встречаете данные в текстовом виде на несколько десятков мегабайт, которые требуется структурировать или предварительно разделить и подготовить для загрузки в систему.
Модель прекрасно работает с текстом, вот только контекст у неё ограничен. Однако модель даёт нам возможность применять различные PowerShell и Python инструменты и скрипты для обработки файлов в формате .txt.
-
В моей практике нужно было выделить данные из штрихкодов DataMatrix, переложив их в таблицу. Приложив два примера данных, какие данные получаю на вход и что я хочу получить на выходе, ИИ-агент написал скрипт и протестировал его. Далее я, протестировав скрипт на малых данных и убедившись в том, что он обрабатывает информацию верно, прогнал через него весь объём данных.
-
Если вы имеете данные в текстовом виде и их надо заменить, анонимизировать — это повторяющаяся информация и вы сейчас используете «заменить всё» в документе Word, то такую задачу также можно автоматизировать, применив написанный моделью скрипт.
Сложность: Высокая
5) Редактирование изображений и прототипирование интерфейсов
В зависимости от сложности задачи, используя Google AI Studio и Nano Banana, можно прототипировать интерфейс. Убрать элементы, заменить, добавить на форму командные кнопки. Ускоритель только в том случае, если параллельно занимаетесь другой задачей.
Сложность: Низкая, но есть региональные ограничения на доступ к Google AI Studio.
Про подходы к работе с ИИ
Выбор модели и инструмента
Во всех кейсах я не делаю акцент на этом, т.к. сейчас данная индустрия сильно меняется. Вы можете не пройти воронку ограничений (доступ, оплата, требование ИБ), и для вас останется лишь ограниченный выбор отечественных или китайских моделей. Это не означает, что данные кейсы нельзя реализовать, но эффективность на слабых моделях или неподходящих инструментах сильно ниже. Моё субъективное мнение, что по-настоящему выполнить всё описанное мной и получить удовольствие от работы возможно на desktop-приложениях от вендоров или Claude Code, OpenCode + SOTA-модель. Режим работы с чатом в браузере в нашей сфере существенно снижает область применения и отнимает уйму времени на загрузку и операции копировать-вставить.
Шаг за шагом
Мой опыт от рабочих до личных задач показывает, что даже самую сложную задачу нужно вначале решить по частям и от простого к сложному. Не пытайтесь решить сложную задачу, рассчитывая, что ИИ это сделает. Этот работник круто и феноменально решает очень простые рутинные задачи, потом вы прикрепляете вагончик с новыми задачами, и так вагончик за вагончиком вы движетесь к итоговой цели.
Обязательно ли устанавливать Git, Python и работать через командную строку
Мой пройденный путь показывает, что лучше освоить этот стек. Агенту будет проще работать с выделенной средой, а вы сможете версионировать изменения своих файлов проекта. При этом под работой в командной строке я подразумеваю базовые команды и вызов CLI-клиентов, которые работают в папке проекта. CLI-клиент также может быть вызван в том же самом Cursor, VS Code.
Безопасность
Перед началом работы продумайте, как вы будете строить работу по обезличиванию чувствительной информации. Во всех своих перечисленных кейсах, прежде чем отдать данные в облачную модель, их приходилось заранее подготавливать к обработке.
В кейсах не отражены промт, rules, skills
Давайте относиться к кейсам как к чек-листу аналитика 1С — отправной точке для начинающих. Готовых промтов я здесь намеренно не привожу. Я против того, чтобы тратить время на составление длинного промта под задачу. Лично я отказался от этой практики примерно с конца 2025 года: современные модели уже хорошо обучены составлять промт для себя сами — правильнее описать задачу и попросить модель собрать под неё системный промт, а потом проверить его и использовать. Дальше начинается не доработка промта, а работа с контекстом — правила и скиллы проекта. Почему я считаю, что составление промта вручную не нужно? Во-первых, жёсткая ручная инструкция ограничивает сильную модель — она и без вас знает, как лучше подойти к задаче, а вы своими формулировками загоняете её в рамки. Во-вторых, промт под одну модель не переносится на другую. Поэтому промт — это не актив, который написал один раз и пользуешься годами. Это расходник: его переписывают под смену модели или harness; делать это каждый раз вручную не прибавляет мне экономии и эффективности, поэтому пускай ИИ пишет для ИИ, а от меня только задача. В топку такие инструменты, которые отнимают у меня больше времени на решение задачи при их использовании.
Пример из рабочего 1С-проекта. Это маршрутизатор: он говорит агенту, какие правила и скиллы подтянуть под тип задачи, ещё до того, как тот возьмётся за код. Сам файл короткий и модульный — его проще править ИИ-агенту.
Фрагмент проектного CLAUDE.md: маршрутизация контекста
|
Триггер |
Правило |
Файл-скилл ( |
|---|---|---|
|
Запрос 1С, |
|
при «медленный / оптимизируй» — |
|
Расширение CFE, XML выгрузки, привилегированный режим |
|
— |
|
Размещение объектов, префиксы, роли, VCS, политика вендора |
|
при ТЗ / SDD — |
|
Нормы ITS / v8std, права |
|
— |
|
Стиль BSL, ревью модуля |
|
при code review — |
|
Инспекция метаданных, структура объектов |
— |
|
|
Реализация до подтверждённых метаданных |
— |
|
Здесь же в файле прописано правило «метаданные до кода». Агенту запрещено писать запросы и код по предполагаемым именам реквизитов: источник истины — только подтверждённые файлы метаданных в папке проекта.
Фрагмент проектного CLAUDE.md: метаданные до кода
1. Запросить у пользователя нужные файлы метаданных / модулей2. Дождаться появления файлов в папке проекта3. Прочитать нужные файлы (точечно, не всё подряд)4. [написать код]5. Сверить имена реквизитов/полей с прочитанными метаданными
Третий кусок того же файла — это политика вызова скиллов: когда задача требует не объяснения, а конкретной операции над артефактом 1С (собрать, выгрузить, валидировать), агент берёт готовый скилл, а не сочиняет всё с нуля.
Фрагмент проектного CLAUDE.md: операция → Skill
Правило: вызывать скилл только когда задача явно требует выполнения операции (сборка, выгрузка, загрузка, валидация, создание объекта). Не вызывать превентивно или несколько сразу.
|
Когда пользователь просит |
Skill |
|---|---|
|
Создать расширение CFE с нуля |
|
|
Заимствовать объект в расширение |
|
|
Перехватить метод в расширении |
|
|
Собрать внешнюю обработку EPF из исходников |
|
|
Создать/изменить форму объекта |
|
|
Выгрузить конфигурацию в XML |
|
|
Редактировать метаданные объекта |
|
Skill НЕ нужен: вопросы, объяснения, написание BSL/запросов, чтение файлов, ревью — всё без явного действия над артефактом 1С.
Контекстное окно
Чем бы вы ни пользовались, если вы не видите, как заполняется контекстное окно агента, — вы теряете контроль над результатом. В повседневных задачах из 200К контекстного окна самый точный и удовлетворительный результат получается, пока агент подходит к решению в пределах 100–140К. Дальше качество начинает плыть.
Что я делаю при подходе к этому потолку: прошу модель перенести итоги в файл памяти и начинаю новую сессию. Мой пример формирования памяти сессии.
Фрагмент проектного CLAUDE.md (обезличено): управление контекстом сессии
Когда контекст переполняется (ответы замедляются, модель теряет детали):
1. Сохранить прогресс в session-notes.md2. Открыть новую сессию с прикреплённым session-notes.md3. Продолжить с сохранённого состояния
Формат session-notes.md:
## Текущая задача[Что и зачем]## Сделано- [Шаг 1]## Следующий шаг[Что делать дальше]## Ключевые объекты- [Объект: имя, тип, ключевые факты]
Скрипты и детерминизм
Отдельно хочу выделить, почему в задачах аналитика я не применяю просто обработку данных инструментами ИИ. Данные могут быть чувствительные, локальная модель не может вам гарантировать результат по очистке этих данных, верно составленный скрипт — гарантирует результат. Модель может не закончить операцию, обрабатывая данные локально или в облаке, при этом она будет использовать те же инструменты Python или PowerShell, так зачем нам полагаться на бросок кубиков при обработке через ИИ, когда можно попросить её написать скрипт, проверить и протестировать и получить результат? Скрипты могут быть разными и под разные задачи — распарсить текст, обработать выгрузку, собрать таблицу, выгрузить данные из Git.
Проверка результата
Во всех описанных кейсах контрольная проверка всегда осуществлялась мной. Кейсы описаны с точки зрения, что они принесли результат, но это не означает, что всё было сделано с первой попытки. Я не делаю акцента на этом, т.к. привести достоверную статистику не могу, но точно могу сказать: не доверяйте тем, кто говорит, что вы сложные объёмные задачи сможете гарантированно решать с помощью хорошей модели, инструментов, правил или MCP регулярно и с первого раза — это противоречит вероятностной природе LLM. Всегда проверяйте результат.
Что предложить бизнесу на его запрос о внедрении ИИ в 1С?
Я думаю, нам всем вместе предстоит ещё найти бизнес-кейсы для 1С, которые, пройдя через воронку ограничений и отсутствие детерминизма, устроят бизнес. На сегодняшний день важно общаться с бизнесом, объяснять простыми словами преимущества и ограничения, учить применять инструменты ИИ без интеграции их в процесс 1С. Например, пользователи желают в 1С собирать великолепно красивые дашборды и чтобы агент это делал за них. Увы, как по мне, это утопичная затея, но мы можем сделать выгрузку отчёта, которую подхватит агент, а мы научим пользователя прототипировать и уже потом реализовывать это в инструменте, предназначенном для этого. Может, постепенно и наша специальность трансформируется в консультанта по ИИ-инструментам и 1С. На сегодняшний день я не вижу возможности внедрения ИИ в 1С, чтобы это принесло существенную выгоду для бизнеса. Все кейсы, с которыми мне приходилось знакомиться, тут же ломаются при масштабировании. К моему удивлению, многие концентрируются на самом процессе внедрения ИИ, но редко обсуждают экономическую сторону этого процесса и бюджет потребления этой услуги.
Выводы
Перед началом использования инструментов ИИ вы должны понимать для себя, какие ограничения вам актуальны, сможете ли вы их обойти, если нет, что остаётся доступным. Исходя из перечня доступных инструментов, вы можете пробовать реализовать описанные кейсы и получать свой личный опыт. LLM — это языковая модель, стиль написания и общения у нас индивидуальный, загнать себя в рамки чьих-то шаблонов или промтов — это как просить вас общаться на чужом языке, который вы плохо знаете. Постепенно вы выделите для себя такой же перечень кейсов, подходов и решений. Лично для меня ИИ — это усилитель. При этом я отмечаю для себя, что лучший результат достигается на тех задачах, которые я сам понимаю, как быстро решить и проверить результат. Но масштабировать мой опыт на компанию сегодня трудно, ровно из-за множества ограничений и индивидуальных особенностей пользователей. То, что мне как одному человеку под силу обойти вручную, для организации складывается в барьер: обход региональных ограничений, персональная ответственность за результат, недетерминизм, новая статья расходов, которую нужно обосновать через ROI.
Зачем сейчас инвестировать в это своё время? Я верю, что постепенно часть ограничений будет снята, возможно, отечественные модели догонят сегодняшних лидеров, тем самым приоткрыв возможность более широкой интеграции ИИ в работу аналитика 1С. Ко всему прочему, когда избавление от рутины высвобождает рабочее время, открывается окно для творчества и саморазвития. А саморазвитие сейчас превратилось в настолько интересный процесс за счёт доступности ИИ, что хочется заниматься тем, на что у тебя всегда не хватало времени.
Полезные ссылки и сообщества
-
1c-mcp-toolkit — решение для подключения AI-агентов (Kiro, Claude и др.) к базам данных 1С:Предприятие.
-
cc-1c-skills — скиллы 1С для ИИ-агентов.
-
onec_neurofish — сообщество, где 1С-разработчики обсуждают ежедневные эксперименты с ИИ-кодингом 1С.
-
OneCAIClub — сообщество, где собраны кейсы от практиков.
-
codepilot1c-edt — плагин под EDT, и канал создателя плагина.
-
markitdown — Python-инструмент от Microsoft, который конвертирует разные форматы файлов в Markdown.
-
1c-ai-development-kit — набор материалов и инструментов для ИИ-разработки в 1С.
-
rlm-tools-bsl — MCP-сервер для токен-эффективного анализа кодовых баз 1С (BSL).
ссылка на оригинал статьи https://habr.com/ru/articles/1054694/