Галоўная / Артыкулы

Managed Agents API ад OpenAI: хмарныя пясочніцы супраць уласнага выканання

Як працуе абвязка кіраваных агентаў OpenAI у публічнай беце: хмарныя Linux-асяроддзі, уласныя серверы выканання, сцісканне кантэксту, пошук інструментаў і субагенты.

Выдавец: REACTAPP.TOP8 хв чытання1923 слоў

Крыніцы: Inside OpenAI’s New Agents API: Hosted Sandboxes, Self-Hosting, and the Codex Harness Behind Them

Аспекты працы, якія выкананы раней, чым запускаецца агент

Кожны, хто стварыў автонамны агент, ведае, як веліка частка работы не мае нічынага з фактычным завадам агента. Перш чым перайсці да значамой логікі, камандзе неабходна напісаць цыкл выканання, зберагчы стан размовы, выбраць, які інструмент будзе выкананы далей, вярнуцца пасля неудач, скомпактаваць кантэкст у меру зростання сесій, а таксама забезпечыць безпечнае месца для запуску коду і рэберыкання файлаў. Ляч тады прыходзіць час заўсёды главнаму заваду.

Сэрвіс кераваных агентаў OpenAI, які зараз знаходзіцца ў публічнай бета-версіі, прагне зняць большую частку гэтага тыга. Распрацоўшчыкі не муцяць дадаць ўштое канцэнтры модэлю да фрэймворку оркестрацыі. У іх ёсць кераваны рантайм для агентаў. Чатыры элементы опісваюць усю працу: завада, модэль, інструменты і асяроддзе, у якой выканана работа. Платформа потым берае на сябе вялікую частку апаратуры, неабходнай для ўжыцця ў працу.

Апаратная частка, якая знаходзіцца пад спадом, заслуговае на увагу. OpenAI ператварае інфраструктуру, якая выкорыстоўваецца для свага кодавальнага агента Codex, у інфраструктуру для сторонніх розробнікаў. Гэта не проста тонкі шар над API для чату або дапрацоўкі тэксту: у яй знаходзіцца механізм керавання, які спрыяе віконанню агентам адпаведных крокаў, вяршыць выбір інструментаў, керуе растучым сеансам і здзейснюе выканання задач, а таксама можа сінхронна коордынаваць дзеяння іншых агентаў у рашэнні паводзаків.

У рэзультаце ціўкі для старта праекта змішчаецца. Командам больш не трэба на ранніх этапах праекта перабудаваць механізмы, якія дазволяюць агентам працаваць, і яны можаць прыступіць да рэальнай рэалізацыі прыкладнага рашэння ўжо на болей пазнім этапе. Тое, што дазволяе агенту выконваць дзеяння, дзіяць, вярнуцца да нормальнага стану і коордынаваць дзеяння іншых, стае адмініструванай можлівасцю.

Што включае адмініструваная інфраструктура

Мета гэтага выласку — тое, што большасць трэбаванняў да надзеяных агентаў ёсць спаканыя, а не спецыфічныя для конкрэтнага продукту. Незалежна ад бізнесовага прыблыку, агенту патрэбныя запісы пра тое, што адбылася пад час сесіі, спосаб прыяўлення наступнага крока да правага інструмента, метод скорачэння размовы, якая перасіліла межы вікна кантэксту, а таксама спосаб разбівання вялікай працы на незалежныя часткі. Гэтыя проблемы ў большай частцы ужо рашаныя, і кожная компанія, якая зноў рашае іх у своем кодзе, марнуе час, які належыць самам продукту.

Централізаванне размешчэнне такой логікі ў аднам кераваным інструментарыі дае распрацоўшчыкам аснову для дальнейшай працы замест таго, каб яны самі ўсё стваралі з нуля. Гэты інструментарый керуе цыклам мадэлі: кантэкст направляецца да мадэлі, прыходзіць рашэнне, якое выконваецца, а рэзультат вяртаецца як новы вхідны даны. Ён зберагае стан сесіі, каб дліткі задачы не втрачалі пярэдніх працэў. Калі сесія набліжаецца да максімальнай ўместнасці мадэлі, ён сам скаручвае кантэкст. Кроме таго, ён выбірае, якія ваказанні інструментаў ёсць актуальнымі зараз, захоўваючы мадэль ад нерэлевантных опцый.

Выбір месца работы агента

Пасля таго, як задача, мадэль і інструменты з’явіліся, застаецца ўсьмо ўсё ж адна рашэнне: дзе будзе выканана праца? Сервіс пропануе справжні выбор, і справа ў компрэсах між гэткімі двума падходамі мае больш значэння, чым практычна ўсё інша ў працэсе налаштавання.

Рабочая зона на хосты

У першым варыянце OpenAI стварае цэлую рабочую суперфісу Linux на кожную сесію і запускае яе. Python, Node.js і падзейныя інструменты командной лініі ўжо ўстановлены, што дае агенту месца для выканання коду, работы з файламі і стварэння рэзультатаў, пры чым распрацоўшчык ніколі не мусіць кераваць віртуальным апаратам, зображэннем кантэйнера чыў працэсам развяртвання. Рэзультаты завершаных заданняў можна пераканваты ў незменныя артыфакты, што ўжоць практычна для команд, якія хочуць стойкі, незменны фікс рэгулярна выкананых заданняў.

Паколькі OpenAI адмініструецькі задачы з падбору рэсурсаў і цыкл жыцця сандбокса, начынна з стварэння і да зняцья, гэты падход падходзіць для шырокага развяртання. Команда, якая хочаць, каб агент быў запусцаны якомога быстрэй, без дзён на затверджэння внутрашней інфраструктуры чыму-небудзь аб скрыптаванні развяртання, можа значна зарабіць, выкорыстоўваючы вычысловыя магчымасці OpenAI. Гэты падход таксама падходзіць для эластычных навантажэнняў, калі колькасць запускаў агента можа неспадзевана зростаць, і команда не хоча сама ствараць логіку масштабавання. Для выбору гэтага падходу трэба толькі невялікі блок з іменам сераўніка, дзе указваецца тып хоставання, і каталог для файлаў з можлівасцямі.

"environment": {
  "type": "openai_hosted",
  "capability_directories": ["/workspace/capabilities/skills"]
}

Выконанне на власнай інфраструктурэ

Другі варыянт залучае выкананне на інфраструктурэ, якая належыць распрацоўшчыку — будзь то кантэйнер, віртуальная машына або удалённая сандбокс-сервіса ад сторонньего прадаўца. У гэтым сераўе знаходзіцца компонент пад назвай сервер выканання, які падключаецца да OpenAI праз WebSocket. Каманды надходзяць з кераванага інструментарыя праз гэтыя з’ѐеднанні, а сервер выканання выпрацоўвае операцыі ў шэлі і ведае взаімадзею па протаколе Model Context Protocol на машыне распрацоўшчыка, перш чым адправіць рэзультаты назад.

Адзін важлівы момент з безпекі — з’ѐеднанне вікорыстоўвае спецыяльны, обмежаны ключ, створаны для гэтай мэты, таму загальны ключ API на рэвэле прыкладнення ніколі не патрапляе ў сераў выканання. Калі інфраструктура будзе скомпрометавана, зловмешчык знайдзе толькі крэдытныя даны з меншым дыяпазонам прав, чым ключ прыкладнення.

Самастаўленне дае командзе значна большыя правыя на выбір таго, якія вычысловы рэсурсы вікорыстоўваць, як падключацца да прыватных сетэй і дзе знаходзяцца даны. Арганізацыі, якія падлягаюць рэгуляванню, а таксама каманды, чыяе працоўнае скарыданне павінна падключацца да внутрашніх сістэм, якія недоступны па загальнадоступнай інтэрнэт-сеткі, зазвычай патрабуюць гэтага. Аднак кантроль прыносіць додатковыя обавязкі: каманда адпавядае за ізоляцыю і апдэты безпекі для асяроддзя, масштабаванне пад навантажэнням, монітарынг і чыстка пасля завершэння сесій. Калі оркестрацыя керуецца ў іншым месцы, усё гэта застаецца недастрыжаным.

Што застаецца у OpenAI ў будзь-якім случае

Існуе спадчына прыпускаць, што самастаячая екзекуцыя значыць, што агент працуе выключна на тэрыторыі компаніі, апынуўшыся адсутным для OpenAI пасля першага вызову модэлю. Гэта некалькі. Нават у самастаячым рэжыме OpenAI продовжае запускаваць інструментарый комплект і логіку керавання модэлем, якая вяршыць выбір таго, што будзе робіць агент на кожным кроцы. Толькі шар екзекуцыі пераходзіць пад кераванне, тое ўсё, што стосуецца самых команд, апрацоўкі файлоў і вычысленняў. Логіка аналізу, керавання сесіямі і коордынацыя застаюцца на стороне OpenAI, незалежна ад таго, якую срэду выберае команда.

Дзягучыя сесіі і большыя каталогі інструментаў

Будзь-які агент, які выходзіць за межы простых задач, быстра сталкаецца з двума проблемамі. Адна з іх — сесіі, якія пераплнююць кантэкстны апвент модэлю. Другая — каталогі інструментаў настолькі большыя, што адправка кожнай з іх вакол кожнага запіту спалюе токены і спамцуе працу модэлю. Управляемы інструментарый комплект рашае обеі проблемы.

Для дзейнаў праўільнае часу ён аўтаматычна складвае пакананы кантэкст, калі размова набліжаецца да сваёй межы, залічываючы тое, што агенту яшчэ патрэбна, і адкідаючы тое, што стала нерэлевантным. Такі спосаб дзеяння дазволяе працаваць з значна большым об’ёмам мацерыяла, чым можа адна вікна кантэксту, без неабяжнай рукапіснай стварэнняі кантакту чы логікі скорачэння.

Для работы, якая выкалікае велікі выкарыстоўванне інструментаў, функцыя пад назвай пошук інструментаў прыносіць толькі тыя вызначэнні, якія паслужаюць для тэкушчага крока, чым зменшаецца выкарыстоўванне токенаў і вітраты, а таксама дапамагае захаваць кэш модэлю цэлым. Пасля таго, як запрашаныя інструменты завантажыліся, існуе дадатковая можлівасць для програмнага вызывання інструментаў. Агент можа запускаць калькі вызываў паралельна, складаць супаўзяменыя операцыі і фільтруваць чы з’едынаць рэзультаты ў кодзе, так што толькі корыстны часткі потрапляе ў кантэкст модэлю. Для вялікіх об’ёмаў дадзеных гэта ёсць вялікой перавагай, адколькі агенту не трэба сканаваць кожны неапрануты рэзультат, каб знайсці калькі актуальных фактов.

У настройках пераказаны інструменты ў блоке агента, укладаючы пункт пра сервер MCP.

"agent": {
  "tools": [
    {
      "type": "mcp",
      "server_label": "internal_docs",
      "transport": {
        "type": "http",
        "server_url": "https://docs.example.com/mcp"
      }
    }
  ]
}

Калькі агентаў для аднаго задачы

Мабыць, найсілейшая можлівасць — гэта вбудованая падтрымка калькі агентаў, якія працуюць над аднам задачэм паралельна. У замест на тое, каб адзін агент поштоўна рашаў складную проблему па кроках, распрацоўшчык можа увялічыць падтрымку калькі агентаў і дазволіць сістэме разбіць задачэ на незалежныя часткі. Кожная частка пераходзіць да падагента, які мае свой саюзны кантэкст.

Кожны падагент сфокусаваны на вузкай задачы і не прабуе рашыць усе задачэ адразу, тады як коордынуючы галоўны агент сочыць за працэсам і з’едынае рэзультаты ў фінальную адпаведзь. Для даследжэнняў, аналізу вялікага масштабу або кодавання, якое дзеліцца на незалежныя часткі, такая структура можа значна скорачыць час выканання, і нікому не трэба праектаваць і ствараць шар кіравання для калькі агентаў.

Ёй можна ўвялічыць за дапамогою флага ў настройках агента, разам з выборам модэлю.

"agent": {
  "model": "gpt-6-astra",
  "multi_agent": {
    "enabled": true,
    "max_concurrent_subagents": 3
  }
}

Калькі якій камандзе падходзяць

Два спосабы выканання чыста падходзяць да двух набораў прыорытэтаў. Каманды, якія ставяць прыорытэт на шырочыню і не хочуць думаць пра вычыслювальныя магчымасці, выкарыстоўваюць кераваныя сэндбоксы. Тыя, хто перакананы ў новай ідэі агента або хочаць запускнуць праект без спораў пра бюджэты інфраструктуры, верагодна раней выберуць варыянт з хоставанням і затрачуць менш часу на інжынерную працу.

Самастойнае хоставанне становіць больш сэнсу, калі трэбаванні перастаюць падлягаць задоволенню за дапамогою спільнага, універсальнага сэндбокса. До прыкладаў належаць прыватныя сеткі, да якіх агент павінен дасягнуць, індывідуальныя образы апаратаў з прыналежнымі інструментамі, спецыялізаваныя вычыслювальныя рэшткі, такія як певныя конфігурацыі GPU, а таксама рэгулюючыяся межы дадзеных, якія не дазволяюць інфармацыі выйсці за межы пярэдзела ўлады чы сеткі. У такіх случаях дадатковая аперацыйная адпаведнасць — гэта проста цена правільнага выканання задачы.

Калі лепш чакаць

Не кожная команда павінна спешыць застосоўваць гэты варыянт. Калі існуючы цыкл, адаснованы на SDK, працуе надзеямо, адмаўляецца належна пад час праказаў і не стварае большых проблем для яго адпаведальных, можа не быць значных прычын для міграцыі. Замена працуючай сістэмы проста таму, што існуе кераваная альтэрнатыва, часта прыносіць большы рызык, чым практычная карысць.

Сітуацыя змініцца, калі стан сесіі, адмаўленне праказаў і логіка вяснавання адказоў стануць вялікім трыбам для рэсурсаў. Перадача гэтых задач кераванай службе, якая ужо іх обрабоцвае і становіцца крашчай з кожным выласцем новай версіі, вызвалівае значны прыток рэсурсаў для працы, якая насправдзе робіць продукт унікальным.

Справядліва правіла: перадайце тое, кантролю якога вам не трэба, а за тым, ад чым залежыць бізнес, трэба старацца. Гэта особліва важна для топалогіі развёртвання, апрацоўкі чутлівых дадзэйнаў і точнага, прыгадвальнага паведання агента у працэйнай асяроддзі. Інфраструктуру, якой ніхто з команды не хоча адпавядаць, трэба перадаць іншым. Паведання, якое вялічы надзеямоўнасць продукту чыю-небудзь падтрымку ў сувяршэнні правілаў, таксама не трэба перадаваць.

Адкрытыя асновы

Адзін з фактароў, які надаюць цій версіі доверы, — гэта тое, што ёна створана на адкрытым кодзе. OpenAI керуе і падтрымвае версію для працы ў рамках кераванага сервіса, а код, які лежыць у ўсіх аспектах пад ёю, застаецца доступным для публічнага аналізу. Кожны, хто цікавіцца тым, як функціонуюць ціклы мадэлі, выбір інструментаў і коордынацыя падагентаў, можа прачытаць логіку ўсьго гэтага і не чытаць дакументацыю. Такая відкрытасць выравнаважвае іншы, болей закрыты характэр абсалютна кераванага хмарнага сервіса і дапамагае командам паверыць у тое, што адпавядае за ўтрыманне ўсіх ўпрацоўваных нябаў.

Цены і статус бета-версіі

Абяцковы прыемнікі адкрытыя для всіх разрабоў, без дадатковых платэжаў за абслугоўванне за звычайнае выкарыстанне. Аблікаванні вылічваюцца на адной стацыі інтэрнэту і за інструменты, якія яна выкарыстоўвае, па стандартным цэнах, якія вялікія модэлі вялікія ўжо заданыя. Паколькі адзывы разрабоў будуць продаваць формаваць абслугоўванне на шляху да ўсеўсюднага доступу, тыя, хто ўжо выкарыстоўвае іх, должны планаваць змены ў працэсах, стандартных настройках і функцыях у наступныя месцы.

API для керавання агентамі, створаныя на апаратнай базе, якая вялікія ужо служыць для Codex, паказвае рэальную змену ў колькасці інфраструктуры, якую каманда должна стварыць, перш чым автонамны агент зможа выконваць корыстную работу. Прадаючы абсалютна хоставаную срэду і можлівасць самастоятэльнага хоставання, якая все ж такі апрацоўваецца централізавана, OpenAI дазволяе разрабам выбраць варыянт, які падходзіць іх сітуацыі, і не прымушвае всіх выкарыстоўваць аднаковы модэль размішчэння.

Запрос даўжэння адхоўвання сводзіцца да пытання, якое паслужыць для будзь-якага новага шара інфраструктуры: чы роўна ён пазбавляе нас работы, якую ніхто не хацеў віканаць, і чы ён дапамагае командзе застацца пад контролем над тым, што візначае продукт?