Как настроить ИИ-компаньона с помощью OdiRouter

Редакция OdiRouter

Научиться настраивать ИИ-компаньона становится намного проще, как только вы перестаёте воспринимать это как одну большую подсказку. Разделите продукт на назначение, персону, состояние диалога, долговременную память, политику безопасности, инструменты и доступ к модели. OdiRouter может обеспечить слой доступа к модели через документированные API для LLM и мультимодальных моделей. Ваше приложение по-прежнему отвечает за данные пользователей, правила работы с памятью, разрешения и пользовательский опыт.

Дайте компаньону одну чёткую задачу

Выберите задачу до выбора модели. Компаньон для учёбы объясняет концепции и отслеживает учебные цели. Творческий компаньон помогает со сценами и персонажами. Компаньон для продуктивности планирует работу и оценивает прогресс. Для этих задач нужны разные тона общения, воспоминания, инструменты и правила отказа.

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

Создайте персону, которую можно тестировать

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

Полезное описание персоны включает:

  • её роль и назначение;

  • тон и темп общения;

  • обычный формат ответа;

  • темы, которые она может поднимать;

  • темы, требующие особой осторожности;

  • факты, которые она не должна выдумывать;

  • случаи, когда ей следует задать уточняющий вопрос;

  • то, как ей следует признавать неопределённость.

Храните персону в версионируемой конфигурации. Перед выпуском проверяйте каждое изменение на одних и тех же сценариях. Длинная предыстория может быть увлекательной, но она не гарантирует последовательного поведения. Чёткие правила, примеры и критерии оценки делают больше работы.

Используйте OdiRouter в качестве слоя модели.

В официальной конфигурации OdiRouter LLM используются https://api.odirouter.ai/v1 и Authorization: Bearer {apiKey}. В числе задокументированных интерфейсов: /v1/chat/completions, /v1/messages и /v1/responses. Выберите интерфейс, подходящий для вашего SDK и приложения, затем выберите актуальную модель, например, OdiRouter model catalog.

Идентификаторы моделей, цены, ограничения контекста и поддерживаемые функции могут изменяться. Введите идентификатор модели в конфигурацию и проверьте работоспособность моделей model catalog и pricing page перед развертыванием. Временные каталожные сведения не должны включаться в постоянный сопроводительный экземпляр.

В этом примере для Node.js ключ и идентификатор модели хранятся в переменных среды:

import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.ODIROUTER_API_KEY,
  baseURL: "https://api.odirouter.ai/v1",
});

const response = await client.chat.completions.create({
  model: process.env.ODIROUTER_MODEL_ID,
  messages: [
    {
      role: "system",
      content: "You are a concise study companion. State uncertainty and never invent a source."
    },
    {
      role: "user",
      content: "Help me review this week's biology notes."
    }
  ],
  temperature: 0.7,
});

console.log(response.choices[0].message.content);

В LLM setup guide описаны базовый URL, аутентификация Bearer, необязательный X-Request-Id и настройка SDK.

Не включайте память в промпт персоны

Память должна находиться в приложении. Как минимум разделите три уровня:

  • контекст сессии для текущего разговора;

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

  • поиск заметок или документов, выполняемый только тогда, когда они имеют значение.

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

Объясните модели, как использовать извлечённую память и что делать, если записи противоречат друг другу. Не помещайте неконтролируемую историю пользователя в системный промпт. Храните ссылки на источники рядом с извлечёнными фактами, чтобы интерфейс мог объяснить, почему они повлияли на ответ.

Сделайте безопасность и конфиденциальность заметными в поведении

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

Политика может требовать, чтобы компаньон:

  • сообщал, чего он не может сделать, не создавая видимости успешного выполнения задачи;

  • отделял рекомендации от проверенных фактов;

  • запрашивал подтверждение перед изменением внешних данных;

  • хранил как можно меньше личной информации;

  • не допускал попадания секретов в журналы и промпты;

  • предлагайте путь к помощи человека, когда этого требует политика рисков продукта.

Тестируйте политику безопасности и персону вместе. Отказ, который внезапно нарушает заданный тон, воспринимается как сбой. Тёплый ответ, пересекающий границу безопасности, всё равно неверен.

Осторожно добавляйте знания и инструменты

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

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

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

Подождите, прежде чем добавлять голос или изображения.

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

OdiRouter описывает отдельную асинхронную очередь для мультимодальных задач. Базовый URL — https://api.odirouter.ai/model, а для создания задач используется POST {BASE_URL}/v1/queue/{endpoint}. Ваше приложение отправляет задачу, сохраняет возвращённый идентификатор запроса, опрашивает её статус и получает результат после завершения. Прочитайте multimodal setup documentation, прежде чем создавать этот процесс.

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

Создайте воспроизводимый набор оценочных тестов

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

Проверьте следующие результаты:

  • согласованность персоны;

  • фактическая обоснованность;

  • использование памяти;

  • поведение при отказе;

  • разрешения инструментов;

  • задержка и восстановление после ошибок;

  • контроль пользователя над сохранённой информацией.

Изменение модели может изменить поведение, даже если файл персоны остаётся прежним. Запускайте один и тот же набор оценочных тестов перед сменой настроенной модели или изменением важной инструкции.

Выполняйте запуск небольшими шагами

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

OdiRouter quick start показывает, как создать ключ API и выполнить первый запрос. Затем сравните текущие варианты в model catalog. Храните персону, память, безопасность и инструменты в своём приложении, чтобы смена модели не вынуждала вас перерабатывать компаньона.

#API ИИ-компаньона#Безопасность ИИ-компаньона#ИИ-компаньон память#как настроить ИИ-компаньона#пользовательский ИИ-компаньон