Вместо вступления
Долгое время я скептически относился к многочисленным новостям о нейросетях (далее по тексту, дабы не пестрить надоевшим словом, буду называть НТ - новая технология). Итак, НТ выглядела для меня как продвинутый генератор сочинений о лете, акции большой зеленой компании как очередной ИТ-пузырь, а задачи, подразумевающие чёткий структурированный ответ - чем-то заоблачным.
Моё отношение изменилось после пары случайных событий: замена Google Assistant на Gemini и внушительная секция НТ на INFOSTART TEAMLEAD & CIO EVENT 2025. Так я решил прикоснуться к прекрасному и понять, умеет ли кремниевый разум в код 1С.
Немного о предметке
Так уж сложилось, что я инвестор с 1 января 2022. Никакой из фрагментов повествования далее по тексту не является инвестиционной рекомендацией. Тема рассматривается исключительно как конечная цель для технической реализации.
После изучения пары-тройки книжек я понял, что у меня нет времени на детальное изучение инвестиционных инструментов и отчётов компаний, поэтому очень заинтересовался индексным инвестированием. Стратегия элементарна - собирай портфель из активов в пропорциях, соответствующих индексу, то есть заранее рассчитанным в соответствии с капитализацией компаний (на деле конечно сложнее, но в целом картина такова).
Для самых пассивных конечно же есть ETF и БПИФ - ряд эмитентов уже сформировали индексные фонды и продают доли в них. Однако, после февральских событий 2022 инфраструктурные риски перестали быть чем-то малозаметным. Поэтому я собирал часть индексного портфеля буквально в таблице, благо у нас не так много эмитентов.
По прошествии некоторого времени мне надоело вручную обновлять состав индекса и котировки. Так родилась идея автоматизации процесса (вряд ли здесь нужно детально описывать сокращение издержек и влияние человеческого фактора).
Концепт
Я решил, что в MVP не будет взаимодействия с API брокера, рекомендательной системы, автоматической ребалансировки и распределения денежных средств, больших красивых графиков и всего остального.
Первая реализация должна отражать ключевую информацию об индексном портфеле, идентичную таблице, которая всё это время справлялась с возложенной функцией. Ключевым же отличием предполагалось (полу)автоматическое обновление состава индекса и цен биржевых инструментов.
Мне было лень заниматься формированием и обработкой HTTP-запросов, поэтому в качестве транспорта я использовал библиотеку Коннектор от Владимира Бондаревского. Уровнем выше расположился клиент API Мосбиржи с парой ключевых методов: получение данных индекса и получение цен биржевых инструментов (акций).
При чем здесь Клод?
Описанный концепт кис в моей голове более двух лет - казалось, что автоматизация для редких взаимодействий с портфелем избыточна, а время и мыслетопливо, как это часто бывает, в дефиците.
А что, если, скормить рутину разработки чатуджипити? Возможно НТ поможет сдвинуться с мертвой точки и наконец избавить от периодической монотонной сверки толпы цифр. Я немного изучил вопрос и понял, что в код на данный момент лучше конкурентов умеет Claude от Anthropic.
Поначалу я скептически отнесся к перспективам совместной работы с НТ в области 1С-разработки. Первые пробные запросы развеяли сомнения - ответы оказались на удивление разумными. Воодушевившись, я решил замахнуться на максимум и написать запрос-мечту разработчика: "Создай отчет на основе инструментов из индекса и портфеля..." с подключенной опцией "Исследование".
Claude принялся штудировать интернет как прилежный студент перед экзаменом - в итоговой сводке мелькнуло более сотни источников. Результат получился амбивалентным: общая структура отчета была логичной, но XML оказался с ошибками, а конструкции Вычисляемых полей - вовсе несуществующими. Попытки скорректировать код уточняющими вопросами не увенчались успехом. Складывалось впечатление, что НТ пыталась натянуть логику из других сред разработки на специфику 1С. Пришлось менять тактику.
Вместо генерации готовых метаданных я перешел к поэтапному решению задач. И тут началось самое интересное. Когда потребовалось добавить в базу данные портфеля, я попросил Claude создать CSV-файл из Google Docs с актуальными тикерами. Результат оказался почти идеальным - потребовалось лишь поправить разделитель.
Следующим шагом стал загрузчик из CSV в справочник Портфели. Код я решил скопировать напрямую в модуль формы, а реквизиты накидать вручную - опыт с отчетом научил осторожности в вопросах XML-генерации. Первый запуск выдал ошибку: НТ использовала устаревший способ передачи файла с клиента на сервер. Пара исправленных строк - и код заработал!
Правда, обнаружились забавные нюансы: Claude предложил заполнять список в событии ПриСозданииНаСервере данными из БД, словно мы пишем веб-приложение. В 1С это делается автоматически через элемент ссылочного типа, поэтому лишний код пришлось удалить. НТ не везде следует парадигме разработки 1С, но код получается понятным и работоспособным.
Самым неожиданным оказался психологический эффект. Общение с чат-ботом будто раскрепостило собственные мысли о проекте. Выстраивалась продуктивная схема: я задавал вопрос, Claude отвечал с нюансами, я исправлял недочеты и получал толчок для новых идей. Рутина превратилась в увлекательный диалог.
Пример запроса на написание метода для проекта
Конечно, без шероховатостей не обошлось. Иногда НТ предлагала "глобальные переменные" в общих модулях по аналогии с клиентскими переменными форм или методы из прошлых версий платформы, несмотря на явное указание текущей версии. Но это скорее вопрос дообучения на специфичных данных 1С.
В итоге я получил не только работающий инструмент для загрузки портфеля, но и мощный стимул для продвижения всего проекта. НТ оказалась не заменой разработчика, а катализатором, который помог сдвинуться с мертвой точки двухлетнего простоя.
Выводы
Новостные ленты часто пестрят заголовками, типа "LLM превзошла профессионального разработчика с 20-летним стажем!" или "Большая-пребольшая компания уволила 100500 разработчиков и отдала их хлеб бездушным машинам". Так ли это на самом деле?
Если я с помощью чайной ложки могу вырыть небольшую ямку, с помощью лопаты - уже траншею, а с экскаватором целый котлован, то можно ли говорить, что последний сильно превосходит меня в ямокопании? В каком-то смысле возможно, но чего стоит экскаватор без экскаваторщика? Во многих задачах даже оператора-дилетанта будет недостаточно. Все это лишь инструмент в руках специалиста.
На мой взгляд схожая ситуация и с НТ. Она способна бустить ментальные способности профессионала, обладающего предметным контекстом. Для формирования правильного вопроса и понимания степени адекватности ответа нужно разбираться в теме. Махровому сишнику удалось разобраться с двухлетним багом, благодаря консолидации знаний и умений человека и НТ, вряд ли "человек с улицы" мог бы повторить нечто подобное.
One more thing