Представим себе, что у нас небольшое кондитерское производство и мы хотели бы вести учет на складе сырья. Учетных позиций у нас будет не очень много, скажем, в пределах 100.
Мы не будем здесь рассматривать десятки позиций. Рассмотрим следующие пять
Мука пшеничная
Сахар песок
Масло растительное
Яйцо куриное
Апельсины
От пяти позиций до пятидесяти или даже до 500 это масштабируется без проблем, к тому же в реальном кондитерском производстве действительно не так уж много позиций для учета.
Сделаем Телеграм‑бота, к нему вебхук, к вебхуку скрипт на Python. Это все стандартная история, много раз описанная другими. Не будем на этом останавливаться.
Итак, у нас есть обработчик сообщений, поступающих из Телеграм. Будем отправлять их на обработку большими языковыми моделями (LLM), в просторечье именуемыми искусственным интеллектом (куда уж сегодня без него). State‑of‑art модели сейчас позволяют организовать вызов функций на основе запроса, сформулированного на обычном человеческом языке. т. е. пользователь говорит что‑то типа: апельсины пришло 100, или апельсины поступило 100 или апельсины приход 100 или пришло 100 апельсинов и т. д. Большая языковая модель в любом случае понимает, что речь идет о поступлении на склад и предлагает вызвать функцию поступления.
В нашем случае будет достаточно всего трех функций: поступление, списание и остаток. При каждом вызове большой языковой модели, будем передавать описание этих трех функций. В скрипте создадим реализацию этих трех функций очевидным образом. Приход будет писать в таблицу приходов, расход в таблицу расходов, а остаток получать остаток из этих двух таблиц. Результат работы такого сервиса выглядит так:
Если вы еще не знакомы с большими языковыми моделями, то у вас может к этому моменту сложиться впечатление, что все это легко ломается, стоит только вместо «мука пшеничная» сказать «пшеничная мука» или просто «мука», как это и происходит в реальной жизни. Но в том‑то и фишка больших языковых моделей. Они понимают язык и от разных формулировок одного и того же они не ломаются. Поэтому общение с большой языковой моделью может выглядеть так:
.. или так:
.. или так:
Что особенно приятно, это то, что сообщения можно не только писать, но и проговаривать. В этом случае потребуется задействовать еще одну модель типа speech‑to‑text (OpenAI обещают упростить нам жизнь в этом вопросе, но пока только обещают). Потребуется некоторая доработка скрипта, но оно того стоит. Все‑таки на диктовку уходит гораздо меньше усилий, чем на письмо. Я сам начал это отчетливо понимать после многих часов тестирования как письма, так и голосового ввода.
Итак. Мы имеем складской учет, который не требует от нас ни установки ПО, ни обучения. Смартфон с Телеграм всегда под рукой у каждого. Взаимодействие происходит максимально комфортным для пользователя способом, на человеческом языке.
Гуд бай, 1С?
Комментарии (134)
qvan
01.09.2024 09:12+1Апельсины ушло 120, ой 130. Отмени последний ввод. Замок или замок? Кто ответственный за операцию? Итд итп.
exwill Автор
01.09.2024 09:12Думаете, будут проблемы с отменой последнего ввода? Какие?
anonymous
01.09.2024 09:12НЛО прилетело и опубликовало эту надпись здесь
exwill Автор
01.09.2024 09:12Давайте начнем со складского учета
scarab
01.09.2024 09:12+4Техкарты - это базис складского учёта. Или у Вас кондитер будет на каждую булочку будет вручную списывать 30г муки, 5г изюма, 1 яйцо?
А ещё для складского учёта нужно учитывать не только поступления, а поставки в целом. Приехала машина, привезла 50 позиций общим весом полтонны. "Кладовщик" будет это всё руками или голосом в бота заносить?
(открою секрет - сейчас УПД чаще всего ведётся в электронном виде и загружаться в систему будет одной кнопкой).
А с поставками тоже бывает веселье: сегодня купили 100кг муки "Селяночка" по 100 рублей у поставщика А, завтра у поставщика А муки не оказалось и пришлось покупать "Белонежную" у поставщика Б, но уже по 120 рублей: в итоге на складе 200 кг муки - но разной. Какую и в каком порядке Вы будете списывать?
И так далее и так далее.
exwill Автор
01.09.2024 09:12А мне вот лично встречалось именно кондитерское производство, у которого была совершенно конкретная "боль". Количественный учет на складе сырья. А то, о чем вы говорите, у них "не болело"
softaria
01.09.2024 09:12+1Тогда это - просто маленький велосипед, для очень узкой ЦА.
Для 1с - вообще не конкурент
killyself
01.09.2024 09:12Насколько я помню у 1с есть микро типовые решения как раз для таких клиентов, там конечно нет ИИ ввода, но зато там есть другие полезные вещи, а стоят эти решения как раз столько же сколько работа программиста по написанию бота из статьи
exwill Автор
01.09.2024 09:12+1Зачем нанимать программиста для написания бота? Бот уже написан
killyself
01.09.2024 09:12Нет, хорошо конечно, что бесплатно кто-то уже поработал. Но первая же фича будет стоить уже дороже чем типовое решение. Или опять бесплатный труд?
exwill Автор
01.09.2024 09:12В настоящий момент идея заключается в том, что все фичи будет делать тот же ИИ. По цене 1 рубль за фичу
killyself
01.09.2024 09:12Нет, ну если робот сможет сам дописывать функции для самого себя, менять структуру хранимых данных, всё это делать корректно, и чтобы пользователь понимал что сделано и что оно сделано корректно - и всё это за 1р фича, тогда да, программиста можно выкидывать, ИИ победил
ihouser
01.09.2024 09:12+2на каждую булочку будет вручную списывать 30г муки, 5г изюма, 1 яйцо?
Это проблема технолога или пекаря. А если ушло 35г когда должно 30г - проблема предпринимателя. И замес, вообще то идет сразу на партию.
Приехала машина, привезла 50 позиций общим весом полтонны.
Да, разложить по полочкам - обязанность кладовщика.
Какую и в каком порядке Вы будете списывать?
FIFO. Бухгалтера в этом муху съело. Для маленькой пекарни не очень важны всякие заморочки. Булочки продаются по рыночной цене, а не по закупочной составляющих. Главное следить за прибылью.
saege5b
01.09.2024 09:12+2Ещё надо учитывать что несущая способность полочек разная и ограниченная :(
А в более тяжёлых случаях - ограничена несущая способность пола.
Ээх.
mixsture
01.09.2024 09:121) Сложность. Вы показываете 2 элементарных операции на одном виде учета и на одном показателе (только количественный учет). Эта сложность пишется новичками, пришедшими на недельные курсы по 1с. Реальные рабочие конфигурации у 1с, думаю, раз в 1000 сложнее. Как вы собираетесь перейти от одного к другому?
2) Скорость работы. Скорость операций у LLM крайне низкая (по сравнению с оптимизированными для этого структурами хранения в 1с и кодом). Учет часто из себя представляет причинно-следственные связи между операциями по времени (каждая следующая использует предыдущие как исходные данные), поэтому при исправлениях важно актуализировать и все операции, начиная с исправленной до текущего момента. В терминах 1с это перепроведение. Возьмем для примера 1 тысячу операций и необходимость их перепровести. На сколько порядков ваша модель будет медленнее относительного того же на 1с?
exwill Автор
01.09.2024 09:121) Типовые конфигурации, да, в 1000 (а может и более) раз сложнее. Только эта сложность в 99% случаев излишня. То, что я вам здесь демонстрирую это реально рабочий сервис. Кому-то потребуется что-то посложнее? Ну напишите еще пару функции, в дополнение к этим трем. А если вы напишите еще 100 функций, то вы обеспечите пользователям практически все, что им нужно. Причем ваша разработка будет все еще неизмеримо проще, чем самая простая типовая конфигурация
2) Так "шустрит" не LLM. "Шустрят" ваши функции. LLM всего лишь "соображает" чего хочет пользователь и выдает сигнатуру функции. Потом эта функция выполняется на сервере. В моем примере это Python + MySQL. Это работает быстрее любой 1С
mixsture
01.09.2024 09:12+1Так вы просто хотите замену экранных форм на текстовый ввод со свободным языком? Тогда это не отменяет 1с (и в целом может совмещаться с движком 1с).
Но в общем случае будет неудобно. Сейчас вы этого не замечаете, опять же, из-за крайне заниженной сложности. У вас по сути в тексте операции лишь 3 реквизита (вид движения, товар, количество). Сделайте аналог формы, где есть поля шапки, есть пару табличных частей, где в каждой строке табличной части несколько полей с текстовыми данными. Я бы посмотрел, как LLM разберется, где какие данные без дополнительной разметки.
Будете делать 1 текст на 1 документ? Тогда потеряете интерактивность ввода - и вы никак не поможете пользователю с заполнением коррелирующих полей (одно поле ограничивает список значений другого, например). Будете делать 1 текст на каждую строку/поле? Тогда ваш документ растянется по вертикали на много-много экранов, потеряется компактность данных, что добавит ошибок у операторов ввода.exwill Автор
01.09.2024 09:12Зачем все это? Пользователь говорит, что ему надо и получает что ему надо. Без всяких табличных частей, коррелированных полей и прочих "чудес". Это все остается в прошлом
mixsture
01.09.2024 09:12Для удобства работы пользователя, которое влияет на число ошибок. Вот чуть ниже в треде вы сами же пришли к необходимости "задавать уточняющий вопрос" - это тоже относится к интерактивному вводу.
Собственно, список проблем - он не о языковых моделях конкретно, он вообще о текстовом вводе. Ровно те же проблемы у меня были при попытке сделать интерфейс к документам 1с в телеграм боте: очень низкая компактность отображения и очень ограниченная интерактивность. Поэтому простые документы (у меня были финансовые доки) - да, возможно. А вот сложные: вроде поступления, реализации, производственных - очень неудобно.exwill Автор
01.09.2024 09:12А теперь представьте, что человек вообще не напрягает глаза, только говорит
mixsture
01.09.2024 09:12Так у вас тоже человек напрягает глаза: читает обратную связь - "что поняла модель" на каждой операции ввода, причем в ее собственном представлении о структуре информации.
Если вы предлагаете совсем без обратной связи - только говорить в черный ящик - то систему сразу можно выкидывать, т.к. никто не знает, что она неправильно разберет.
tuxi
01.09.2024 09:12+2крахмал картофельный приход 100
крахмал кукурузный приход 75
сколько крахмала сейчас?
какой ответ будет?
второй пример
крахмал картофельный приход 100
крахмал кукурузный приход 75
крахмал расход 70
-
сколько крахмала сейчас?
какой ответ будет?
exwill Автор
01.09.2024 09:12+1Попробуйте сами
https://t.me/awpdemo_bot
webhamster
01.09.2024 09:12Я попробовал, и получилась чушь:
крахмал картофельный приход 100Поступило крахмал картофельный 100
крахмал кукурузный приход 75
Поступило крахмал кукурузный 75
крахмал расход 70
Списано крахмал 70
сколько крахмала сейчас?
Остаток крахмал -70
exwill Автор
01.09.2024 09:12+1LLM посчитала, что у вас три позиции: крахмал картофельный, крахмал кукурузный и просто крахмал. В этом ведь есть логика, не так ли? Не вижу в этом большой проблемы.
Впрочем, быть может вы и правы. Было бы неплохо в таких ситуациях задавать конкретизирующий вопрос
nee77
Осталось совсем чуть-чуть: прикрутить расчет налогов по разным СНО, расчет ЗП, интеграцию с банк-клиентами, формирование документов по различным формам ... и обучить тысячу бухгалтеров
exwill Автор
Обучить бухгалтеров чему? Русскому языку?
anonymous
НЛО прилетело и опубликовало эту надпись здесь
nee77
А Вы когда-нибудь пробовали у бухгалтеров какие-нибудь нововведения внедрить? Это люди со специфическим мышлением (большинство из них). Они как трамваи, хорошо едут там, где проложен путь.
ihouser
Бухгалтер это тупой бот работающий на налоговую за счет предпринимателя.
Когда это осознаешь, нервных срывов резко уменьшается.
mlnw
В шею гнать таких бухгалтеров.
ihouser
И кто тогда будет работать? У них функция такая, их так учат, такой работы от них требуют, как нибудь иначе они не могут.
mlnw
Вы просто, видимо, работали с аутсорсерами-недоучками, а не с настоящими бухгалтерами, задача которых - пройти меж струйками по серой зоне законодательства, выкружив максимум экономии на налогах при минимуме рисков для организации.
Grant1979
это обычно или экономисты, или бухгалтер-аудитор. Пытался взять бухгалтера на ввод первички (копипаст).
"Сколько лет вы работали бухгалтером?"
"20 лет сидела на 51 счёте"
"Можете работать с первичными документами?"
"Если научите, то за 60 000 р. в месяц я смогу, наверное это делать, а отчёты сдавать - не могу, это ответственность, мне она не нужна"
В итоге бот в объёме 300 строк, висящий на VPS за 200 р. в месяц делает то, что делал бы бухгалтер + ещё по пути "сидит на 51 счёте".
А толпы вот таких бухгалтеров, раздувающих щёки, с "опытом в 20 лет" продолжают сидеть и искать работу. Учиться они не хотят.
Neykuratick
А что за бот?
Crash13
Обычно, такие профи сидят в оутсорсинговых компаниях, которые берут на обслуживание всю бухгалтерию + предоставляют юридические услуги + кадровый учёт (бумаги, а не работу с людьми).
Специализация, одним словом, и комплексное обслуживание.
Столкнулся. Был удивлен такой проработанности схем.
Сейчас, как, не знаю, но уверен, что стало ещё серьёзней.
scarab
Это Вы не понимаете суть работы бухгалтерии, от слова совсем.
Если формулировать эту работу IT-шными терминами, то бухгалтерия - это документарная модель всего предприятия. Каждый объект, каждая хозяйственная операция имеет своё отражение в соответствующих документах.
Зачем такая модель нужна? В основном для трёх целей:
Налоговый учёт: по документам рассчитывается, какие налоги должно оплатить предприятие. Оптимизация налогов, если бухгалтер такое умеет - это полезно, но это бонус. А вот рассчитать всё правильно и по закону, чтоб потом не прилетело нежданчиков - это основная задача бухгалтера.
Управленческий учёт: по доеументарной модели можно построить любые отчёты для директора или собственника. Тут работа бухгалтерии пересекается с работой финансового управления (это разные подразделения), но смысл у них общий: управляющий должен понимать - сколько у него сейчас чего есть, сколько он должен, сколько должны ему и когда, видеть все финансовые потоки.
Бухгалтерский учёт: бывает нужен по закону для некоторых компаний, а также может потребоваться для аудиторов или, скажем, банка для выдачи кредита.
Вот у хорошего бухгалтера всё перечисленное всегда схвачено, любой факт подтверждён документами, которые можно показать. Так что нет, не на налоговую он работает - это всё очень даже в интересах предпринимателя, просто не все предприниматели это понимают.
ihouser
Да, это так. В идеальном мире, идеальном предприятии. Но так уж получилось, что правила устанавливает государство. 1 и 3 пункты как раз про это.
И только 2-ой пункт, "управленческий учёт", полезен бизнесу. В мелком бизнесе делается одним и тем же бухгалтером. Но более опытные предприниматели вам расскажет, что ничего не понимает о бизнесе, что печется только о бумажках, т.к. за формальные ошибки им может прилететь от налоговой (из за этого они всегда нервные).
В нормальном бизнесе, управленческий учёт доверяют финансистам. Потому что 1, 3 пункты идут в разрез с 2, одно другому мешает.
Я не раз видел перепалки бухгалтера с босом из за разного понимания что нужно бизнесу. Весь коллектив боится заходить в бухгалтерию, особенно если надо туда занести какую то бумажку.
Бизнесу такое вредит. Это можно купировать, но не исправить, так как функции бухгалтера навязаны государством.
scarab
Ну это можно и на IT экстраполировать же.
Видел я такую бухгалтерию, видел и айтишников, которые со всеми разговаривали через губу и делали вид, что они самые умные и всё предприятие существует исключительно для них. И да, к таким айтишникам тоже не хотели подходить. И перепалки тоже видел, когда айтишники требовали купить новые сервера, а боссы не понимали, зачем эти траты.
Такое поведение не делает чести ни боссам, ни айтишникам, ни бухгалтерам. В первую очередь - потому что чаще всего свидетельствует о непрофессионализме (да, непрофессиональные предприниматели тоже бывают и многие из тех боссов, что раздували щёки и спорили с бухгалтерией, в итоге закрыли свои бизнесы в глубоком минусе). И требовать, чтобы бухгалтер подогнал отчётность под цифры, которые хочет предприниматель - это такой же бред, как требовать от айтишника, чтобы он взломал сайт конкурентов. Естественно, ни один уважающий себя айтишник или бухгалтер с таким боссом работать не будет - не в этом ли секрет "бухгалтерии, в которую все боялись зайти"?
Нормальный IT-специалист, как и нормальный бухгалтер, в первую очередь защищает интересы компании и предпринимателя (иногда - от него самого, если тот делает откровенный бред). Как врач не станет выписывать пациенту лекарства на основании того, что "я лучше знаю, что мне пить", так и хороший бухгалтер или IT-специалист в первую очередь заинтересованы профессионально выполнять свою работу, и для компании это обычно полезно (но часто собственник этого не видит). И если собственник не прислушивается к мнению своих специалистов - чаще всего кончается это не очень хорошо: в сервере накрываются диски, а бэкапов нет, потому что собственник не выделил денег; а налоговая доначисляет нцать миллионов и тащит предпринимателя на допрос и в суд, где тот имеет бледный вид.
ihouser
Да, бухгалтера тоже люди. Они желают компании процветания. Они нервные не из за характера, как у условного заносчивого программиста, а из за требований закона. Особенно в конце отчетного периода, дедлайна, которого не возможно сместить, как это получается у программистов. Совместит нужды бизнеса и требования налоговой, это очень нервный квест.
fafafafafsg2
Любой управленческий учёт базируется на бухгалтерском факте. Вы конечно можете например вести какое-то сальдо по счету без аналитической разбивки, но в конечном итоге у вас даже с управленческой разметкой данных итог должен замэпится на сальдо.
Бухгалтерия появилась не от государства, и нужна она не только ему, а в стейкхолдерам.
Как раз обычно бухгалтерский и налоговый учёт выделают в отдельные блоки
mlnw
Я верю в автора, завтра он прикрутит команды "Сдай отчетность", "Оптимизируй НДС", "Пройди выездную налоговую проверку" и пр. и бухгалтеры станут не нужны.
exwill Автор
Спасибо за доверие! )))
SOM4
"Я конечно дико извиняюсь" (C), а "сидеть кто будет" (C)?
Пока человеческое общество не выработало подходов к наказанию комп. систем (читай "ИИ")...
exwill Автор
А причем здесь "сидеть"? Вот, скажем, ведет человек складской учет с помощью ручки и бумажки. Никто ведь не ставит вопрос: можно ли посадить ручку и бумажку. Или ведет учет с помощью Excel. И опять никто не ставит вопрос: можно ли посадить Excel. А как появляется AI, так сразу вопрос: можно ли его посадить. Вот откуда это?
mlnw
Предположу, что имеется в виду, что чем менее детерминированны алгоритмы обработки информации, тем меньше людей писанётся на должность, которая отвечает за отчетность перед государством (обычно это гендир и главбух). Если ведем отчетность в условном экселе, то бухгалтер при желании может разобраться, откуда какая цифра взялась. А если у нас итоговые цифры выдаёт какая-то шайтан-машина с "ахалай-махалай" под капотом, и поди пойми как оно там работает, то сразу выясняется, что отвечать за её результат собственной шкурой дураков нет.
exwill Автор
Наоборот.
LLM используется только для того, чтобы понять человека. А дальше работает все та же "машина", что и раньше. С одним существенным отличием. Теперь у нас есть человекопониматель, и поэтому "машина" может быть относительно простой и прозрачной.
Кто сейчас ведет учет в Excel? Все (ну почти) ведут в 1С. Вы думаете, в 1С бухгалтер может понять откуда взялась та или иная цифра?! Там специалист-сеньор в большинстве случаев разведет руками. Что вы от меня хотите? Реверс-инжиниринг? Миллион есть? Нет, до свидания!
А вот мой подход как раз дает возможность бухгалтеру разобраться, откуда взялась та или иная цифра, просто задавая вопросы на человеческом языке
mlnw
Бухгалтеру чтобы понять откуда взялась какая цифра, нужна оборотно-сальдовая ведомость, карточка счета и пр., а не ответы на вопросы на человеческом языке.
exwill Автор
То, что вы называете, уже лет 10 как не отвечают на вопрос откуда взялась цифра в типовой конфигурации.
mlnw
Поясните свою мысль. Не припомню, чтобы в этой части в 1С что-то кардинально менялось за последние 20 лет (со времен 7.7). Хоть Бухгалтерия, хоть КА, хоть УПП, хоть ERP, принцип одинаков, журнал проводок одинаков, что в них у вас поменялось 10 лет назад даже предположить не могу.
exwill Автор
Почему в 6-НДФЛ цифра такая, а не такая. Откуда взялось вот это в отчете по прибыли. Почему авансы идут на 62.02, а оплаты на 62.31. И т.д, и т.д., и т.д.