Data science. Скажи мне, брат, трансформер...

11.12.22

Разработка - Языки и среды

Какой же data science без нейросетей! Тема чрезвычайно большая и местами сложная. Но в данной статье сложностей не будет. То, что я вам расскажу сейчас, можно охарактеризовать следующими словами: Никогда еще столь доступное не было столь важным.

Весной 2020 года в области нейросетей произошла маленькая революция. Которая чуть позже оказалась не совсем маленькой, потом еще больше, а сегодня ее настоящие размеры все еще осознаются теми, кто успел к этому прикоснуться.

Речь идет о GPT-3. Generative pretrained transformers третьего поколения. Сейчас я не буду вдаваться в технические детали. Поверхностный обзор вас скорее запутает, а подробный разговор может утомить. Оригинальная статья, с которой все началось здесь https://arxiv.org/abs/2005.14165. Кому интересно, может погрузиться.

В двух словах, что произошло. Языковые нейросети существовали и раньше. С их помощью добивались довольно впечатляющих результатов. Но в достаточно узких областях и при значительных усилиях. Т.е. для каждой отдельной задачи можно было, как следует помучавшись, натренировать специализированную нейросеть. И потом "общаться" с ней, но строго "по теме", в чрезвычайно ограниченных рамках. В отличие от этого, GPT-3 позволяет натренировать нейросеть сразу "на все". Такая нейросеть будет понимать (что бы это ни значило) простой человеческий язык и выдавать небесполезные реакции. Звучит настолько фантастически, что даже не знаешь как на это реагировать. Как я думаю, типичный спектр реакций простирается от "гы-гы-гы" к легкому шоку, и далее от легкого шока к более или менее отчетливому понимаю, что это это такое было.

Попробую продемонстрировать вам это на своем личном опыте.

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

Как то раз, просматривая очередной обзор https://habr.com/ru/company/first/blog/678848/, наткнулся на сообщение о том что GPT-ать теперь, усилиями Сбербанка, можно и по-русски. Да, скорее всего, и раньше об этом слышал, но благополучно забыл. В этот раз про русские GPT там было такое бодренькое: я вот ввел затравку про Антарктиду и смотрите, что у меня вышло.  

История Антарктиды очень сильно отличается от других континентов нашей планеты.

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

Говорят, что дурной пример заразителен. Уж не знаю, что меня "пробило" на этот раз, но я решил, что сам попробую ввести ровно такой же запрос. RuGPT3 не заставила себя долго ждать. Ответ был совершенно другой. Но это правильно. Хороший писатель не станет повторяться.

История Антарктиды очень сильно отличается от истории других континентов нашей планеты.

RuGPT3: История Антарктиды очень сильно отличается от истории других континентов нашей планеты.
В нашей стране она становится "открытой" только в 1955 году, а за всю историю на ее землях побывало всего около 30 экспедиций, из которых лишь 3 высадились...

Все началось как-то чересчур культурно и скучно. Но через пару абзацев нейросеть все-таки сумела расшевелиться

На фото:
Азимовский залив, Антарктика. Из-за ремонтных работ этот вертолет не смог сесть прямо на лед, чтобы забрать российский грузовой корабль "Прогресс М-26М", который стартовал с Байконура в 06:07 UTC (17:07 мск) с 73 тоннами груза на борту.

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

Нейросеть  не может создать ничего нового. Вообще или пока еще - вопрос философский. Зато она может невероятно старательно работать со старым, в том числе, хорошо забытым. И если так случилось, что она вас понимает (что бы это ни значило), а внутри у нее весь Stack Overflow, тогда куда следует податься простому 1С-нику? Правильно, простому 1С-нику надо спрашивать не про Антарктиду, а про SELECT.

Что я немедленно и сделал. Только на этот раз уже на сайте https://openai.com/. У RuGPT3 спрашивать про SELECT бесполезно. А у OpenAI есть раздел CODEX. Все еще полностью доступный, т.е. полностью бесплатный.

 

 

Мне нравится срез последних. Задача не то, чтобы примитивная, а формулируется просто и коротко. Дай последние значения! Пишем:

### Postgres SQL tables, with their properties:
#
# Rates(date, name, value)
#
### A query to list last values of each name
SELECT
 

И через несколько секунд получаем:

 

SELECT name, value, date
FROM Rates
WHERE date = (SELECT MAX(date) FROM Rates AS r WHERE r.name = Rates.name)
ORDER BY name

Неплохо. В 1С надо будет только вместо = поставить IN (В). Такое вот занудство, но мы про него знаем. Лично я всегда пользовался несколько иным методом, без коррелированного подзапроса. Но этот мне нравится больше. Идем дальше. Попробуем теперь получить накопительный итог

### Postgres SQL tables, with their properties:
#
# Sales(date, name, qty)
#
### A query to list the cumulative sum of qty for names and dates
SELECT date, name, SUM(qty) OVER (PARTITION BY name ORDER BY date) AS qty
FROM Sales
ORDER BY date, name

Мда! Окна нам в 1С пока не завезли.  Так и сидим, можно сказать, в полной темноте. Я попробовал поговорить с нейросетью и строго (OVER prohibited) и просяще (I cannot use OVER). Бесполезно. Есть еще настройка случайности результата. Она почему-то называется Temperature (случайно?) Но и она вам не поможет. С другой стороны, результат-то вроде как правильный. Что-ж, подождем лучших времен. Я еще немного поэкспериментировал с выдуманными из своей головы запросами и перешел к полевым испытаниям.

Я решил найти на mista.ru парочку вопросов. Не совсем банальных, типа почему у меня соединение не работает, а чуть посложнее. Первый вопрос https://forum.mista.ru/topic.php?id=883998 звучал примерно так: хочу получить все документы, у которых одна табличная часть заполнена, а вторая нет. Пробуем в OpenAI

### Postgres SQL tables, with their properties:
#
#tab1(id,name,qty)
#tab2(id,name,qty)
#
### A query to list distinct id where tab1 has no rows by id and tab2 has rows by id
SELECT DISTINCT id FROM tab1 WHERE id NOT IN (SELECT id FROM tab2)

Обратите внимание. Там, в ветке на форуме, даны правильные ответы. Но этот не только правильный, но еще и компактный.

Второй вопрос https://forum.mista.ru/topic.php?id=826183 оказался посложнее. Для каждого товара надо сначала определить покупателя, который купил на самую большую сумму среди других покупателей этого товара, а потом вывести количество проданного этому покупателю этого товара. Спрашиваем:

### Postgres SQL tables, with their properties:
#
#sales(buyer,name,qty,val)
#
### A query to list buyer,name,sum of qty where each buyer has largest sum of val by name
SELECT buyer,name,sum(qty)
FROM sales
GROUP BY buyer,name
HAVING sum(val) = (SELECT max(sum(val))
                  FROM sales
                  GROUP BY buyer,name)

И вертолет садится прямо на лед! Да, брат трансформер! Я тоже считаю, что всем нам необходимо вот это max(sum(val)) Но теневое мировое правительство, исходя из каких-то своих теневых мировых соображений наложило строгий запрет на такую конструкцию. И ее нет не только в 1С, но и вообще нигде. Жаль, но придется решать эту задачу самому.

Итог. Возможно, что вы уже для себя пришли к выводу о практической бесполезности этого нового инструмента. Но не торопитесь. У нас, программистов, интересная работа. Вот только прежде, чем сделать немного интересного, надо сделать много, очень много неинтересного. Вернемся к самому первому примеру, он очень показателен. В 1С есть периодический регистр сведений. Для этого регистра определен метод (и соотвествующая виртуальная таблица) СрезПоследних(). Мы пользуемся всем этим, не особо задумываясь, а что там внутри. Но время от времени (и что важно, достаточно редко) возникают ситуации, когда надо построить срез последних самостоятельно. Нет соответствующего регистра и нет возможности вмешиваться в структуру базы. Или регистр есть, но, например, такой структуры:

период, товар, склад, цена

а вам потребовалось получить последние значения цены по товарам не важно на каком складе. Стандартная реализация среза последних задачу такого рода не решает. Если вы думаете, что решение можно легко нагуглить, то вы ошибаетесь. Не знаю почему, но вот прямо сейчас и гугл и яндекс выдадут вам на нескольких страницах ссылки на что-то типа "срез последних на каждую дату". Придется потрудиться и поискать в результатах выдачи то, что вам действительно нужно. А потом еще придется потрудиться и вытащить рабочий текст запроса из статьи. Вот например здесь //infostart.ru/1c/articles/980323/ вы получите

ВЫБРАТЬ
	ВложенныйЗапрос.Оборудование КАК Оборудование,
	ВложенныйЗапрос.ПоследниеПоказанияПериод КАК ПоследниеПоказанияПериод,
	ПКУ_ПоказанияСчетчиков.Значение КАК ПоследниеПоказанияЗначение
ИЗ
	(ВЫБРАТЬ
		ПКУ_ПоказанияСчетчиков.Оборудование КАК Оборудование,
		МАКСИМУМ(ПКУ_ПоказанияСчетчиков.Период) КАК ПоследниеПоказанияПериод
	ИЗ
		РегистрСведений.ПоказанияСчетчиков КАК ПКУ_ПоказанияСчетчиков
	ГДЕ
		ПКУ_ПоказанияСчетчиков.Период <= &ДатаПоказаний
	
	СГРУППИРОВАТЬ ПО
		ПКУ_ПоказанияСчетчиков.Оборудование) КАК ВложенныйЗапрос
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПоказанияСчетчиков КАК ПКУ_ПоказанияСчетчиков
		ПО ВложенныйЗапрос.Оборудование = ПКУ_ПоказанияСчетчиков.Оборудование
			И ВложенныйЗапрос.ПоследниеПоказанияПериод = ПКУ_ПоказанияСчетчиков.Период

И это один из лучших примеров. Текст запроса появляется почти в самом начале статьи и по делу. Но сравните его с

SELECT name, value, date
FROM Rates
WHERE date = (SELECT MAX(date) FROM Rates AS r WHERE r.name = Rates.name)
ORDER BY name

Все-таки есть разница. Как я уже говорил, задача экзотическая и... неинтересная. Скорее всего я буду решать ее в рамках чего-то по-настоящему интересного. И мне было бы жаль тратить на нее больше 10 секунд своего времени. CODEX от OpenAI дает мне возможность ни о чем таком не жалеть. Как сказано в описании, CODEX может работать с несколькими десятками языков программирования. Но лучшие результаты ожидаемо получаются в Python. Языка 1С там пока еще нет. Зато есть SQL. А написание запросов занимает существенное время в работе 1С-ника. 

Нейросеть не станет делать за нас нашу интересную работу. Зато всегда готова взять на себя неинтересную. Можно ли желать лучшего! Лично я считаю, что широкое применение инструментов такого типа дело самого ближайшего будущего. Изучайте и берите на вооружение.

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

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

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

См. также

Нейросети Системный администратор Разработчик Аналитик Бухгалтер Пользователь Руководитель проекта 1С 8.3 1С:Документооборот 1С:Бухгалтерия 3.0 1С:Зарплата и Управление Персоналом 3.x Россия Платные (руб)

Подключите ИИ к 1С и решайте рабочие задачи обычными словами. От работы с данными до доработки конфигурации через расширения, всё в привычном чате с ИИ-помощником. Теперь с поддержкой DeepSeek Harness, Kimi Code и Kimi Work, доступных в России без VPN.

15990 руб.

30.07.2026    19512    43    4    

37

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-совместимые модели — данные могут не покидать ваш контур.

17500 руб.

20.12.2024    21533    104    32    

90

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

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

15250 руб.

25.08.2025    76951    147    41    

154

SALE! 30%

Нейросети 1С 8.3 1С:Документооборот 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Расширение добавляет в 1С чат с ИИ-агентом. Пользователь пишет вопрос обычными словами: «какие УПД не подписаны?», «какой НДС к уплате за квартал?», «что висит на согласовании дольше недели?», а агент сам строит запросы к базе с правами этого пользователя и отвечает цифрами, таблицей, диаграммой или файлом Excel. Плитки «Аналитик», «Бухгалтер» и «Руководитель» дают сводку по базе одной кнопкой. Агент разбирает ошибки по скриншоту, сверяет прайсы поставщиков и проверяет коды маркировки. С версии 1.0.21 спрашивать можно и с телефона: QR-код в окне агента, без установки приложения. Работает в УТ 11, КА 2, ERP 2, БП 3.0, УНФ 3.0, Документооборот 3.0 и Альфа-Авто 6, ставится одним расширением.

18300 руб.

05.10.2026    3590    10    9    

12

Инструментарий разработчика Нейросети Системный администратор Разработчик Руководитель проекта 1С 8.3 Платные (руб)

Обработка заменяет ФИО, организации, ИНН, ИИН, БИН, ОГРН, КПП, БИК, счета и IBAN, паспорта, СНИЛС, адреса, телефоны, почту и суммы на правдоподобные выдуманные перед отправкой данных в ChatGPT, Claude или YandexGPT, а потом расшифровывает ответ модели обратно, подставляя настоящие имена и настоящие числа. Возвращаются и те итоги, которые модель посчитала сама: суммы масштабируются одним коэффициентом, поэтому пропорции и доли переживают обезличивание. Словарь замен хранится в самой базе и подхватывается автоматически, даже если обработку закрывали. Реквизиты России и Казахстана, любая конфигурация от 8.3.24, без единой зависимости.

14640 руб.

07.08.2026    2192    3    0    

3

Распознавание документов и образов Нейросети 1С:Предприятие 8 1С 8.3 1С 8.5 1C:Бухгалтерия 1С:Зарплата и Управление Персоналом 3.x Беларусь Россия Казахстан Армения Платные (руб)

ИИ-сканер документов с REST API для интеграции с 1С и корпоративными системами. Извлекайте данные из счетов, паспортов, дипломов, патентов и трудовых книжек за секунды. Точность человека - скорость машины. Приложение поддерживает восемь типов документов, четырех провайдеров ИИ (имеется возможность использования локальных ИИ), локальный REST API и экспорт в JSON. Важно! модель должна поддерживать функцию Vision (распознавание файлов и картинок). Запускайте используя локальные ИИ, без подписок и ограничений

6100 руб.

24.08.2026    1439    1    0    

1

Нейросети Разработчик 1С 8.3 Бесплатно (free)

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

05.11.2026    6657    Iliaelagin    6    

16

Нейросети Разработчик Бухгалтер Пользователь 1С:Предприятие 8 1С:Бухгалтерия 3.0 Бесплатно (free)

ИИ агент для бухгалтерии - открытый ИИ-консультант внутри 1С. Он отвечает на вопросы по данным базы, анализирует задолженность и обороты, помогает разбирать ошибки проведения и готовить документы. Пользователь видит шаги агента: какие инструменты вызваны и какие результаты получены. Решение состоит из расширения 1С и сервера на Python, поддерживает локальные модели и облачные API. Инструменты выполняются с правами текущего пользователя. Текущая версия - прототип для «Бухгалтерии предприятия 3.0». Исходный код распространяется под лицензией MIT.

31.10.2026    3575    168    nomadAI    8    

19
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. evgen7938 35 12.12.22 04:50 Сейчас в теме
Только сегодня с коллегами обсуждали: скоро мы все останемся безработными...
Есть вероятность, что через пару лет (а это произойдет мигом) все будет замечательно работать и ИИ пойдет в сторону более сложных задач.
Помните голосовой ввод? Его не было буквально лет 6 назад. Очень скоро все сильно поменяется...
В интересное время живем! )
3. chg 12.12.22 05:26 Сейчас в теме
(1)не соглашусь, ИИ нужно обучать и качественно обучать, если мы говорим об обучении написания кода в 1С, то качественности нет, даже код самой компании 1С кривоват, не всегда придерживаются своих же стандартов, ну в общем до полной замены нам как пешком до луны, выдыхаем))
4. vano-ekt 146 12.12.22 07:35 Сейчас в теме
(1) ну вы тоже не на машинных кодах инструкции пишете, и даже не на ассемблере, а вас до сих пор почему-то называют программистами...
простые операторы эвм по меркам 50х прошлого века
2. evgen7938 35 12.12.22 04:54 Сейчас в теме
Мышление в стиле теории ограничений систем и ТРИЗ - это насколько более сложная задача, чем, скажем, распознавание голоса?
5. ixijixi 2177 12.12.22 09:00 Сейчас в теме
Пора переквалифицироваться в управдомы
Прикрепленные файлы:
TerveRus; 0x00; starik-2005; +3 – Ответить
11. kser87 2485 14.12.22 13:38 Сейчас в теме
(5) и запрос не на срез последних. какой-то китайский ИИ
12. ixijixi 2177 14.12.22 14:12 Сейчас в теме
(11) Это копипаста из статьи )
13. mkalimulin 1651 14.12.22 14:12 Сейчас в теме
(11) Как это не на срез последних? А на что?
14. kser87 2485 14.12.22 14:25 Сейчас в теме
6. starik-2005 3309 12.12.22 10:05 Сейчас в теме
Да, в последние дни хабр пестрит стенограммами с заседаний программистов и искусственных интеллектов, пишущих код, ну и базара с ИИ вокруг этого дива дивного и чуда чудного. А газеты большевистские пестрят заголовками о том, что вот почти все эти "фаанги" поувольняли кучу разрабов и вторую кучу планируют уволить в самое ближайшее время.
ЗЫ: сдаю ЕГЭ, иду учиться на психологию. Так что обращайтесь, если вас попросят за калитку...
15. Zab 02.03.23 18:11 Сейчас в теме
(6) мне кажется, с психологами ИИ разделается даже раньше, чем с программистами. Картины рисует, стихи пишет. Чем психолог сильно отличается? Эмпатией? Так и у художника чувство прекрасного вроде как должно быть.
7. mkalimulin 1651 12.12.22 10:10 Сейчас в теме
(6) Когда сам пробуешь, непередаваемое чувство. Но все равно голову терять не стоит. Инструмент годный, но всего лишь инструмент
8. starik-2005 3309 12.12.22 10:26 Сейчас в теме
(7)
инструмент
От древнего рубила, которое потом научились делать из прокаленных камушков, что резко повысило их качество, и до современных реакторов на быстрых нейтронах (а теперь вот Китайцы придумали прогонять гелий через гравий с 8,5% урана 235, что еще круче) - это все средства повышения производительности труда. А повышение производительности труда сокращает затраты, уменьшает потребность в производителях этого труда и все такое прочее сопутствующее. В итоге рынок труда начинает перераспределять массы, заставляя многих менять профессию. Я вот честно думал, что меня это не коснется, но при этом полностью доверял тем предположениям, что приличный белый современный китаец должен будет раза три за всю жизнь сменить вид деятельности. И вот это начало медленно и верно возникать даже на моем горизонте. Да, лет на 10 меня хватит, но через 10 лет я уже планирую как минимум дипломированным психологом с опытом стать, чтобы переехать без особых проблем на "другой стек".
9. mkalimulin 1651 12.12.22 10:37 Сейчас в теме
(8) А мне наоборот нравится то, что происходит. Профессия "программист" станет настоящей профессией, а не тем, чем она является сейчас. Любой может вызубрить какую-нибудь фигню, которую было лень зубрить другим, механически ее воспроизводить и считаться профи. Теперь так дело не пойдет. Можешь сделать новое - заходи. Нет - проходи мимо.
10. starik-2005 3309 12.12.22 10:40 Сейчас в теме
(9) Тут когнитивное искажение. Вроде как чем больше сфера изведанного, тем больше поверхность этой сферы, за которой находится неизведанное. И вроде бы вот оно - новое, но, как показывает практика, в начале XX века, когда придумали мозговой штурм для генерации бесчисленного множества идей, уже предпосылкой к этому являлся факт, что на тысячу идей выстреливает всего одна. На начало XXI века пропорция стала 5к:1, сейчас уже 20к:1. Ну, как бы, грабли в руки - я не против. Надоест - приходите на консультацию )))
Для отправки сообщения требуется регистрация/авторизация