Этот пост переведён автоматически. Чтобы просмотреть оригинал, нажмите здесь.
При создании ИИ-агента вы тратите большую часть энергии на модель, инструменты и промпты. Вопрос о том, где хранится история разговора, кажется деталью реализации — но это одно из важнейших архитектурных решений, которые вам предстоит принять.
Оно определяет, могут ли пользователи ветвить беседы, отменять ответы, возобновлять сессии после перезапуска и покидают ли ваши данные вашу инфраструктуру. Команда Agent Framework опубликовала глубокий анализ.
Два основных паттерна
Управляемое сервисом: ИИ-сервис хранит состояние разговора. Ваше приложение хранит ссылку, и сервис автоматически включает нужную историю в каждый запрос.
Управляемое клиентом: ваше приложение поддерживает полную историю и отправляет нужные сообщения с каждым запросом. Сервис не имеет состояния. Вы контролируете всё.
Как Agent Framework это абстрагирует
AgentSession session = await agent.CreateSessionAsync();
var first = await agent.RunAsync("Меня зовут Алиса.", session);
var second = await agent.RunAsync("Как меня зовут?", session);
session = agent.create_session()
first = await agent.run("Меня зовут Алиса.", session=session)
second = await agent.run("Как меня зовут?", session=session)
Быстрый справочник по поставщикам
| Поставщик | Хранилище | Модель | Компрессия |
|---|---|---|---|
| OpenAI/Azure Chat Completions | Клиент | N/A | Вы |
| Foundry Agent Service | Сервис | Линейная | Сервис |
| Responses API (по умолчанию) | Сервис | Ветвящаяся | Сервис |
| Anthropic Claude, Ollama | Клиент | N/A | Вы |
Как выбрать
- Нужны ветвление или «отмена»? → Responses API, управляемый сервисом
- Нужен полный контроль над данными? → Управляемое клиентом с DB-бэкендом
- Простой чатбот? → Линейное, управляемое сервисом, — достаточно
Читайте полный пост для полного дерева решений.
