Кто прикручивает "ручки" нейросетям и почему "примазывается" этот Вася?

Несмотря на нападки и тон, вопросы поднимаются верные.
Несмотря на нападки и тон, вопросы поднимаются верные.

В эфире рубрика "Скандалы, интриги, расследования"!
И сегодня я подробно отвечу на вопросы, заданные в комментарии на просторах vc. Надеюсь, что текст будет полезен для общего понимания технологии ИИ и того, как на её основе разрабатываются продукты.

1. Вопрос доверия.

Эта часть поста посвящена людям, которые стремятся к взаимовыгодному сотрудничеству, доверию и развитию, тем же кто склонен к паранойе могу сказать только одно - я тоже таким был, всё когда-то меняется.

Это может быть не очевидно с первого взгляда, но в сфере программных продуктов взаимодействие с любыми участниками (будь то крупные компании или разработчики ботов и расширений для браузеров) всегда строится на доверии.
Проверка редко возможна и требует высоких компетенций.

Таким образом, я готов предложить максимум из того, что в моих силах:

∘ следовать обозначенной Политике конфиденциальности;
∘ делать всё для безопасного использования ваших данных, например: я применяю официальные библиотеки от Google и передаю данные по шифрованному протоколу https;
∘ предлагать доступный и работающий продукт.

Помимо этого, в отличие от других решений, Жук не требует доступа к вашему Google-аккаунту, только к конкретной таблице. В любой момент этот доступ можно отключить, а данные таблиц удалить из бота.

2. Табличный жук и Gemini, что именно разработано мной?

На этот вопрос ответить непросто, по той причине, что он требует от читателя наличия определенных знаний.

Что такое ИИ-агент?

Это такая программа, которая способна к самостоятельному планированию и выполнению действий. Её отличает наличие инструментов для выполнения действий, некоторая автономность, а также специальные инструкции о том, как она должна работать и выполнять свои задачи.

Что такое Gemini?

Это большая языковая модель (LLM), которая способна понимать язык, генерировать осмысленный текст, делать определенные выводы из имеющейся информации. "Чат с Gemini", которым, возможно, вы пользовались, - это не сама LLM Gemini, а система на её основе (об этом ниже).

Чем LLM отличается от ИИ-агента?

Тем, что LLM не способна действовать, у неё отсутствуют для этого возможности (инструменты). Она может сгенерировать текст про то, что она что-то делает, но это не будет действиями. Также сама по себе LLM не хранит никакой истории вашего общения, она получает текст на вход и выдает текст на выходе, об истории сообщений должен позаботиться кто-то "снаружи".

Что такое чат с Gemini (в браузере и приложении)?

Когда вы заходите в чат с ИИ (будь то Gemini или ChatGpt), вы имеете дело уже не с чистой LLM, а можно сказать с ИИ-агентом, т.к. кто-то уже позаботился о том, чтобы LLM могла использовать такие инструменты, как поиск в интернете, могла выгрузить данные в виде файла и многое другое, в том числе "помнила", что вы ей написали и что она ответила.

Что такое инструменты?

Это, во-первых, специальные инструкции для LLM о том, что она может делать и какую команду она должна для этого вызвать, а во-вторых, и обязательно, это реальный код, который эту команду исполняет.
Приведу пример.
Например, у LLM есть инструкция о том, что она может узнать температуру воздуха в указанном городе. Пользователь пишет: «Сколько сейчас градусов в Москве».
LLM:
- не идёт в интернет!
- не знает температуру!
- она лишь решает: «нужно вызвать инструмент "узнатьТемпературу" с аргументом "Москва"»

Дальше:
- обрабатывающий сервер принимает эту команду
- обращается в сервис погоды
- получает, например, 0 °C
- и передаёт результат обратно модели

И только после этого LLM генерирует текст: "Любимый пользователь, в Москве сейчас 0 градусов по Цельсию! Хотите узнать что-нибудь еще?".

Что в ИИ-агенте Табличный Жук разработано мной?

Коротко: почти всё, кроме самой LLM.

Все инструменты и функции:
∘ для работы в таблицах
∘ для сохранения и загрузки листов
∘ для работы в Telegram
∘ функции приема и выгрузки файлов
∘ функции управления историей сообщений
∘ и другие функции - написаны мной и выполняются на отдельном сервере, арендованном под Жука.

Как я уже говорил, LLM не обладает памятью в привычном смысле.
Поэтому история диалога — это забота разработчика: сообщения пользователя, данные таблиц, предыдущие ответы модели, вызовы инструментов и результаты их выполнения собираются и передаются модели каждый раз заново.
Иными словами, «память» Табличного Жука — это не свойство Gemini, а часть системы, которую я реализую вокруг неё.

Помимо технической сферы, есть еще то что называется системными инструкциями. То, что превращает LLM с инструментами в ИИ-агента, ориентирующегося в какой-либо области. Это инструкции на естественном языке (я пишу их на русском), которые в общем виде объясняют самой LLM:
- как и что она должна делать;
- как поступать в определенных ситуациях;
- для чего она предназначена и какие есть ограничения;
- как вести себя при ошибках...
В отличие от промпта под одну задачу, системные инструкции - это универсальный промпт под все задачи и всех пользователей, правильное составление которого требует определенного опыта, а также времени на неизбежное исправление и улучшение.

3. За забором множество решений, которые работают в Google Таблицах, зачем мне этот Жук?

Отвечу на этот вопрос кратко и, возможно, освещу тему позже, тем более что даже проводил тесты некоторых решений.

Кратко - это не так, таких решений, на момент написания поста, немного. Часть из них - не специализированны на таблицах, часть - низкого качества, к другой части есть вопросы (избыток текстовой информации о любом действии, избыточное потребление ресурсов, скорость работы), однако, в целом, есть работоспособные варианты.

Отдельно стоит боковая панель Gemini, которая по сути является ИИ-агентом для работы в Google Sheets от Google.
UPD: сравнение Жука и боковой панели

Жук не имеет к ней отношения и работает с таблицами через стандартные библиотеки Google. При этом, умеет всё то, что умеет боковая панель и даже больше (прямая работа с диаграммами, управление доступом, отложенные задачи и напоминания, и др.).
Подробнее на канале Жука: Табличный Жук