С появлением больших языковых моделей, нас, похоже, ждут большие изменения в том, что до сих пор подразумевалось под «интуитивно понятным» и «дружественным пользователю» интерфейсом.
Список и форма долгое время были основой того самого «интуитивно понятного» интерфейса. Но теперь у нас есть чат. Например такой:

... задали вопрос

... получили ответ

... задумались о том, что вопрос не совсем точный

... уточнили, но пока еще не то, что нужно

... теперь нормально

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


То, что я вам здесь продемонстрировал, работает в 1С:Предприятие 8.3, в типовых конфигурациях Управление торговлей, Комплексная автоматизация и ERP. Но в принципе, это будет работать точно также с любой базой данных. Языковой модели, как вы понимаете, все равно.
Вполне возможно, что очень скоро чат станет основным элементом интерфейса в большинстве приложений, оттеснив формы и списки в область решения узкоспециализированных задач.
Единственное, что не дает мне покоя, когда я гляжу на этот чат. Но ведь это же... да, да, она самая, командная строка. Вот оно — развитие по спирали!
Комментарии (34)
Proydemte
00.00.0000 00:00+1Но ведь это же… да, да, она самая, командная строка. Вот оно — развитие по спирали!
Обратно в консоль, всё возвращается на круги своя.
Но надо учесть опыт поисковиков. Сохранение фаворитов, истории предыдущих запросов и автодополнение. Без этого совсем скучно будет.exwill
00.00.0000 00:00Встроить автодополнение в автодополнение... это забавно
Proydemte
00.00.0000 00:00Автодополнение, например из истории запросов или из базы типичных запросов.
Плюс если есть шаблон типичного запроста, там есть места которые должны быть заполнены пользователем, там тоже автодополнение вполне подойдёт.Ещё кстати можно прикрутить распознование речи, там совсем рядом с api для chatgpt есть api для распознования речи, whisper. Будет круто.
И ещё полезная фича из поисковиков — искать в найденом. По идее можно скомбинировать предыдущий промпт и текущий таким образом, чтобы полученный результат был как раз, поиск в найденом.
Ещё можно например позаимствовать у новой версии фичу установления системного контекста.
Типа говоришь все последующие запросы мне интересны только для компании Р&К, за два предыдущих месяца. И больше эти условия не писать явно в последущих запросах.
SQL оригинально это была попытка дать возможность непрограммисту выполнять запросы у базы данных.
Так что это получается вторая итерация, наверное не последняя. Потом будет попытка из контекста предыдущих действий предугадать что может быть вам интересно.
Это кстати интересная функция для "типичных" запросов, типа мы знаем что если кто-то выполнил некий запрос, то сразу выдай ему также ещё парочку связанных. Для "типичных" запросов даже к чату не надо обращаться, можно самому запросы написать.
Ну и надо историю запросов реальных пользователей время от времени смотреть, можно много интересного для себя узнать, зависимости и неочевидные кейсы.
exwill
00.00.0000 00:00GPT-4 уже распознает речь, если не ошибаюсь
Proydemte
00.00.0000 00:00+3Кстати сегодня MS, на базе чатгпт, выпустила copilot для офиса посмотрите, куда оно движется.
Отпад башки.
vkni
00.00.0000 00:00истории предыдущих запросов и автодополнение
Это есть в консоли. Сохранения частоиспользуемых команд нет, возможно было бы удобно, а может и нет. Есть возможность ручного вбития псевдонимов (alias).
aborouhin
00.00.0000 00:00+5IMHO, для постоянных профессиональных пользователей системы это неудобно. Во-первых, они и так знают, как в несколько кликов получить любую нужную информацию. Во-вторых, это не надёжно - нейросеть же не знает структуру Вашей базы и всякие исторически сложившиеся нюансы. В-третьих, на более сложных запросах она точно будет не справляться или делать не то - и угадывать, какой запрос хорошо отработает в чат-режиме, а какой нет - лишний труд, учитывая "во-первых".
Понятно, что нейросеть можно дообучить так, что будет в 99,9% случаев работать корректно - но это отдельная работа (и отдельные расходы).
А вот для эпизодических пользователей (директор зашёл в 1С сам что-то глянуть, не дёргая бухгалтера; внешнему консультанту дали доступ для какой-то разовой аналитики и т.п.) - интересная задумка.
Medeyko
00.00.0000 00:00ИНС не знает структуру и нюансы в том случае, если ей об этой структуре не рассказывать. А вот если рассказать, то она отлично будет ими оперировать. Причём для этого можно использовать ИНС с меньшим количеством параметров и работающих на обычных компьютерах, даже не на видеокартах.
С большой вероятностью, так действительно будет. И наконец-то активное использование голосового ввода станет реальностью...
aborouhin
00.00.0000 00:00+1Угу, только возникают другие интересные задачи. Скажем, мы дообучили нейросеть на определённых вводных данных. Потом эти вводные поменялись - и нам надо её "переобучить". И тут две проблемы - во-первых, как сделать это так, чтобы из-за любой мелочи не начинать всё дообучение сначала. Во-вторых, как формализовать описание "нюансов" и управление изменениями в них, чтобы "переобучение" происходило автоматически. Рискну предположить, тут не просто новые решения для таких задач будут появляться, а новые категории решений.
exwill
00.00.0000 00:00В том то и дело, что большие языковые модели не надо дообучать из-за каждой мелочи. Они большие и знают все. В этом прорыв
aborouhin
00.00.0000 00:00+1Они знают то, на чём их обучили. А то, что в конкретной компании под "основным складом" (если взять Ваш пример) все привыкли понимать не склад с названием "основной" (как у Вас), а, допустим, "склад урюпинский плюс склад гадюкинский, но на последнем всё, кроме металлопроката, который там в дальнем углу" (ну так вот сложилось) - этому их надо дообучить. Как и ещё нескольким сотням/тысячам принятых в компании обыкновений и умолчаний. Которые до этого никто даже не задумывался формализовать, не говоря уже про регламент актуализации, автоматическую генерацию по ним обучающих примеров для нейросети и т.д. и т.п.
rutexd
00.00.0000 00:00+3Это подойдёт лишь для простых сценариев - там где специалист не нужен и хватит простого джуна. Для сложных с хотя бы тройкой других джойнов и какими нибудь group by - оно начнёт не справляться.
И это еще хороший сценарий - в плохом вам могут подсунуть (кота в мешке) какой нибудь drop / alter delete потому что модель посчитает что выгоднее и быстрее будет без столбца)) вспоминаем бородатую шутку про майкрософт, голосовое управление и формат...
Но если для средне - простого уровня использования под контролем оператора - определённо чудеса, будущее наступает.
exwill
00.00.0000 00:00В 1С и так нет никаких delete, insert. Не говоря уж про drop и alter. Строго SELECT. Обеспечивается на уровне платформы. В других системах не так уж сложно этот контроль создать.
rutexd
00.00.0000 00:00+3'не так уж и сложно создать контроль' - именно поэтому у нас год за годом число утечек растёт по экспоненте а количество дыр в софте - кубическими масштабами...
nidalee
00.00.0000 00:00Просто задачи эти утечки предотвратить не стоит. Пока штраф для юрлица составляет треть месячной зарплаты одного специалиста, который все это должен кодить — никто и не почешется.
Вот когда годовыми оборотами догадаются оперировать — еще до принятия закона подорвутся и сделают все нормально.
shaggyone
00.00.0000 00:00Если параноить на тему
insert
/update
/delete
/drop
(должен сказать, совершенно справедливо) можно просто пользователю под которым нейросеть общается с СУБД дать доступ сугубо наselect
.exwill
00.00.0000 00:00В 1С уже сейчас так. И все время так было
shaggyone
00.00.0000 00:001С, вроде, умела данные в PostgreSQL хранить.
exwill
00.00.0000 00:001C может хранить данные в файле, MS SQL Server, PostgreSQL, Oracle, IBM DB2
Но у 1С есть свой ЯП. Обращение к данным идет через него. В частности, в этом ЯП есть объект Запрос. И вот этот самый запрос поддерживает только SELECT
echo10
А в чем, собственно, техническая сторона реализации поиска ответов на человекопонятные вопросы? Как вы встроили или CHAT GPT в 1С или это некий визуальный прототип как могли бы даваться ответы?
exwill
Элементарно. GPT выдает мне тексты запросов на языке SQL, а я их выполняю
ttgg
в по подробнее можно?
Да Вы правы за таким взаимодействием с системами будущее, тыкать мышкой и писать буквы останется удел гиков))
exwill
Смотрите здесь https://brainguard.ru/page18968355.html
Что конкретно вас интересует?
Xom
Как-то надо обозначить в простое, к какой базе надо построить запрос, иначе chatGPT будет фантазировать.
exwill
Да, разумеется, задается контекст, в котором описываются таблицы. Для типовых конфигураций 1С контекст заранее известен. 1С-овская обработка, скриншоты которой я показал, определяет в какой конфигурации ее запустили и сама задает контекст. Но мы здесь не ограничены только 1С. Сервис может работать с любыми базами данных. См. описание API
thunderspb
Добавьте это в статью. Прочитал статью -- не очень понятно. В комментариях больше информации оказалось :)