Гайд · TNWS AI

Как продолжить диалог в Gemini API через previous_interaction_id

2 мин

Серверное состояние Gemini Interactions API: создание первого хода, previous_interaction_id, ветвление диалога и защита от смешивания пользователей.

Сохраните interaction.id первого хода и передайте его как previous_interaction_id во втором. API восстановит предыдущий контекст и thought signatures. В базе приложения связывайте ID с конкретным пользователем и беседой: чужой идентификатор нельзя принимать напрямую из формы без проверки владельца.

Рабочий пример

const first = await ai.interactions.create({
  model: "gemini-3.8-flash",
  input: "Запомни правило: отвечай как редактор и давай один вариант."
});

const second = await ai.interactions.create({
  model: "gemini-3.8-flash",
  input: "Сократи: Мы осуществляем доставку воды клиентам.",
  previous_interaction_id: first.id
});

console.log(second.output_text);


## Что означает каждая важная часть

- Идентификатор предыдущего interaction формирует цепочку, а не глобальную память аккаунта.
- Для нового ответвления можно создать несколько ходов с одним предком; сохраняйте собственную структуру веток.
- По умолчанию запросы сохраняются. Если нужен `store:false`, историю и необходимые thought signatures придётся вести по правилам stateless-режима.
- ID является ссылкой на серверное состояние, но не заменяет вашу авторизацию и разграничение доступа.

## Порядок внедрения

1. Создайте таблицу conversations с владельцем и `last_interaction_id`.
2. Перед продолжением проверьте, что беседа принадлежит текущему авторизованному пользователю.
3. После успешного ответа атомарно замените последний ID новым; при параллельных сообщениях используйте версию записи или очередь.
4. Для кнопки «повторить» создавайте новую ветку от нужного ID, не перезаписывая исходную историю.

## Как проверить результат

Первым ходом задайте уникальное контрольное слово, вторым попросите повторить его. Новый диалог без `previous_interaction_id` не должен знать слово. Затем одновременно отправьте два продолжения и убедитесь, что интерфейс отображает две ветки, а не случайно смешивает порядок.

## Ограничения

Серверное состояние зависит от политики хранения Gemini API и доступности ресурса. Не используйте ID как единственную копию ценных пользовательских данных. При удалении беседы очистите локальные ссылки и выполните предусмотренные API действия, если они доступны.

## Чего не делать

- Не доверяйте `previous_interaction_id`, присланному клиентом, без проверки владельца.
- Не обновляйте последний ID гоняющимися параллельными запросами.
- Не называйте цепочку вечной памятью.

Частые вопросы

Можно ли использовать пример в production?

Как основу — да, но добавьте авторизацию, таймауты, обработку ошибок, лимиты и тесты из статьи.

Где проверять актуальное имя модели?

В официальном каталоге Gemini API и Google AI Studio непосредственно перед развёртыванием.

Нужно ли доверять ответу без проверки?

Нет. Формат проверяется кодом, а важные факты — источником или вашей базой данных.

Что делать при изменении API?

Зафиксировать версию SDK, прочитать release notes и прогнать сохранённый набор интеграционных тестов.

Официальный источник

Документация Google, проверена 11 сентября 2026 года: https://ai.google.dev/gemini-api/docs/interactions-overview

Читайте также

Комментарии

Пока тихо. Скажите первое слово