---
title: "Преобразование форматов"
id: "2019"
type: "page"
slug: "protocols"
published_at: "2026-09-20T18:37:29+00:00"
modified_at: "2026-09-21T00:00:47+00:00"
url: "https://pastukhov.com/agents/proxy/docs/protocols"
markdown_url: "https://pastukhov.com/agents/proxy/docs/protocols.md"
excerpt: "Программы говорят с моделями на разных «языках», и не всегда язык программы совпадает с языком…"
---

# Преобразование форматов

[https://pastukhov.com/agents/proxy/docs/protocols.md](https://pastukhov.com/agents/proxy/docs/protocols.md)

Программы говорят с моделями на разных «языках», и не всегда язык программы совпадает с языком поставщика. Раньше это означало, что под каждую модель нужна своя программа. «Прокси-агент» убирает эту зависимость: он принимает запрос на одном языке, а дальше говорит с моделью на том языке, который та понимает. Это и называется преобразованием форматов.

## Три движка

Отдельно взятый «переводчик» в продукте называется движком. Их три, и какой из них работает, зависит от типа поставщика у модели.

- **OpenAI** — самый распространённый язык. Запрос передаётся почти без изменений.
- **Anthropic** — язык Claude. Тоже передаётся почти без изменений.
- **DeepSeek** — самый «умный» движок: понимает оба языка и при необходимости пересобирает запрос, чтобы модель его приняла.

## Что именно преобразуется

Для обычных поставщиков «преобразование» — это свобода выбора: программа на языке OpenAI спокойно работает с моделью Anthropic, и наоборот. Меняется только язык обращения, смысл запроса остаётся прежним.

На движке DeepSeek к этому добавляется исправление самого запроса — поставщик принимает не всё, что присылают программы:

- **Переименование полей** — если программа прислала ограничение длины ответа под старым названием, оно переводится в то, которое понимает поставщик.
- **Удаление чужих полей** — лишние поля, которых поставщик не ждёт, не отправляются.
- **Чистка текста от «мыслей»** — служебные пометки размышлений вырезаются из текста сообщений.
- **Выравнивание ролей** — сообщения приводятся к порядку, который поставщик ожидает: системные, пользовательские, ответы модели, результаты инструментов.

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

## Что сохраняется

Преобразование не ломает привычные возможности. Через него проходят:

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

## «Размышления» DeepSeek

Модели DeepSeek по ходу ответа ведут скрытые «размышления». Поставщик требует, чтобы в следующих сообщениях диалога они были на месте, — поэтому продукт их сохраняет и подставляет обратно. Записи хранятся **7 дней**.

Если запись не нашлась — например, диалог старый или вы переключились на другую модель, — работает настройка модели «Модели и цены»: либо отказ с понятным текстом «Начните новый чат», либо подстановка фиксированной заглушки. Первый вариант честнее — вы сразу узнаёте, что диалог придётся начать заново.

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

- **Не смешивайте языки в одном адресе.** Адрес `/api/chat/completions` — для языка OpenAI, `/api/v1/messages` — для языка Anthropic. Если отправить на неверный адрес тело другого языка, поставщик его не поймёт.
- **Не переключайте модель внутри одного длинного диалога без нужды.** У нового поставщика свои требования к истории, и диалог может потребовать начать заново.
- **Не смешивайте два языка в одной программе наугад.** Проще всего смотреть на то, какой адрес подставляет сама программа, — он и есть её язык.

Дальше: из чего складывается расход и как работают пределы — в разделе [Расходы и лимиты](/agents/proxy/docs/costs)
.

[← Оглавление документации](/agents/proxy/docs)
