3 сентября 2026 г.
Инструменты из прошлого сообщения пропадают: additional_tools в OpenAI не суммируются
Каждый новый additional_tools заменяет предыдущий набор, а к инструментам системного промпта добавляется.

Armin Ronacher ⇌
@mitsuhiko
Не знаю, кому это нужно, но `additional_tools` в OpenAI не складывается с `additional_tools` из предыдущего сообщения, зато складывается с `tools` из системного промпта.
· 1,7 тыс. просмотров
Агент перестаёт видеть инструмент, который сам же подгрузил тремя шагами раньше.
OpenAI считает `additional_tools` не суммой, а заменой: новый item отменяет набор из прошлого сообщения. Инструменты, объявленные в системном промпте, при этом остаются на месте.
Позиция решает. `additional_tools` — это input-item Responses API с ролью `developer` и массивом инструментов внутри. Доки OpenAI пишут прямо: инструменты из него становятся доступны модели только после того места, где item стоит во входе. Собираешь историю запроса руками, сохраняй позицию item.
Рецепт автора. Армин Ронахер, известный в сети как mitsuhiko, встроил позднюю загрузку инструментов в своего агента pi: PR открыт 09.07.2026 и вмержен на следующий день. Схема такая: завести маленький стабильный инструмент-загрузчик и регистрировать настоящий инструмент внутри его `execute`, а куски промпта и гайдлайны в поздний инструмент не класть. Повторные переопределения и коллизии имён pi сворачивает обратно в префикс, чтобы история оставалась валидной при реплее. Включается это флагом `compat.supportsToolSearch: true`, который выставляют и кастомные модели за прокси.
Раньше весь набор инструментов объявлялся в начале запроса и целиком занимал контекст. С 05.03.2026 в Responses API работает tool search: большие наборы откладываются до рантайма, определения грузятся в конец контекстного окна, кэш между запросами выживает, ответ приходит быстрее. Работает только на gpt-5.4 и новее. 17.03.2026 подключили gpt-5.4 mini, а nano остался без поддержки.
Через шлюз поездка ломается раньше семантики. Codex CLI 0.149.x с включённым `code_mode` шлёт в /v1/responses item `{"type": "additional_tools", "tools": []}`, и прокси на нём отваливаются: envoy ai-gateway отдавал 400 с «cannot unmarshal unknown input type: additional_tools» (issue от 26.08.2026).
Пока шлюзы вроде envoy ai-gateway не научатся принимать `additional_tools`, поздняя подгрузка инструментов остаётся историей про прямой API OpenAI.
Первоисточник