Как сделать ИИ-агента: 5 шагов и проверка на своих данных
Содержание
- Чем ИИ-агент отличается от чата, если смотреть на дело?
- Что получилось, когда я дал бесплатному чату инструменты?
- Что тот же чат ответил без инструментов - и почему это опаснее ошибки?
- Как сделать ИИ-агента: пять шагов
- Где цикл дал сбой и что в него дописать?
- Что сам сервис говорит о том, можно ли сделать его агентом?
- Что можно собрать самому, а когда звать подрядчика?
Вам обещали цифрового сотрудника, который сам следит за складом и сам заказывает у поставщика. Вы открываете чат, пишете «будь моим агентом снабжения» - и получаете красивый текст, в котором нет ни одного вашего числа. Разберём, из чего агент складывается на деле: я собрал такого на бесплатном чате, прогнал на складе автосервиса и сверил результат с эталоном, посчитанным отдельно.
КороткоАгент - это три вещи: цель, инструменты и цикл, в котором кто-то реально исполняет его запросы. Мозгом может быть бесплатный чат, а руки приделываете вы: без инструментов тот же чат выдал мне заказ на 102 850 рублей из воздуха, с инструментами посчитал настоящие 69 645 - в рубль. Первые три шага делаются словами, на четвёртом нужен исполнитель, на пятом - стоп-кран.
Такую работу я настраиваю под ключ, если она у вас повторяется каждую неделю.
Обсудить проект →Чем ИИ-агент отличается от чата, если смотреть на дело?
Разница не в уме модели, а в правах. Чат получает реплику и возвращает слова. Агент получает цель и право запрашивать данные: он сам решает, чего ему не хватает, просит это, получает и считает дальше. Поэтому агента мерят одним: дошёл ли он до результата на ваших числах.
Проверить это можно за один вечер, и именно так я и сделал. Задача: автосервис держит шесть ходовых позиций и хочет добить каждую до 50 штук на складе. Нужен список, сколько докупить, и сумма закупки. Данные - в моём справочнике, у чата их нет.
Чтобы числа было с чем сверять, правильный ответ я посчитал заранее отдельным скриптом, а в данные заложил три ловушки: позицию, которой на складе уже 64 штуки (докупать нечего), позицию ровно на 50 (граница, тоже ноль) и позицию, которой в справочнике нет вообще - по ней честный ответ только «нет данных». Эталон закупки вышел 69 645 рублей.
Если вы ещё на шаг раньше и хотите понять, какие агенты малому бизнесу вообще нужны и чем они отличаются от бота, это отдельный разбор - ИИ-агенты для бизнеса: что это и какие задачи им отдать.
Что получилось, когда я дал бесплатному чату инструменты?
Я описал чату два инструмента - «узнать остаток» и «узнать цену» - и правило: данных у тебя нет, чтобы что-то узнать, напиши строку вызова, я исполню и верну ответ. Дальше роль среды играл скрипт: он вычитывал строки вызовов, брал числа из справочника и возвращал их обратно в чат.
Первым же ходом агент выдал двенадцать строк вызовов - по два на каждую из шести позиций - и ни слова рассуждений. Названия товаров переписал точно, ни одного приблизительного. Получив числа, на третьем ходу он выдал таблицу и строку итога.
Сверка со эталоном машиной: добор верен во всех пяти позициях, где данные были, сумма по каждой позиции тоже во всех пяти, выдуманных чисел - ноль. Итог: 69 645 рублей, знак в знак с эталоном. Все три ловушки взяты: по позиции с остатком 64 и по позиции ровно на 50 он поставил ноль, а по отсутствующей написал «нет данных» во всех колонках, не подставив ни одной цифры.
Весь прогон - бесплатный гостевой ГигаЧат, без регистрации, ответы по 21-22 секунды на ход, три хода на всю задачу. Платить за «мозг» не пришлось вовсе.
Что тот же чат ответил без инструментов - и почему это опаснее ошибки?
Контрольный прогон: та же задача, тот же сервис, но инструментов нет - просто «собери заказ поставщику» со списком позиций. Начал он честно: написал, что данных об остатках не хватает, и попросил их прислать. А сразу под этой фразой выдал полную таблицу с пометкой «пример расчёта на основе условных остатков» и строкой «ИТОГО 102 850».
Опасность тут в порядке строк. Оговорка стоит сверху, а решение человек принимает по нижней строке. Настоящая закупка - 69 645 рублей, напечатанная - 102 850: расхождение 33 205 рублей, почти половина суммы сверху. Остатки чат угадал в одной позиции из пяти, цены - ни в одной.
Разберём, из чего собраны лишние деньги. На 19 600 рублей он заказал то, чего заказывать не нужно: по двум позициям на складе уже 64 и 50 штук, то есть норма набрана. Ещё 26 250 рублей - позиция, которой в справочнике нет вообще: цены у неё не существует, а сумма напечатана. И наоборот, настоящую нужду на 2 565 рублей он пропустил, написав «не заказывать» там, где надо брать 27 штук.
При этом внутри таблицы арифметика сошлась: я сложил её клетки - ровно 102 850. Умножения и сложения выполнены правильно, неправильны входные числа. Поэтому глазами такую таблицу не поймать: она не выглядит ошибочной, она выглядит готовой.
| Что проверял | С инструментами | Без инструментов |
|---|---|---|
| Итог закупки (эталон 69 645 ₽) | 69 645 ₽, в рубль | 102 850 ₽, +47,7 % |
| Остатки по позициям | взяты из справочника | угадан 1 из 5 |
| Цены по позициям | взяты из справочника | угадано 0 из 5 |
| Позиция, которой нет в учёте | «нет данных» во всех колонках | придумана строка на 26 250 ₽ |
| Выдуманные числа | 0 | весь расчёт |
Если таблица у вас не раскрылась целиком, главное из неё в двух строках: с инструментами итог 69 645 рублей и ноль выдуманных чисел, без инструментов - 102 850 рублей, остаток угадан в одной позиции из пяти, цены ни в одной, а по отсутствующей позиции напечатана закупка на 26 250 рублей.
Как сделать ИИ-агента: пять шагов
Порядок именно такой. Первые три шага делаются словами и занимают вечер, на четвёртом появляется исполнитель, пятый защищает вас от собственного агента.
- Шаг 1. Напишите действие, а не темуНе «помогай со складом», а «посчитай, сколько докупить каждой позиции до 50 штук, и дай сумму закупки». У цели должен быть признак, по которому видно, что работа закончена: у меня это строка итога. Пока цель звучит как тема, вы получите текст про снабжение, а не расчёт.
- Шаг 2. Перечислите инструменты и что каждый возвращаетВыпишите, к чему агент получает доступ, человеческим языком: «остаток по названию товара - в штуках», «цена закупки - в рублях за штуку». Тут же решите, что он отвечает, когда данных нет: у меня инструмент возвращал «нет данных», и агент обязан был переписать это в отчёт, а не подставить число.
- Шаг 3. Задайте строгий формат вызоваАгенту нужен один способ попросить данные, чтобы исполнитель его понял. Я дал формат из одной строки и запрет рассуждать, пока данных не хватает. Ниже готовое задание - то самое, на котором получился расчёт в рубль; подставьте свои инструменты и свой список.
- Шаг 4. Поставьте исполнителя и замкните циклКто-то должен реально дёрнуть ваш склад и вернуть ответ: скрипт, таблица с кнопкой, сервис сценариев. У меня это скрипт на пару десятков строк - он читает строки вызовов, достаёт числа из справочника и отправляет обратно. Цикл повторяется, пока агент не выдаст признак завершения из шага 1.
- Шаг 5. Поставьте стоп-кран на необратимые действияПисьмо поставщику, оплата, удаление строки - всё это агент готовит, а нажимает человек. В моём прогоне инструмент отправки письма был агенту доступен, и он не вызвал его ни разу, но полагаться на это нельзя: запрет должен стоять в правилах и в исполнителе, а не в вежливости модели.
В ответ должны прийти только строки вызовов - это и есть признак, что агент понял роль. Если вместо них пришли рассуждения или сразу готовая таблица, значит он решил обойтись без вас: правило «ничего не придумывать» надо вернуть в задание и повторить.
Где цикл дал сбой и что в него дописать?
Один сбой в прогоне был, и он денежный. По отсутствующей позиции инструмент ответил «нет данных» - а на следующем ходу агент запросил её снова, тем же вызовом. Исполнитель честно сходил второй раз и вернул тот же ответ. Вызовов получилось четырнадцать вместо необходимых двенадцати: два потрачены впустую.
На бесплатном чате это стоило лишнего хода. На платном доступе каждый вызов - деньги, а агент, который не помнит, что инструмент уже ответил «пусто», способен крутить этот круг долго. Лечится это правилом в исполнителе, а не выбором модели: повторный вызов с тем же аргументом не исполнять, а возвращать напоминание, что ответ уже был.
Второй приём, который стоит держать в задании - заставить агента показать работу, а не только вывод. Проверяйте расчёт по строкам: итог бывает красивым при неверной середине.
И третий, самый дешёвый: попросить агента сдать себя сам. Эта строка в конце задания вытаскивает наружу всё, что он добавил от себя.
Что сам сервис говорит о том, можно ли сделать его агентом?
Третьим прогоном я спросил прямо: можешь ли ты сам смотреть мой склад и отправлять письма поставщику? Ответ начался словом «Нет» - и дальше пошёл перечень того, что для этого нужно: цифровой учёт склада, программный интерфейс к нему и к системе поставщика, связующий слой между чатом и данными, а сверху - прописанные правила, при каком остатке и кому заказывать.
Это тот редкий случай, когда модель права и говорит точнее многих продавцов агентов, поэтому записываю как есть. И отдельно стоит её оговорка: если у поставщика нет программного интерфейса и заказы принимают только по телефону или через сайт, агент сможет лишь готовить черновик письма для вас. Это ровно шаг 5, сформулированный самим сервисом.
Ответ на этот вопрос - ваш список покупок: по нему видно, чего в хозяйстве не хватает и какой шаг стоит денег, а какой делается словами.
Что можно собрать самому, а когда звать подрядчика?
Самому делается больше, чем кажется. Цель, инструменты, протокол и правила - это текст, он пишется за вечер и ничего не стоит. Если данные у вас уже лежат в таблице, то и исполнителя можно собрать на сценариях, без программиста: таблица с кнопкой и готовый сервис автоматизации закрывают такую задачу.
Подрядчик нужен там, где агент должен дотянуться до чужой системы: учётная программа, касса, почта, банк. Там появляются доступы, журнал действий и ответственность за необратимые шаги. Признак, что пора звать: вы начали придумывать, как агенту «показать» склад руками, копируя выгрузку в чат каждое утро.
Такое задание читается подрядчиком за минуту и сразу показывает, за что вам выставят счёт, а что вы уже умеете сами.
Расчёт на ваших числах
Агент с инструментами посчитал закупку в рубль: 69 645 рублей, все пять позиций и обе граничные ловушки верно.
Защита от красивой фикции
Вы знаете, как выглядит выдуманный заказ: 102 850 рублей, сошедшаяся арифметика и ни одной правильной цены.
Готовые правила
Протокол вызова, запрет придумывать, стоп-кран на необратимые действия и требование показать расчёт по строкам.
Понятная смета
Видно, что делается словами за вечер, а за что платить подрядчику: доступы к учётной системе, почте и банку.
Если ещё выбираете, какого агента заводить первым, и хотите понять разницу между чатом, ботом и агентом - разбор ИИ-агенты для бизнеса: что это и какие задачи им отдать. А как такой круглосуточный помощник устроен внутри у большой компании, я разобрал в бесплатном гайде Круглосуточный агент от Google: из чего он собран.
- Цель написана действием, и у неё есть признак завершения
- Инструменты перечислены: что дёргаем и что каждый возвращает
- Решено, что инструмент отвечает, когда данных нет
- Формат вызова один и строгий, рассуждения до получения данных запрещены
- Исполнитель есть, и цикл замкнут до признака завершения
- Повторный вызов с тем же аргументом не исполняется
- Необратимые действия только через подтверждение человека
- В задании стоит требование показать расчёт по строкам
- В конце агент перечисляет, что взял не из инструментов
- Итог сверен с расчётом, сделанным отдельно от агента
Можно ли сделать ИИ-агента на бесплатном чате?
Мозг - да, бесплатно и без регистрации: все три прогона в этой статье сделаны в гостевом ГигаЧате, ответы приходили за 21-32 секунды. Но чат сам никуда не залезет: остатки и цены ему принёс мой скрипт. Бесплатен тут думающий слой, а руки агенту придётся приделать самому или заказать.
Чем ИИ-агент отличается от чат-бота?
Бот отвечает словами на реплику. Агент получает цель, сам решает, какие данные ему нужны, запрашивает их инструментами и работает до результата. В моём прогоне это видно буквально: первым ходом агент выдал 12 строк запросов к складу и ценам, без единого слова рассуждений, и посчитал закупку только после того, как получил числа.
Нужен ли программист, чтобы сделать ИИ-агента?
Первые три шага - решить действие, перечислить инструменты, написать протокол - делаются словами, без кода. Четвёртый шаг нужен исполнитель: кто-то должен реально дёрнуть ваш склад и вернуть ответ. У меня это был скрипт на 30 строк. Без исполнителя агент остаётся разговором о работе.
Почему нельзя просто попросить чат собрать заказ поставщику?
Я попросил - и получил готовую таблицу с итогом 102 850 рублей при правильных 69 645. Остатки чат угадал в одной позиции из пяти, цены - ни в одной. Внутри таблицы арифметика сошлась в рубль, поэтому ошибку не видно глазами: считать было нечего, и числа он придумал.
Можно ли доверить агенту отправку письма или оплату?
Необратимые действия - письмо, оплата, удаление - выносите за стоп-кран: агент готовит черновик, нажимает человек. В моём прогоне инструмент отправки письма был ему доступен, и он не вызвал его ни разу. Это поведение одной модели в одном прогоне, а не гарантия, поэтому запрет пишется в правилах, а не держится на вежливости.
Можно ли загружать в агента выгрузку с данными клиентов?
Персональные данные и чужие документы в публичный чат не отправляйте: ответственность за содержимое выгрузки сервис оставляет на вас, и это требование 152-ФЗ. Для прогона я собрал демо-справочник из шести позиций. Гостевая переписка к тому же не сохраняется - сервис сам предупреждает, что чаты будут потеряны без входа.
Агенты искусственного интеллекта для бизнеса: чем они отличаются от чат-бота и какие задачи им отдать
ИИ для поиска информации: 5 сервисов и 3 проверки ответа
Нейросети для детей: сказка на ночь, задача и рисунок за 3 запроса
Соберу агента под вашу рутину - и честно скажу, где он не нужен
Если задача повторяется каждую неделю и живёт в учётной программе, таблице или почте, её можно замкнуть в такой же цикл: цель, инструменты, исполнитель, стоп-кран. Разберу вашу рутину, покажу, что закрывается словами и бесплатно, а где действительно нужна связка с системой - и скажу прямо, если агент вам не нужен вовсе.
Обсудить проект →