Управление токенами рассуждения (Reasoning Tokens)

Специфика работы с моделями глубокого мышления: учет скрытых токенов рассуждения (thinking) и управление лимитами.

Флагманские модели рассуждений генерируют два типа токенов: внутренние шаги цепочки мыслей (CoT, Chain-of-Thought) и финальный ответ, отображаемый пользователю. Понимание механизмов тарификации и лимитов токенов рассуждения критично для предотвращения неожиданного исчерпания контекста.

Распределение лимита max_tokens

Параметр max_tokens или max_completion_tokens задает суммарный лимит на скрытые токены рассуждения и финальный текст ответа. Если лимит слишком мал, модель исчерпает его на этапе размышлений и не успеет сформулировать ответ.

Ключевые технические возможности

  • Тарификация скрытых токенов: Токены рассуждения тарифицируются по стандартной цене выходных токенов (completion tokens).
  • Корректный запас max_completion_tokens: Рекомендуется задавать запас не менее 4 000–8 000 токенов для сложных логических задач.
  • Параметр reasoning_effort: Возможность регулировать глубину размышлений (low, medium, high) для баланса цены и скорости.
  • Видимость процесса мышления: В потоковом режиме SSE токены рассуждения могут транслироваться в специальном поле дельты.

Пример интеграции в коде

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


import OpenAI from "openai";

// Инициализация стандартного SDK с базовым URL Api Router
const client = new OpenAI({
  baseURL: "https://api-router.velar.plus/v1",
  apiKey: process.env.API_ROUTER_KEY, // Ваш ключ от сервиса
});

async function run() {
  const response = await client.chat.completions.create({
    model: "anthropic/claude-sonnet", // Семейство модели без жесткой привязки к устаревающим номерам
    messages: [
      { role: "system", content: "Вы профессиональный инженер-архитектор." },
      { role: "user", content: "Как настроить надежную маршрутизацию запросов?" }
    ],
    temperature: 0.2,
  });

  console.log("Ответ модели:", response.choices[0].message.content);
}

run();
  

Связанные разделы документации

Для глубокого погружения в тему изучите следующие материалы: