Данила (Dayfing)
Жарияланымдарға оралу
1 970 сөз9 мин

Assistants API 2026 жылғы 26 тамызда тоқтатылды: Responses API-ге көшу нұсқаулығы

Assistants API 2026 жылғы 26 тамызда ресми түрде тоқтатылды және енді қолжетімсіз. Жұмыс істеп тұрған қолданбалар генерацияны, диалог күйін, құралдарды және дерек ағындарын Responses API-ге көшіруі керек. Қауіпсіз жолы — әрбір Assistant, Thread, Run және құралды түгендеу, мінез-құлықты Responses конфигурациясында қайта құру, қолданба сақтаған тарихты импорттау, содан кейін трафикті ауыстырмас бұрын жауаптар мен жанама әсерлерді тексеру. Тоқтатылу күні мен нысандар сәйкестігі OpenAI-дың Assistants көшіру жөніндегі ресми нұсқаулығында берілген.

2026 жылғы 26 тамыздағы тоқтатылу нені өзгертеді

Бұл модельдің атауын өзгерту емес, endpoint пен нысандарды көшіру. Тоқтатылғаннан кейін ескі Assistants ресурстарына жасалған сұрауларды уақытша ескерту деп қарауға болмайды. /v1/assistants, /v1/threads, /v1/threads/messages немесе /v1/threads/runs жасайтын не оқитын кодқа жаңа жол қажет. Ескі API-мен жаңа интеграция бастамаңыз және ескі нысандар сұрауға қолжетімді болады деп есептейтін fallback жасамаңыз.

OpenAI жариялаған қазіргі сәйкестік:

Assistants API Responses платформасы Практикалық мағынасы
Assistant Prompt немесе сұрау конфигурациясы Модельді, нұсқауларды, құрал сипаттамаларын және шығару ережелерін нұсқаланатын конфигурацияда сақтаңыз. Қазіргі нұсқаулық Dashboard-та Assistant-тен Prompt жасауға мүмкіндік береді, бірақ қайта қолданылатын Prompt нысандары ескіртіліп жатқанын да ескертеді.
Thread Conversation немесе қолданба тарихы Conversation хабарларды, құрал шақыруларын және құрал нәтижелерін қоса, элементтерді сақтайды. Күйді өз дерекқорыңызда сақтап, керек элементтерді жіберуге де болады.
Run Response Responses сұрауы кіріс элементтерін қабылдап, шығыс элементтерін қайтарады. Бөлек Run нысаны мен polling циклі негізгі абстракция емес.
Run step Item message, function_call, function_call_output және reasoning сияқты типтелген элементтерді өңдеңіз. Әр нәтиже хабарлама деп болжамаңыз.

Тоқтатылу туралы нұсқаулықпен бірге Responses API-ге көшу жөніндегі нұсқаулықты оқыңыз. Онда Responses жаңа жобаларға ұсынылатын API ретінде көрсетіліп, Chat Completions-пен айырмашылықтары және кіріс-шығыс пішімдері түсіндіріледі.

Жаңа жұмыс үлгісі

Бұрын Assistant серверде сақталатын баптаулар жиыны еді. Thread хабарларды сақтады, ал Run Assistant-ті сол Thread бойынша орындады. Responses бұл міндеттерді бөледі. Сұрау модельді, нұсқауларды, кірісті және құралдарды көрсетеді. Нәтиже — типтелген Response, оның output өрісінде реттелген элементтер тізімі бар.

Бұл тәсіл оркестрацияны қолданбаның өзіне анық береді. Код пайдаланушыны қалай анықтайтынын, қанша тарих жіберетінін, қандай құрал шақыруларына рұқсат барын, аргументтерді қалай тексеретінін, қателерді қалай қайталайтынын және қашан адам мақұлдауы керек екенін шешеді. OpenAI күйді басқару мүмкіндіктерін ұсына береді, бірақ олар Assistant-тің жасырын өмірлік циклі емес, саналы таңдау.

Күйді басқарудың үш практикалық стратегиясы бар:

  1. Күйсіз сұрау қолданып, әр айналымда шектелген кіріс элементтер тізімін жіберіңіз. Осылайша дерекқор сақтау мен тарихты қысқартуды бақылайды.
  2. Айналымдарды previous_response_id арқылы жалғаңыз. Бұл үлгі диалог күйі туралы құжаттамада көрсетілген. Қысқа ағындарға ыңғайлы, бірақ бұрынғы кіріс токендері төлемге кіреді және сақтау сіздің саясатыңызға сай болуы тиіс.
  3. Conversations API нысанын жасап, оның ID-сін Responses-ке жіберіңіз. Conversation тұрақты идентификаторға ие және сессиялар, құрылғылар мен тапсырмалар арасында қолданылады. Элементтер өшірілгенге дейін сақталады, сондықтан ID сақталған күйге сілтеме, құпиялық қосқышы емес.

Әр өнім ағыны үшін бір стратегия таңдаңыз. Жергілікті қалпына келтірілген транскриптті, Conversation-ды және previous_response_id тізбегін нақты шындық көзісіз араластырмаңыз. Қайталанған айналымдар модель мінез-құлқын өзгертіп, шығынды көбейтіп, өшіру сұрауларын орындауды қиындатады.

Кодты өзгертпей тұрып тәуелділіктерді түгендеңіз

Әр Assistant ID және өндірістегі әр сессия жолы үшін көшіру жазбасын жасаңыз. Модельді, нұсқауларды, әдепкі параметрлерді, құрал схемаларын, vector stores, файлдарды, Code Interpreter қолданылуын, жауап пішімін, метадеректерді, сақтау талаптарын және Run күйін polling ететін кодты белгілеңіз. Backend-пен шектелмей, фондық тапсырмаларды, әкімшілік скрипттерді, панельдерді, тестерді және аналитика тұтынушыларын іздеңіз. Мәтіндік жауаптың сәтті болуы file search, құрылымдық шығару, streaming немесе жанама әсері бар функция бұрынғыдай жұмыс істейді дегенді білдірмейді.

Мінез-құлықты сақталған деректен бөліңіз. Нұсқаулар мен құрал сипаттамаларын конфигурациядан қайта құруға болады. Thread хабарлары мен жүктелген файлдар — экспортты немесе қолданба иелігіндегі көшірмені қажет ететін деректер активтері. Егер жүйе пайдаланушы хабарларын Threads-тен тыс сақтамаған болса, өшіру алдында бұл жазбаларды қалай өңдейтініңізді шешіңіз. Тоқтатылғаннан кейінгі нұсқаулық ескі Thread хабарларын алу енді жұмыс істемейтінін айтып, қолданба сақтаған хабарларды пайдалануды ұсынады.

Негізгі сұрауды қайта құрыңыз

Мәтіндік әрекеттесуде beta Thread және Run тізбегін бір Responses шақыруымен ауыстырыңыз. input өрісі жолды немесе хабарға ұқсас элементтер тізімін қабылдайды. Тұрақты жүйелік мінез-құлықты instructions ішіне, пайдаланушы мәтінін input ішіне салыңыз. Қарапайым мәтінді response.output_text арқылы оқыңыз, бірақ құралдар немесе мәтін емес элементтер болуы мүмкін болса, response.output-ты тексеріңіз.

from openai import OpenAI

client = OpenAI()

response = client.responses.create(
    model="gpt-5.6",
    instructions="Анық жауап беріп, берілген жазбаларға сілтеме жаса.",
    input=[{"role": "user", "content": "Тапсырыс күйін қорытындыла."}],
    store=False,
)

print(response.output_text)

Жаңа endpoint — /v1/responses, ал SDK әдісі — client.responses.create. messages кілтін, choices[0].message.content жолын немесе Runs-тен көшірілген polling циклін сол күйі қалдырмаңыз. Responses сақталуы қажет болса, бұл шешімді әдейі қабылдаңыз. Деректерді басқару құжаттамасында қазір Responses қолданбалық күйі әдепкіде немесе store true болғанда 30 күн сақталатыны және көрсетілген ерекшеліктер бар екені жазылған.

Мысалдағы модель атауы көшіруге кепілдік бермейді. Модель мен мүмкіндіктерді қазіргі модельдер каталогынан тексеріңіз, қайта өндіру маңызды болса snapshot бекітіңіз, өз сапа және кідіріс тестеріңізді іске қосыңыз.

Тарихты дұрыс сақтаңыз

Транскрипт қолданбаңызға тиесілі болса, оны Responses кіріс элементтеріне қалыпқа келтіріңіз. Пайдаланушы мәтіні input_text, ассистент мәтіні output_text, ал сурет URL немесе файл сілтемесі бар input_image болады. Хронологиялық реттілікті және бұрынғы айналымды түсіндіруге қажет құрал шақыруы мен нәтижесі жұптарын сақтаңыз.

Келесі мысал қолданбаға тиесілі тарихтан тұрақты Conversation жасап, жаңа айналым жібереді:

from openai import OpenAI

client = OpenAI()

conversation = client.conversations.create(
    items=[
        {
            "role": "user",
            "content": [{"type": "input_text", "text": "Менің тапсырысым 1842."}],
        },
        {
            "role": "assistant",
            "content": [{"type": "output_text", "text": "1842 тапсырысын тексере аламын."}],
        },
    ]
)

response = client.responses.create(
    model="gpt-5.6",
    conversation=conversation.id,
    input=[{"role": "user", "content": "Ол жөнелтуге дайын ба?"}],
)

print(response.output_text)

Тоқтатылғаннан кейін threads.messages.list арқылы көшіруге тырыспаңыз. Ескі endpoint тоқтатылғанға дейін қолжетімді болса ғана, соған дейінгі ортада экспорт жасаңыз. Тоқтатылғаннан кейінгі жүйеде қолданба сақтаған жазбаларды пайдаланыңыз. Импорт алдында пайдаланушы тұлғасын, өшіру сұрауларын, өңірлік ережелерді, тіркемелерді және уақыт белгілерін салыстырыңыз. Клиент жіберген Conversation ID оның аутентификацияланған пайдаланушыға тиесілі екені тексерілмей қабылданбауы тиіс.

Құралдар мен функция шақыруларын көшіріңіз

Responses құралдары сұрауда жарияланады. web search, file search, computer use, Code Interpreter, кескін жасау және қашықтағы MCP сияқты кірістірілген құралдар Using tools нұсқаулығында сипатталған. Өз функцияларыңызды қолданба жағында іске асыру қажет. Модель функцияны сұрата алады, бірақ бизнес операцияңызға рұқсат бере немесе оны өзі орындай алмайды.

Басқару циклі енді анық жазылады. Алғашқы сұрауды жіберіңіз, response.output ішінен function_call элементтерін табыңыз, әр рұқсат етілген функцияны тексеріп орындаңыз, модельдің шығыс элементтері мен function_call_output элементтерін қосыңыз, содан соң келесі сұрауды жіберіңіз. Reasoning модельдерімен құрал шақыруымен бірге қайтқан reasoning элементтерін сақтаңыз. Бұл талап function calling нұсқаулығында көрсетілген.

import json
from openai import OpenAI

client = OpenAI()

tools = [
    {
        "type": "function",
        "name": "lookup_order",
        "description": "Аутентификацияланған пайдаланушыға тиесілі тапсырыс күйін қайтару.",
        "parameters": {
            "type": "object",
            "properties": {
                "order_id": {"type": "string"},
            },
            "required": ["order_id"],
            "additionalProperties": False,
        },
        "strict": True,
    }
]

input_items = [{"role": "user", "content": "1842 тапсырысым қайда?"}]

response = client.responses.create(
    model="gpt-5.6",
    tools=tools,
    input=input_items,
)

input_items += response.output
for item in response.output:
    if item.type == "function_call" and item.name == "lookup_order":
        arguments = json.loads(item.arguments)
        result = {"order_id": arguments["order_id"], "status": "packed"}
        input_items.append(
            {
                "type": "function_call_output",
                "call_id": item.call_id,
                "output": json.dumps(result),
            }
        )

response = client.responses.create(
    model="gpt-5.6",
    tools=tools,
    input=input_items,
)

print(response.output_text)

Strict режимі шақырудың схемаға сай болуына көмектеседі, бірақ рұқсат бермейді. Қолданба кодында аутентификацияланған пайдаланушыны, тапсырыс иесін, диапазондарды, enum мәндерін және бизнес күйін тексеріңіз. Ақша алу, өшіру, жариялау немесе жіберу операцияларына idempotency немесе транзакция қолданыңыз. Орындалу сәтсіз болса, табысты қолдан жасамай, құрылымдалған құрал қатесін қайтарыңыз. Құрал айналымдарының санын шектеп, әр шақыруды, нәтижені және мақұлдау шешімін сезімтал мәндерді жасырып тіркеңіз.

Responses функция анықтамалары ескі Chat Completions функция қаптамасынан өзгеше. Схеманы әдейі көшіріп, қате аргументтерді, белгісіз функцияларды, қайталанған және параллель шақыруларды, тайм-ауттарды және сенімсіз мәтіні бар құрал нәтижесін тестілеңіз.

Құрылымдалған шығуды сақтаңыз

Ескі Assistant JSON mode немесе жауап схемасын пайдаланса, оны response_format күйінде көшірмей, Responses text.format конфигурациясына сәйкестендіріңіз. Құрылымдалған шығу жөніндегі нұсқаулық қазіргі схема пішінін және SDK көмекшілерін түсіндіреді. Талданған нәтижені дерекқорға, интерфейске немесе басқа құралға бермес бұрын тексеріңіз. Дұрыс JSON-ның өзінде қате тапсырыс нөмірі, қауіпті нұсқау немесе аяқталмаған бизнес шешімі болуы мүмкін.

Схеманы шағын ұстаңыз және оны Prompt немесе сұрау конфигурациясымен бірге нұсқалаңыз. Міндетті өрістерді жариялаңыз, strict режимі талап етсе additionalProperties=false қойыңыз, бас тартуды, толық емес жауаптарды және схема өзгерісін тестілеңіз. JSON нысанының бар болуы операция сәтті аяқталды деген сөз емес.

Миграциядан кейінгі қауіпсіздік пен деректер

Миграция күй шекарасын өзгертеді, сондықтан оны қауіпсіздік архитектурасының өзгерісі ретінде қайта қараңыз. API кілттерін сенімді серверде сақтаңыз, әр сессияны аутентификациялаңыз, Conversation немесе жергілікті тарихты сервердегі пайдаланушы тұлғасымен байланыстырыңыз. Нұсқауларға немесе құрал сипаттамаларына құпияларды, авторизация токендерін және шектеусіз дерекқор сұрауларын қоспаңыз.

Әр сұрауға ең аз қажетті құралдар жиынын беріңіз. Оқу функцияларын жазу функцияларынан бөліңіз, маңызды әрекеттерге анық растау сұраңыз және авторизацияны модель шығуынан тәуелсіз орындаңыз. Алынған файлдарды, веб-беттерді және қашықтағы MCP жауаптарын сенімсіз кіріс деп санаңыз. Қашықтағы MCP серверлерінің өз сақтау саясаты бар, ал орналастырылған Code Interpreter контейнерлері белсенді кезде уақытша күй сақтауы мүмкін. Деректерді басқару нұсқаулығы осы endpoint шектеулерін көрсетеді.

Әр ағын үшін store, Conversation немесе қолданба басқаратын тарихтың қайсысы керегін шешіңіз. Қазіргі құжаттама API деректері анық келісімсіз OpenAI модельдерін үйретуге пайдаланылмайтынын айтады, бірақ бұл сақтау, қатынау, өшіру, өңірлік өңдеу және жеткізушілер аудитін алмастырмайды. store=false жалпы өшіру саясаты емес және Conversation-ды уақытша күйге айналдырмайды.

Кіріс пен шығысты шектеңіз, қажет жерде модерация қолданыңыз және әсері жоғары шешімдерге адам тексеруін қосыңыз. OpenAI қауіпсіздік жөніндегі үздік тәжірибелері prompt injection шабуылдарына қарсы adversarial тестерді, модерацияны және адам бақылауын ұсынады. Сұрау ID-лері мен оқиға түрлерін тіркеңіз, бірақ пайдаланушы мәтінін, тіркелгі деректерін, функция аргументтерін және құрал нәтижелерін саясатқа сай жасырыңыз.

Миграциядағы жиі қателер

Ескі endpoint қате қайтарады

2026 жылғы 26 тамыздан кейін Assistants ресурстарына сұрау жіберу — миграция ақауы. Ескі клиент жолын қайталаудың орнына алып тастаңыз. Егер фондық worker әлі Run ID polling етсе, Responses worker-ін енгізіп, thread_id мен run_id өрістерін сессия және Response идентификаторларына ауыстырыңыз.

Жауап бос немесе parser істен шығады

Responses output — біртекті емес элементтер тізімі. output_text қарапайым мәтінге ыңғайлы, бірақ құрал шақыруы, бас тарту немесе толық емес жауап күй мен элемент түрлерін тексеруді талап етеді. Бірінші элементті индекс арқылы алып, ол хабарлама деп ойламаңыз.

Модель контексті қайталайды немесе шығын өседі

Бір күй стратегиясын және қысқарту ережесін таңдаңыз. previous_response_id бұрынғы кіріс токендерін тегін етпейді, ал тарихты Conversation мен input-қа бірдей көшіру контексті қайталайды. staging ортасында шынайы ұзақ диалогтармен кіріс және шығыс токендерін өлшеңіз.

Функция екі рет орындалады

Қайта сұрау, параллель құрал шақырулары, желі тайм-ауттары және қайта қосылу шақыруды қайталауы мүмкін. Жанама әсері бар әр операцияға call ID мен аутентификацияланған пайдаланушыға негізделген idempotency кілтін беріп, орындау алдында бизнес транзакциясын тексеріңіз. Модельдің сәтті хабарламасы функция бір-ақ рет орындалды дегенді дәлелдемейді.

Ескі файлдар немесе іздеу нәтижелері жоғалады

Thread тарихынан бөлек vector stores, файл ID-лері, жарамдылық мерзімдері мен рұқсаттарды түгендеңіз. Қолдау көрсетілетін іздеу жолын қайта жасаңыз, әр tenant қолжетімділігін тексеріңіз, сілтемелер мен бос нәтижелерді сынаңыз. Assistant конфигурациясын өзгерту файл деректерін көшіреді деген сөз емес.

Миграция тексеру тізімі

Әр өндірістік ағын үшін мына қадамдарды ретімен орындаңыз:

  1. Ескі Assistant, Thread, Run, файлдар, vector stores, құралдар, Prompt және метадерек тәуелділіктерін жазыңыз.
  2. Пайдаланушыға көрінетін нұсқаулар мен құрал схемаларын нұсқаланатын конфигурацияға салыңыз.
  3. Responses моделін таңдап, құралдарын, мультимодаль кірісін, құрылымдалған шығуын және өңірлік қолжетімділігін растаңыз.
  4. Бір күй стратегиясын таңдаңыз: күйсіз элементтер, previous_response_id немесе Conversations.
  5. messages-ті input-қа, choices-ті output-қа, мәтін оқуды output_text-ке сәйкестендіріңіз.
  6. Функция анықтамаларын қайта жазып, анық әрі шектелген құрал циклін іске асырыңыз.
  7. file search, Code Interpreter, web search, MCP, streaming және құрылымдалған шығуды бір-бірлеп қайта жасаңыз.
  8. Тек қолданба иелігіндегі тарихты импорттап, реттілікті, тұлғаларды, тіркемелерді, шақыруларды және өшіру мағынасын сақтаңыз.
  9. Авторизация, кіріс шектері, модерация, idempotency, жасырын логтар және жанама әсерлерге адам мақұлдауын қосыңыз.
  10. Эталондық диалогтарды, adversarial сұрауларды, құрал қателерін, қайта сұрауларды, бас тартуларды, ұзақ контексті және қатар сессияларды іске қосыңыз.
  11. Жауаптарды, сілтемелерді, құрал әсерін, токендерді, кідірісті, қателерді және сақтау мінез-құлқын салыстырыңыз.
  12. Өзгерісті feature flag артында шығарып, ескі worker-лерді тоқтатыңыз, Responses қателерін бақылаңыз, тоқтатылған API-ге тәуелсіз rollback қалдырыңыз.
  13. Экспорт, аудит жазбалары және қолдау процедуралары тексерілгеннен кейін ғана ескі Assistant кодын және кілттерін жойыңыз.

Жүйе дизайны үшін өндірістегі AI агент архитектурасы жөніндегі нұсқаулықты қараңыз. Регрессия деректері мен мінез-құлық тестері AI агенттерін бағалау нұсқаулығында берілген.

Миграцияның аяқталғанын қалай білуге болады

Өндірістің бірде-бір жолы Assistants ресурстарына тәуелді болмаса, әр сессияның күй иесі анықталса, әр құрал шақыруы авторизацияланып, қайталанудан қорғалса және Responses шығу келісімшарты тестермен қамтылса, миграция аяқталды деп есептеуге болады. Модель snapshot-тары, Prompt немесе сұрау конфигурациясының нұсқалары, схема нұсқалары, дерек сақтау шешімдері және байқалған ақаулар бар миграция жазбасын сақтаңыз. Responses API немесе таңдалған модель өзгергенде оны қайта қараңыз, себебі ескі fallback-ты алып тастау тұрақты бағалауды тоқтатуды білдірмейді.

Басқа жарияланымдар