Skip to main content
Version: 1.13.1

ИИ-агенты

ИИ-агент — это механизм, который позволяет нейросети выполнять сложные многошаговые задачи по команде пользователя в рамках рабочего процесса.

ИИ-агент может:

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

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

Компоненты ИИ-агента

  • Нексус — точка подключения, через которую работает агент.

  • Адаптер – набор методов, которые агент может вызывать.

  • Стратегия – вариант поведения нейросети для решения поставленной задачи.

    • One-Shot – выполнение поставленной задачи за один шаг без итераций. При использовании этой стратегии ИИ-агент отвечает на начальную команду или вызывает необходимый метод, после чего его задача завершена.
    • Re.Act – предполагает самостоятельные промежуточные шаги агента, в том числе итерации, для достижения поставленной задачи в необходимом объеме. Например, после получения начальной команды агент строит рассуждение, может вызвать метод, тогда результат вызова будет отправлен в нейросеть для дальнейшей обработки. Когда информации достаточно, он отвечает и завершает сессию. Для использования этой стратегии необходимо задать максимальное количество итераций, чтобы предотвратить зацикливание.
  • Инструкция – текст инструкции, который определяет поведение агента. Инструкция должна задавать последовательность шагов, которые агент выполняет для решения задачи.

Создание ИИ-агента


tip

Требуемая роль: ain_admin.

Перед созданием ИИ-агента убедитесь, что:

Чтобы создать нового ИИ-агента, выполните следующие шаги:

  1. В навигаторе перейдите в AinergyAI AgentsAI Agent.
  2. Нажмите Создать и заполните поля новой формы.
  3. Нажмите Сохранить или Сохранить и выйти, чтобы применить изменения.
  4. Добавьте ИИ-агента в действие AI Agent рабочего процесса.

Поля формы AI Agent

ПолеОбязательноОписание
NameДаУкажите имя агента. Используйте уникальное и понятное имя.
System nameДаУкажите системное имя.
AdapterДаУкажите адаптер, методы которого будут доступны агенту.
NexusДаУкажите нексус, к которому обращается ИИ-агент.
StrategyДаВыберите стратегию ии-агента для решения поставленной задачи. Доступные опции:
  • One-Shot – решение задачи в один шаг: поиск ответа или вызов метода
  • Re.Act – для выполнения задачи используется "размышление" нейросети и допускаются многократные итерации обработки входящих данных для получения оптимального ответа.
Max iterationsДаУкажите максимальное разрешенное количество итераций. Поле доступно, если выбрана стратегия Re.Act.
InstructionsДаДобавьте инструкцию для текущего ИИ-агента.

Пример ИИ-агента

ПолеЗначение
NameОтчет по инцидентам
System nameincident-report-agent69658088
AdapterОтчет по инцидентам
NexusQWEN Next
StrategyRe.Act
Max iterations5
InstructionsПри получении команды "за работу" запросите у пользователя начальную и конечную даты для периода отчета. Затем извлеките данные об инцидентах за указанный период, сформируйте краткий отчет на русском языке и отправьте его по электронной почте.

Адаптер Отчет по инцидентам содержит следующие методы:

  • send_email – отправка письма на электронную почту.
  • get_incident_data – получение данных об инцидентах за период.

Сессия агента


Сессия агента — это история действий агента. Записи всех сессий агента хранятся в связанном списке AI Agent Session. Там же вы можете посмотреть их статус.

Сессия начинается с запуска агента и заканчивается в следующих случаях:

  • для стратегии Оne-Shot — после ответа или вызова метода;

  • для стратегии Re.Act: когда нейросеть получает достаточно информации или ее невозможно получить доступными средствами;

    • когда достигнуто максимальное количество итераций или возникает ошибка, сессия завершается со статусом Ошибка.

Создание адаптера


tip

Требуемая роль: ain_admin.

Адаптер – это контейнер с набором методов. ИИ-агент может использовать для работы только методы, которые добавлены в выбранный адаптер.

К ИИ-агенту можно подключить только один адаптер, список методов доступен в связанном списке Adapter Methods формы AI Agent.

Чтобы создать адаптер для ИИ-агента, выполните следующие шаги:

  1. В навигаторе перейдите в AinergyAI AgentsAI Adapter.

  2. Нажмите Создать и укажите название нового адаптера.

  3. Нажмите Сохранить.

  4. В связанном списке AI Adapter Has Method добавьте необходимые методы:

    1. Нажмите Создать в связанном списке, чтобы добавить необходимую запись из таблицы AI Methods (ain_ai_method). На форме новой записи в поле Adapter будет уже указано название адаптера.
    2. В поле Method выберите запись из таблицы AI Methods (ain_ai_method).
    3. В поле Default variables укажите параметры по умолчанию, которые будут применяться при вызове метода через данный адаптер. Например, {"content_db": "ID", "object_category": 10, "responsible_group": "ID", "content_item_class": "ID", "knowledge_base_category": "ID"}

В результате, в связанном списке созданного адаптера появится список добавленных в него методов.

Создание метода

В таблице AI Method (ain_ai_method) хранятся все методы, доступные для ИИ-агентов. Каждый метод включает:

  • JSON-схему для нейросети.
  • JS-скрипт для выполнения на экземпляре.

Чтобы создать метод, выполните действия:

  1. В навигаторе перейдите в AinergyAI AgentsAI Method.
  2. Нажмите Создать и укажите название нового адаптера.
  3. Нажмите Сохранить.

Поля формы AI Method

ПолеОбязательноОписание
NameДаУкажите название метода.
FunctionНетУкажите схему метода для нейросети в формате JSON.
Callback ScriptНетУкажите логику, которую необходимо выполнить при вызове метода.
Пример значения Function
{
"type": "function",
"function": {
"name": "add",
"description": "Add two numbers and returns the result number",
"parameters": {
"type": "object",
"properties": {
"a": {
"type": "number",
"description": "The first number"
},
"b": {
"type": "number",
"description": "The second number"
}
}
}
}
}
Пример значения Callback script
((args) => {
return Number(args.a) + Number(args.b);
})(args)