Сразу скажу: этот пост промодерирован при помощи ИИ. Но не считайте, что это нейрослоп. Я лишь прогнал свои кривые мысли через ИИ, чтобы ваши глаза не вытекли. Всё, что ниже, — моё, руками и на своих задачах.
С чего начиналось
Я, как и многие, пробовал ИИ в 1С. Первые попытки были неудачными, и я решил, что ИИ ещё не скоро сможет в «1С». Причём пробовал я не бесплатные демки — платил деньги. Просто, как выяснилось позже, платил не за тот сервис.
А потом мне посоветовали попробовать другой. И тут до меня дошло: это не ИИ далёк от 1С, это я выбрал неправильный инструмент. С этого момента и началось моё плотное взаимодействие с ИИ.
Я был поражён возможностями. В первую очередь, конечно, попытался ускорить свою работу по 1С, а свободное время уделял изучению ИИ и попыткам сделать «стартап» — что-нибудь не на базе 1С.
Поигрался и понял: зачем искать что-то новое, когда надо улучшать то, что я уже умею? А умею я разработку на языке 1С.
Начал я с собственной CRM
Сначала пытался написать её на 1С своими силами, но в итоге понял, что 1С мне для этого не подходит. Решил при помощи ИИ писать CRM через сайт.
Начиналось всё как всегда: завожу задачки, пишу работы, описания ТЗ и прочее. Сделал себе удобную систему, где было всё, что мне нужно: хранение доступов к клиентам, хранение файлов, ТЗ, скриншотов — и всё, до чего я мог додуматься. Это была CRM первой версии.
Параллельно я так же занимался работой и уже отдавал какие-то задачи ИИ, чтобы он что-то сделал за меня. Начинал с простого. Сначала — формирование подробного технического задания, его проверка, потом просил ИИ писать код по этим ТЗ, а всё, что не касалось кода, делал вручную через конфигуратор.
Сразу оговорюсь: код не был идеальным, но был рабочим. После беглого изучения и нескольких правок получался код, который не стыдно загружать клиенту. Таким образом я нарабатывал себе базу и дорабатывал свой промпт, который кидал в каждом чате.
CRM 2.0, или как я получил красиво оформленный хлам
Вести собственный учёт — это, конечно, классно. Но задач много, особенно мелких, и по каждой всё подробно описывать — честно, задолбался.
Тут я решил проапгрейдить свою CRM и внедрить в неё ИИ. Что планировалось? По скриншоту или по кривому описанию генерировать нормальное описание задачи. Так же и по выполнению работ: хотелось бегло расписать, что сделал (или выдернуть из ИИ, что было сделано), и чтобы в задаче это всё отобразилось.
Вот и появилась CRM с интеграцией с ИИ. Подключил, получил ключ API, написал промпты под каждое действие — погнали.
Теперь задачи из кучи хлама превратились в хлам, заполненный водой)) Кучу воды ИИ добавлял в описание, что-то своё придумывал и прочее.
Но в любом случае цель была достигнута. Скорость работы с задачами заметно улучшилась. Да, мне приходилось править то, что писал ИИ, удалять лишнее или добавлять что-то своё, но в целом процентов на 30 я ускорился. Да, немного. Да, криво. Зато это был опыт, который в будущем мне пригодился.
Что же происходило с 1С?
Тут я тоже решил ускорить себе работу. Промпт был уже большой, но я начал получать одни и те же ошибки и грабли, которые постоянно приходилось описывать каждый раз в новом чате. Тут я решил — хватит это терпеть!
Какие грабли? В разработке ИИ плохо знает метаданные конфигурации. Может выдумать несуществующий метод. Или наоборот — написать свой метод, который в конфигурации уже есть. А в анализе грабли обычные: нужен код, в который ИИ мог бы подсмотреть.
Как я стал это решать.
По разработке создал небольшую обработку, которая описывает метаданные конфигурации в текстовый файл. Я сам выбирал метаданные, которые надо описать, — зная, что из этого явно пригодится. А про то, чего не знал, договорился так: пусть ИИ просит описание, а я ему его дам.
Эта обработка помогла ускорить работу: ошибок с метаданными стало меньше, и всё меньше приходилось тщательно проверять каждый код, который мне писал ИИ.
Второй пункт я закрыл через CRM. Попросил сделать прямо у себя небольшой инструмент — парсер кода. Идея такая: я загружаю в него какой-нибудь модуль и получаю на выходе имена процедур и функций с их описанием, без самого кода. Кормил этим ИИ, а он мне говорил, какой код хотел бы посмотреть или в какой модуль ещё заглянуть.
Это сэкономило кучу токенов, и стало меньше проблем с анализом. Поиск ошибки или изучение какого-то алгоритма проходили уже проще.
MCP: разворачиваем CRM в обратную сторону
Настал момент, когда мои API-ключи для связи с ИИ перестали работать — кончился баланс. И по совпадению я как раз начал изучать MCP-серверы, скиллы и прочее. Тут началась новая фаза переработки CRM.
Я всё ещё тратил время на ведение учёта и подумал, что надо от этого избавляться. Мне уже откровенно лень было это делать, даже при том, что я упростил себе работу. И решил менять механизм: чтобы не CRM обращалась к ИИ, а наоборот — чтобы ИИ мог работать с CRM.
Тут начал перестраивать архитектуру полностью. К этому времени я уже понимал, чего хочу от CRM. Я не хочу в ней жить. Я хочу, чтобы CRM была местом сбора информации, подсчёта кровно заработанных и хранения данных, нужных только мне.
По итогу создал MCP, который начал работать с моей CRM: заведение задач, заполнение описания, работы и прочее. Работу по заполнению делегировал ИИ.
Естественно, в дальнейшем это всё пошло шлифоваться. На каждый инструмент пишется описание, как и что заполнять. Добавил ленту в задачи, смету и прочее. Любое действие с задачей я стал стандартизировать, чтобы ИИ не писал всё по своему усмотрению в зависимости от своего настроения. Чёткие алгоритмы на каждое действие: если пишешь ленту, то пиши, только когда тебя просят, а не засоряй её по каждой правке; описание задачи тоже пиши лаконично, ну и тому подобное.
Теперь мне достаточно прислать скриншот переписки в чат и сказать: «заведи задачу в CRM».
Сейчас в CRM я вообще почти не захожу. Там всё настолько меня устраивает, что у меня пока нет идей, как сделать лучше. ИИ может сам посмотреть задачи, найти похожие, посмотреть историю — «а что было сделано» — и получить картину без моего описания.
Ещё я планировал внедрить описание доработок по каждому клиенту, чтобы просто самому не забывать (ну или чтобы через ИИ можно было спросить в любое время), но мне пока лень.
Вернёмся снова в 1С: metalib
С CRM я познал всю прелесть MCP и скиллов. Теперь это надо было как-то внедрить в 1С — и тут пришла идея metalib и ещё кучи инструментов.
Пока я занимался CRM, я пробовал скармливать ИИ XML-выгрузки расширений и смотреть, как он с ними работает. И, на удивление, работал он неплохо. Но неплохо — только с большими расширениями, где он мог подглядеть, «а как это устроено в соседней форме». С маленькими, на пару доработок, было потяжелее: он совершал одни и те же ошибки.
Но вернёмся к metalib. Так как работаю я в основном с одними и теми же конфигурациями, я подумал: а чего бы не выгрузить их в файлы и пусть ИИ иногда туда подглядывает, когда хочет? Эта идея переросла в локальный git и отдельный инструмент со своим дашбордом.
Суть такая: я выгрузил конфигурацию в файлы, загрузил в свой локальный git и написал инструменты для ИИ, чтобы он мог получать те данные, которые я раньше давал ему руками (напомню про обработку чтения метаданных и про парсер кода в CRM). Все эти инструменты объединились в metalib.
Этот инструмент начал развиваться семимильными шагами и за два-три вечера достиг грандиозного результата. По итогу что я имел:
- выгрузки конфигураций — ИИ ходит в них точечно: найти объект → список процедур → нужный метод;
- автоматическое обновление конфигурации прямо через дашборд: мне не нужно делать ничего, кроме как взять и нажать кнопочку «Обновить» и выбрать нужную версию. Обновляется по рекомендациям, без перепрыгиваний;
- заливку снимка более низкой версии — этот инструмент тоже пришлось написать, так как надо было работать с древней версией;
- автоматическую установку новых конфигураций.
Короче, сделал всё, чтобы ИИ наконец-то мог посмотреть код конфигурации без танцев с бубном.
В этом metalib я решил сделать вообще всё, что мне нужно для разработки. Перенёс туда свой «промпт», который таскал файлом. А точнее — разобрал его и создал правила, которые подгружаются в каждый чат. Эти правила мои собственные: то, как я хочу, чтобы разрабатывалось, и мои какие-то моменты, а не инструкции по разработке.
Параллельно был собран механизм распаковки и сборки расширений, конфигураций, обработок и отчётов.
Реализован скилл-линтер, который каждый раз проверяет код 1С на стандарты разработки. Взял его на гитхабе и доработал под себя: ввёл в линтер проверки на косяки, которые ИИ обычно пишет в коде.
Вот тут пошла жара. Скорость работ выросла раза в 2–3 от изначального значения, а иногда могла превышать и в 10 раз.
Заглянул в код — а там питонист
Заглядывать в код я начинал всё меньше и меньше. Однако это было зря. Хотя в целом-то понятно: после такой настройки инструментов ошибки в коде почти не появлялись.
Заглянув, я понял, что ИИ пишет не в стиле 1С, а в стиле кодера на питоне. Промптом это лечится слабо, поэтому я решил добавить ещё один скилл — ревью кода. Его задача: смотреть код и проверять, соответствует ли он стилю 1С, нет ли признаков «питона». Потому что из-за этого ИИ придумывает такие алгоритмы, которые решаются простыми штатными средствами.
Я разошёлся дальше и сделал так, чтобы параллельно запускался ещё один агент, который смотрит код на оптимизацию, на дублирование логики и проверяет, а можно ли было что-то реализовать через БСП. Да, я и БСП загрузил в metalib.
Живая база: сколько можно руками?
Вопрос с разработкой я почти закрыл всеми этими инструментами. Остался анализ, данные из живой базы и прочее.
Тут я начал с простого. Просто просил ИИ написать запрос, чтобы он получил нужные ему для анализа данные, а после чего скидывал ему результат.
Ну сколько можно уже руками-то работать? — подумал я. И начался этап разработки агента metalib.
Вместе с ИИ настроили metalib и создали обработку, которая дала ИИ доступ к живой базе. Тоже с этим довольно долго мучились, как сделать. По итогу в metalib передаётся код, который надо выполнить, а обработка раз в несколько секунд слушает и берёт то, что ей надо сделать.
Естественно, сделаны минимально необходимые защиты:
- пришлось брать домен и делать сертификат, чтобы было защищённое соединение HTTPS;
- код выполняется в транзакции с её отменой (по умолчанию), плюс галочки, которые разрешают выполнять без транзакции;
- загрузка и выгрузка расширений и обработок;
- перезапуск 1С и повторное открытие обработки.
Этот агент стал помощником, который экономит время на ручной перезапуск, выгрузку и загрузку расширений, обработок и прочего. Через него я заставляю ИИ проводить тестирование сделанной работы: ИИ видит ошибки, косяки, правит их и повторяет цикл, пока не будет так, как задумано.
Да, это не «Ванесса» и не сценарное тестирование, но подобные тесты закрывают больше половины потребностей. То, что мне надо посмотреть глазами, я сам прошу открыть — нужный документ, обработку или отчёт — и уже смотрю сам. Но я теперь не бегаю и не загружаю каждое исправление, найденное в ходе тестирования.
А что с CRM?
Я решил добавить методику оценки каждой задачи и создал матрицу работ, благодаря которой ИИ смотрит и оценивает задачи. И по этой же матрице заполняет смету.
Калибровал я её около месяца, чтобы ИИ при помощи этой матрицы мог выдавать более-менее результаты по моему субъективному мнению. Зато теперь и проблема оценки ложится на плечи ИИ. Потому что он может заранее проанализировать, что будет сделано, какая архитектура, посмотреть данные в базе и прочее. Поэтому оценка получается более честной.
Итоги
Улучшать это можно ещё много и долго, но пока идеи мои кончились.
Сказать, что я добился идеального результата? Нет. До сих пор нужна ручная работа. Есть моменты, которые ИИ может не оттестировать. В каких-то сложных бизнес-процессах, если сам не разбираешься, ИИ может пойти не по тому пути, которому ты хочешь, и потом в этом разбираться.
Расти есть куда. Но текущий механизм, который я построил вокруг себя, позволяет мне работать параллельно над несколькими задачами одновременно — удаётся вести 4–6 штук. Скорость, как я сказал, возросла минимум в 2–3 раза.
И рынок к этому придёт.
Вступайте в нашу телеграмм-группу Инфостарт