Негізгі мазмұнға өту
OpenAI

2026 ж. 11 наурыз

Инженерия

Модельден агентке: Responses API-ді компьютерлік ортамен жабдықтау

Бо Сюй, Дэнни Чжан және Рохит Аруначалам

Жүктелуде…

Қазір біз нақты тапсырмаларда үздік болатын модельдерді қолданудан күрделі жұмыс ағындарын орындай алатын агенттерді қолдануға көшу кезеңіндеміз. Модельдерге көмексөз беру арқылы сіз тек үйретілген интеллектке ғана қол жеткізесіз. Алайда модельге компьютерлік орта беру қызметтерді іске қосу, API-лерден дерек сұрау немесе электрондық кестелер мен есептер сияқты пайдалырақ артефактілер жасау секілді әлдеқайда кең ауқымды қолдану жағдайларына жол ашады.

Агенттерді құруға тырысқанда бірнеше практикалық мәселе туындайды: аралық файлдарды қайда сақтау, үлкен кестелерді көмексөзге көшіруден қалай қашу, жұмыс ағынына қауіпсіздік мәселесін тудырмай желі қолжеткізуін қалай беру және өзіңіз жұмыс ағыны жүйесін құрмай-ақ таймауттар мен қайталауларды қалай өңдеу.

Әзірлеушілерге өз орындау орталарын өздері құру жүгін артудың орнына, біз нақты әлемдегі тапсырмаларды сенімді орындау үшін Responses API(жаңа терезеде ашылады)-ді компьютерлік ортамен жабдықтауға қажетті құрамдастарды құрдық.

OpenAI-дің Responses API-і shell құралы және хостталатын контейнер жұмыс кеңістігімен бірге осы практикалық мәселелерді шешуге арналған. Модель қадамдар мен пәрмендерді ұсынады; платформа оларды кірістер мен шығыстарға арналған файлдық жүйесі, қосымша құрылымдалған сақтау орны (мысалы, SQLite) және шектеулі желіге қолжеткізуі бар оқшауланған ортада орындайды. 

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

Shell құралы

Жақсы агент жұмыс ағыны тығыз орындау циклінен басталады: модель файлдарды оқу немесе API арқылы деректерді алу сияқты әрекетті ұсынады, платформа оны орындайды, ал нәтиже келесі қадамға беріледі. Біз бұл циклді ең оңай көруге болатын shell құралынан бастаймыз, содан кейін контейнер жұмыс кеңістігін, желіні, қайта пайдаланылатын дағдыларды және контексті ықшамдауды қарастырамыз.

Shell құралын түсіну үшін алдымен тілдік модельдің жалпы алғанда құралдарды қалай пайдаланатынын түсіну пайдалы: мысалы, функция шақыру немесе компьютермен әрекеттесу үшін. Үйрету барысында модельге құралдардың қалай пайдаланылатыны және оның нәтижелік әсерлері қадам-қадаммен көрсетіледі. Бұл модельге құралды қашан және қалай пайдалану керегін үйренуге көмектеседі. «Құралды пайдалану» дегенде біз модель шын мәнінде тек құрал шақыруын ұсынатынын айтамыз. Ол шақыруды өз бетінше орындай алмайды.

Shell құралы — сызбасы бар «жай ғана тағы бір құрал»

Shell құралы модельді айтарлықтай қуатты етеді: ол пәрмен жолы арқылы компьютермен әрекеттесіп, мәтін іздеуден бастап компьютеріңізден API сұрауларын жіберуге дейінгі кең ауқымды тапсырмаларды орындайды. Бізге таныс Unix құралдарының негізінде құрылған shell құралымыз grep, curl және awk сияқты утилиталармен қораптан шыққан бойда сіз күтетіннің бәрін істей алады.

Тек Python орындайтын бұрыннан бар код интерпретаторымызбен салыстырғанда, shell құралы Go немесе Java бағдарламаларын іске қосу не NodeJS серверін бастау сияқты әлдеқайда кең қолдану жағдайларын мүмкін етеді. Бұл икемділік модельге күрделі агенттік тапсырмаларды орындауға мүмкіндік береді.

Агент циклін үйлестіру

Модель өздігінен тек shell пәрмендерін ғана ұсына алады, бірақ бұл пәрмендер қалай орындалады? Тапсырма аяқталғанша, модель шығысын алу, құралдарды шақыру және құрал жауабын цикл арқылы модельге қайта беру үшін бізге оркестратор керек.

Responses API — әзірлеушілердің OpenAI модельдерімен әрекеттесу жолы. Теңшелетін құралдармен бірге пайдаланылғанда, Responses API басқаруды қайтадан клиентке береді, ал клиентке құралдарды іске қосу үшін өз harness-і қажет болады. Дегенмен бұл API модель мен хостталатын құралдар арасында дайын күйінде де үйлестіре алады. 

Responses API көмексөзді алған кезде, ол модель контекстін жинайды: пайдаланушы көмексөзі, алдыңғы әңгіме күйі және құрал нұсқаулары. Shell орындауы жұмыс істеуі үшін көмексөзде shell құралын пайдалану аталу керек және таңдалған модель shell пәрмендерін ұсынуға үйретілген болуы керек — GPT‑5.2 және одан кейінгі модельдер осыған үйретілген. Осы контексттің бәрімен модель келесі әрекетті шешеді. Егер ол shell орындауын таңдаса, Responses API қызметіне бір немесе бірнеше shell пәрменін қайтарады. API қызметі сол пәрмендерді контейнер орындалу ортасына жібереді, shell шығысын ағынмен қайтарады және оны келесі сұраудың контекстінде модельге береді. Содан кейін модель нәтижелерді қарап, қосымша пәрмендер бере алады немесе соңғы жауап шығара алады. Модель қосымша shell пәрмендерінсіз аяқталған жауап қайтарғанша Responses API бұл циклді қайталайды.

Агент циклі сызбасы: Responses API контейнерде модель мен shell орындалуын үйлестіреді

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

Shell пәрменін орындау шығысын ағынмен беру

Responses API shell пәрменінің шығысын ағынмен береді

Модель бір қадамда бірнеше shell пәрменін ұсына алады, ал Responses API оларды бөлек контейнер сессияларын пайдаланып қатар орындай алады. Әр сессия шығысты тәуелсіз ағынмен береді, ал API сол ағындарды контекст ретіндегі құрылымдалған құрал шығыстарына мультиплекстейді. Басқаша айтқанда, агент циклі файлдарды іздеу, деректерді алу және аралық нәтижелерді тексеру сияқты жұмыстарды параллель орындай алады.

Responses API пәрмен орындау сессияларын мультиплекстейді

Пәрмен файл операцияларын немесе деректерді өңдеуді қамтығанда, shell шығысы өте үлкен болып, пайдалы сигнал қоспай-ақ контекст бюджетін жұмсауы мүмкін. Мұны бақылау үшін модель әр пәрменге шығыс шегін көрсетеді. Responses API сол шекті орындайды және түсіп қалған мазмұнды белгілей отырып, шығыстың басы мен соңын сақтайтын шектелген нәтиже қайтарады. Мысалы, шығысты 1 000 таңбамен шектеуге болады, басы мен соңы сақталады:

басындағы мәтін ... 1000 таңба қысқартылды ... соңындағы мәтін

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

Контекст терезесі толғанда: ықшамдау

Агент циклдеріндегі ықтимал мәселелердің бірі — тапсырмалар ұзақ уақыт орындалуы мүмкін. Ұзақ жұмыс істейтін тапсырмалар айналымдар арасында және агенттер арасында контекст беруде маңызды болатын контекст терезесін толтырады. Агент дағдыны шақырып, жауап алып, құрал шақырулары мен ой қорыту түйіндерін қосып жатқанын елестетіңіз — шектеулі контекст терезесі тез толады. Агент жұмысын жалғастырған кезде маңызды контексті жоғалтпау үшін негізгі бөлшектерді сақтап, артық дүниені алып тастайтын әдіс керек. Әзірлеушілерден теңшелетін түйіндеу немесе күйді тасымалдау жүйелерін жобалап, қолдауды талап етудің орнына, біз Responses API-ге модельдің қалай әрекет ететініне және қалай үйретілгеніне сәйкестендіріліп жасалған жергілікті ықшамдауды қостық.

Біздің ең жаңа модельдеріміз алдыңғы әңгіме күйін талдап, негізгі алдыңғы күйді шифрланған, токен тұрғысынан тиімді түрде сақтайтын ықшамдау элементін жасауға үйретілген. Ықшамдаудан кейін келесі контекст терезесі осы ықшамдау элементінен және алдыңғы терезенің жоғары құнды бөліктерінен тұрады. Бұл жұмыс ағындарының терезе шекаралары арқылы, тіпті ұзаққа созылған көпқадамды әрі құралға сүйенген сессияларда да, үйлесімді жалғасуына мүмкіндік береді. Codex ұзаққа созылатын кодтау тапсырмаларын және итеративті құрал орындауын сапаны төмендетпей ұстау үшін осы механизмге сүйенеді.

Ықшамдау не серверде кіріктірілген түрде, не бөлек `/compact` соңғы нүктесі арқылы қолжетімді. Серверлік ықшамдау шек мәнін баптауға мүмкіндік береді, ал жүйе ықшамдау уақытын автоматты түрде басқарып, күрделі клиенттік логиканың қажетсіздігін жояды. Ол ықшамдауға дейінгі шамалы асуларға төзе алу үшін кіріс контекст терезесінің аздап үлкенірек тиімді көлемін береді, сондықтан шекке жақын сұраулар қабылданбай қалмай, өңделіп, ықшамдала алады. Модель үйретуі дамыған сайын, жергілікті ықшамдау шешімі де әр OpenAI модель шығарылымымен бірге дамиды.

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

Контейнер контексті

Енді күй мен ресурстарды қарастырайық. Контейнер тек пәрмендерді орындау орны ғана емес, сонымен қатар модельдің жұмыс контексті. Контейнер ішінде модель файлдарды оқи алады, дерекқорларға сұрау жібере алады және желі саясаты басқарулары аясында сыртқы жүйелерге қол жеткізе алады.

Орындалу контейнерінің ішін көрсететін сызба: файлдар, дерекқорлар, дағдылар және саясатпен басқарылатын желі

Файлдық жүйелер

Контейнер контекстінің бірінші бөлігі — ресурстарды жүктеу, ұйымдастыру және басқаруға арналған файлдық жүйе. Біз модельге қолжетімді деректер картасын беру және оған кең әрі шулы сканерлеулердің орнына нысаналы файл операцияларын таңдауға көмектесу үшін контейнер және файл(жаңа терезеде ашылады) API-лерін құрдық.

Кең таралған антиүлгі — барлық кірісті тікелей көмексөз контекстіне тығу. Кірістер ұлғайған сайын, көмексөзді шамадан тыс толтыру қымбатқа түседі және модельге оны шарлау қиын болады. Одан жақсы үлгі — ресурстарды контейнер файлдық жүйесінде кезеңдеп орналастыру және модельге shell пәрмендері арқылы нені ашу, талдау немесе түрлендіру керегін шешуге мүмкіндік беру. Адамдар сияқты, модельдер де ұйымдасқан ақпаратпен жақсырақ жұмыс істейді.

Дерекқорлар

Контейнер контекстінің екінші бөлігі — дерекқорлар. Көп жағдайда біз әзірлеушілерге құрылымдалған деректерді SQLite сияқты дерекқорларда сақтап, соларға сұрау жіберуді ұсынамыз. Мысалы, бүкіл электрондық кестені көмексөзге көшірудің орнына, модельге кестелердің сипаттамасын — қандай бағандар бар екенін және олардың нені білдіретінін — беріп, оған өзіне керекті жолдарды ғана алуға мүмкіндік бере аласыз.

Мысалы, егер сіз «Осы тоқсанда қай өнімдердің сатылымы төмендеді?» деп сұрасаңыз, модель бүкіл электрондық кестені сканерлеудің орнына тек маңызды жолдарға ғана сұрау жібере алады. Бұл жылдамырақ, арзанырақ және үлкенірек деректер жиындарына жақсырақ ауқымдалады.

Желіге қолжеткізу 

Контейнер контекстінің үшінші бөлігі — агент жүктемелерінің маңызды бөлігі болып табылатын желіге қолжеткізу. Агент жұмыс ағынына тірі деректерді алу, сыртқы API-лерді шақыру немесе пакеттерді орнату қажет болуы мүмкін. Сонымен қатар контейнерлерге шектеусіз интернет қолжеткізуін беру қауіпті болуы мүмкін: ол ақпаратты сыртқы веб-сайттарға шығарып жіберуі, сезімтал ішкі немесе үшінші тарап жүйелеріне байқаусызда тиюі немесе тіркелгі деректерінің ағып кетуі мен деректердің сыртқа шығарылуынан қорғануды қиындатуы мүмкін.

Бұл алаңдаушылықтарды агенттердің пайдалығын шектемей шешу үшін біз хостталатын контейнерлерді sidecar egress proxy пайдаланатындай етіп құрдық. Барлық шығыс желілік сұраулар allowlist-тер мен қатынау басқаруын орындайтын, сонымен бірге трафиктің бақылануын сақтайтын орталықтандырылған саясат қабаты арқылы өтеді. Тіркелгі деректері үшін біз egress кезінде домен ауқымындағы secret injection қолданамыз. Модель мен контейнер тек толтырғыштарды көреді, ал құпияның нақты мәндері модель көре алатын контекстен тыс қалады және тек мақұлданған мақсаттар үшін ғана қолданылады. Бұл ағып кету қаупін азайтады әрі аутентификацияланған сыртқы шақыруларға мүмкіндік береді.

Қатынау egress proxy арқылы басқарылатын желіге қолжеткізу сызбасы: контейнерді орнату

Агент дағдылары

Shell пәрмендері қуатты, бірақ көптеген тапсырмалар бірдей көпқадамды үлгілерді қайталайды. Агенттер әр іске қосылған сайын жұмыс ағынын қайтадан табуға мәжбүр болады — қайта жоспарлайды, пәрмендерді қайта жібереді және шарттылықтарды қайта үйренеді — соның салдарынан нәтижелер біркелкі болмайды және орындалу босқа кетеді. Agent skills(жаңа терезеде ашылады) осы үлгілерді қайта пайдаланылатын, құрастырмалы құрылыс блоктарына айналдырады. Нақтырақ айтқанда, дағды — бұл ‘SKILL.md(жаңа терезеде ашылады)’ файлы (онда метадеректер мен нұсқаулар бар) және API сипаттамалары мен UI активтері сияқты кез келген қолдаушы ресурстар кіретін бума қалта.

Бұл құрылым біз бұрын сипаттаған орындалу архитектурасына табиғи түрде сәйкес келеді. Контейнер тұрақты файлдар мен орындалу контекстін береді, ал shell құралы орындау интерфейсін береді. Екеуі де бар кезде модель қажет болған сәтте shell пәрмендері (`ls`, `cat` және т.б.) арқылы дағды файлдарын тауып, нұсқауларды түсіндіріп және дағды сценарийлерін сол бір агент циклі ішінде орындай алады.

Біз OpenAI платформасында дағдыларды басқаруға арналған API-лер(жаңа терезеде ашылады) ұсынамыз. Әзірлеушілер дағды қалталарын нұсқаланған бумалар ретінде жүктеп, сақтайды; кейін оларды дағды идентификаторы арқылы алуға болады. Модельге көмексөз жіберер алдында Responses API дағдыны жүктейді де, оны модель контекстіне қосады. Бұл реттілік детерминді:

  1. Атауы мен сипаттамасын қоса, дағды метадеректерін алыңыз.
  2. Дағды бумасын алыңыз, оны контейнерге көшіріңіз және ашыңыз.
  3. Модель контекстін дағды метадеректерімен және контейнер жолымен жаңартыңыз.

Дағдының қатыстылығын шешкенде, модель оның нұсқауларын біртіндеп зерттеп, сценарийлерін контейнердегі shell пәрмендері арқылы орындайды.

Дағды жүктеу конвейері сызбасы: registry, bundle, runtime

Агенттер қалай жасалады

Барлық бөліктерді біріктірсек: Responses API үйлестіруді береді, shell tool орындалатын әрекеттерді береді, hosted container тұрақты орындалу контекстін береді, skills қайта пайдаланылатын жұмыс ағыны логикасын қабат ретінде қосады, ал compaction агентке қажет контекстпен ұзақ уақыт жұмыс істеуге мүмкіндік береді.

Осы примитивтердің көмегімен бір көмексөз толық жұмыс ағынына айнала алады: дұрыс дағдыны табу, деректерді алу, оны жергілікті құрылымдалған күйге түрлендіру, оны тиімді сұрау және тұрақты артефактілер жасау. 

Төмендегі сызба бұл жүйенің тірі деректерден электрондық кесте жасау үшін қалай жұмыс істейтінін көрсетеді.

Сұрау өмірлік циклі сызбасы: бір көмексөзден тұрақты артефактілерге дейін, дағдыны табу

Responses API агенттік тапсырманы үйлестіреді

Өз агентіңізді жасаңыз

Shell құралы мен компьютерлік ортаны ұшынан-ұшына дейінгі жұмыс ағындары үшін біріктірудің терең мысалын көру үшін дағдыны қаптап, оны Responses API арқылы орындауды түсіндіретін біздің әзірлеушілер блогындағы жазбаны(жаңа терезеде ашылады) және cookbook(жаңа терезеде ашылады)-ты қараңыз.

Әзірлеушілердің осы примитивтер жиынтығымен не құратынын көруге қуаныштымыз. Тілдік модельдер тек мәтін, сурет және аудио жасаумен шектелмеуі керек — біз платформамызды ауқымды түрде күрделі, нақты әлемдегі тапсырмаларды өңдеуде анағұрлым қабілетті ету үшін дамытуды жалғастырамыз.

Автор

Bo Xu, Danny Zhang, Rohit Arunachalam