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

Выкананне ў браўзеры для AI-агентаў: Playwright, MCP і бяспечны выканаўца

Выкананне ў браўзеры для AI-агентаў: браўзер як асяроддзе выканання побач з MCP і code mode, Playwright пад капотам, абарона праз профілі, абмежаванні даменаў і палітыкі.

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

Крыніцы: Why Browser Execution Is Becoming the Missing Capability in Agent Architecture?

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

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

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

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

Інтэрфейс, які забываецца

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

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

Не так. Чырвоныя засобы існуюць толькі за экранамі: внутрашнія панелі адміністрацыі, старыя порталы постаўчыкаў, панелі звярненняў, сістэмы партнероў, борты вакансый, продукты аналітыкі, сторанкі налашоўкі SaaS, або прыстрымы, якія запошчаюць рэальныя даны толькі пасля настаўлення калькіляў фільтраў. Даны можуць быць публічнымі, а корыстны стан ствараецца за дапамогою JavaScript. Чалавек сцанавляе задачу простай, пры тым жаданага API няма дакументацыі. Інодзе існуе внутрашні API, але ён прыватны, нестабільны або навмесна не падтрымваны.

Гэтае і ёсць рэальны случай выкарыстоўвання: не даваць AI перазіраць інтэрнэт у абстракцыі, а выкарыстоўваць браузер як альтэрнатыўны інтэрфейс, калі сама прыстрыма ёсць часткай задачы.

Чаму MCP яшчэ не пакрывае гэта

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

Цэль можа не выклікваць нічога структураванага. Любы элемент, які знаходзіцца за MCP, можа быць прыгледач, сандбокс, двігун рабочага прабегу або ўсё іншае. Проблемы пачынаюцца, калі у прыкладнаму програме няма публічнага API, SDK, інтэграціі з базай знакоў або падтрымванага програмнага спосабу адкрыцця неабходных функцый. MCP все ж можа выдаваць інструмент пад назвай browser_execute, але ўсё, што знаходзіцца за ям, должна кераваць сістэмай, і гэта якраз ёсць выконанне у прыгледачы. Яны не ўзаемныя конкурэнты: MCP можа быць пратакам, які адкрывае можлівасці прыгледача, а прыгледач — спосабом, якім прыкладная програма, назначаная для людзей, можа функцыонаваць, калі няма нічога лепшага.

Автанацыя можа быць прыязаная да браузера. MCP мае сае модэль автарызацыі, уключаючы практыкі OAuth, алі яя паводліва толькі для перадачы дадзеных межа кліентам MCP і серверам MCP. Яна не вплывае на правілы заходу ў сістэму, якія неабходны для працы самога інструмента. Большасць внутрашніх порталоў, дапытак прымоўчыкаў і старэйшых продуктав SaaS дазваляюць доступ толькі праз інтэрактыўны працэс у браузеры з вікорыстаннем SSO, MFA, кукі сесіі або іншых дадзеных, створаных пад час заходу чалавека, пры чым не існуе ні службовых крэдытантав, ні дэлегаваных токенаў. Інструмент MCP все ж можа адкрываць такую можлівасць, калі за яго спінам стоіць автанаваны профіль браузера. Пользоватэль заходзіць у сістэму праз браузер, стан сесіі зберагаецца пад контрольваным доступам, а пазней ён выконвае дзеянні пад гэтым ідэнтыфікатарам. Мерыя — гэта модэль автанацыі цэльвога дапытка, а не MCP.

Дзеянніяцькія задачы частаць канфлуэксы інтэрфейсу, а не адзіныя запыткі. Рассмотрзіце прыклад: "Выбраць рынак Рэтэйл, Еўропу і перыяд апошніх 90 дзён, а потым вылічыць сярэднія паказнікі пераканання па краінах." Для гэтага можа знадобіцца серыя фільтраў, крок адрасавання дадзеных і выяўленне рэзультатаў, пры чым няма канцэнтраўскага пункту, які бы безпасебна вярнуў адпаведны адказ. Браузер можа кераваць інтэрфейсам і чытаць тое, што стварае прыкладнэц.

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

Пошук — гэта не перэглед

У багатых структурах агентаў пошук у інтэрнэтэ, запыткі HTTP, автаматызацыя браузера і выкарыстоўванне камп’ютара часта аб’еднваюцца ў адну нечыстую "веб-" навык, хоця яны ўсе ўжо разныя інструменты.

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

Цяпер уявіце іншы запіт: адчыніце публічную панель керування, выберыце Украіну, задаце год 2026, выберыце варыянт Enterprise, працаваце з кожной катэгорыяй і вырахаваце сярэднюе для кожнага показніка. Пошуковый двухкласнік не можа адмахнуцца такой задачы, а звычны HTTP-запіт можа вернуць толькі порожнюю структуру стороніцы. Цікавыя даныя практычна з’яўляюцца пасля таго, як браузер запускае JavaScript, адправляе запыты з боку кліента, апдэйтуе стан прылады і адрасавае рэзультат.

Або на борцы вакансій: выберыце «AI Engineering», «Remote» і «Германія», а потым паскладзіце, сколькі вакансіяў у сваіх апісаннях згадваюць RAG. Гэта на самай справе не запіт на пошук. Гэта праблема інтэрфейсу, якая выконваецца праз выкарыстоўвання метода выкарыстоўвання дадзеных і вычысленняў. Самэ тут справжній браузер дае агенту ўсё новае — суперфіс для выканання задач у інтэрнэце з падтрымкай стану.

Браузер — гэта асяроддзе выканання

Кераваны браузер, такі як Amazon Bedrock AgentCore Browser, ёсць частынай інфраструктуры: адсакрэтная удалённая сесія браузера, якая можа быць кераваная програмавым спосабам. LLM не можа магічна спрацаваць з яйным. Вы самі задаеце правілы взаімадзеяння між агентам і сераўам.

AgentCore Browser адмініструе сесіі праз канцэнтр павтаматызацыі WebSocket, а бібліятэкі на кшталт Playwright можаць з’яўляцца ў зв’язку з даўнім Chromium праз пратакол Chrome DevTools. AWS додае аддзельныя дзеянні браузера на рэвэльнай ступені для абмену дадзеннямі, якія CDP не можа эфектыва адрабатваць. Браузер ёсць даўнім рантаймам, а не шарам інтэлігэнцыі. Якшча дывіцца так, інтэграцыя стае простэйшай: агенту патрэбныя програмаваныя можлівасці, і самэ тут выкананыя ў рантайме браузера.

Нехай агент пішаць код браузера

Браузер можа з’яўляцца ў зв’язку з агентам калькама способамі. Аднай з апцыяў ёсць інструмент высокага рэвэля, такі як browser_task(task="знайсці найновейшы рахунок"), у яком усерэдзінны агент, прызначаны для конкрэтнага браузера, чытае заданне, аналізуе сайт, выбірае, на шта нажыць, і аддае адпаведныя даныя. Гэта можа быць корыстна для незнайомых сайтаў, дзе трэба адкрываць праблематыку працы, але гэта не найкрашчы пачатковы пункт.

Калі галоўны мадэль ёсць здольным програмістам, болей чыстым пачатковым рашэннем будзе, каб ён стварыў програму браузера і перадаў яе Екзэкутару браузера. Дастатнека будзе падпіса у фармаце browser_execute(code, profile_id, allowed_domains):

browser_execute(
    code=generated_playwright_code,
    profile_id="vendor-portal-user-42",
    allowed_domains=["portal.example.com"]
)

Прымуўшы вызов, выканавальнік пераканаецца ў запытэ, пасля чаго стварае (או перадае ў паўторны выкарыстоў) ізольаваную сесію і прыўяжае Playwright да даўневай прыгледачкі. Ён выканае програму і вярнее структураваныя даны. Галоўны агент выканае своія дзеянні толькі аднае разы. Другі LLM, які перыяктуе той самы намер, мае сэнс толькі тады, калі задача сапраўды выклікае патробнае дакладнае аналізаванне. Для прагнозаванага панелі керавання, каталогу чы порталу гэта прыемней за вялікія агенты прыгледачкі з точкі зору цены і прыемнасці адзірвання.

Чаму падходзіць рэжым коду

Гэта мае наўжоўшы значэнне там, дзе ужо вікорыстоўваецца програмнае вызыванне інструментаў. Неэфектыўны патэрн лёгка адгледзець: модэль вызывае click, атрымвае рэзультат, вызывае screenshot, зноў аналізуе, вызывае type, атрымвае ўжо іншы рэзультат. Работа, яку звычны скрыпт мог бы арганізаваць за мілісекунды, ператвараецца на дзесяткі вызываў модэля.

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

page = await browser.page()
await page.goto("https://jobs.example.com")
await page.get_by_label("Category").select_option("AI Engineering")
await page.get_by_label("Location").select_option("Germany")
await page.get_by_label("Remote").check()
await page.get_by_role("button", name="Apply").click()
jobs = await page.locator(".job-card").all_inner_texts()

rag_jobs = [job for job in jobs if "RAG" in job.upper()]
return {
    "total_jobs": len(jobs),
    "jobs_mentioning_rag": len(rag_jobs)
}

Модэль пісае адзін праграму, екзэкутар выкананае дзесяткі або сотні дэтэрміністычных операцый з DOM, а агент отрымае маленькі JSON-об’ект заместо дужо дзьялогу з клікамі і скрыншотамі.

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

customers = await mcp.salesforce.search_accounts(segment="enterprise")

results = []
for customer in customers:
    await browser.goto(f"https://legacy.example.com/customer/{customer.id}")
    metric = await browser.locator("#health-score").inner_text()
    results.append({
        "customer": customer.name,
        "health_score": metric,
    })
return summarize(results)

Гэта не штучный інтэлект, які клацае па экране. Гэта програмна коордынацыя між машыннымі і людскімі інтэрфейсамі разам.

Функцыональны прыем

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

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

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

Автаматызацыя першая, выкарыстоўванне камп’ютара — другая

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

Існаванне камп’ютара базуецца на візуальных элементах. Мадэль спаглядае экран і выкананае дзеянні мышы або клавіатуры. Яна становіцца неабходной тады, калі DOM не можа надзеязнаць інтэрфейс: додаткі на canvas, вбудованыя дыялогавыя вікна, меню кантэксту, незвычныя працэсы ператасквання. AWS выступае аналогічна ў AgentCore Browser, дзе шлях автаматызаціі праз WebSocket будуецца на CDP, а API InvokeBrowser дае кантроль на рэжыме ОС для тых задач, якія CDP не можа выконаць. Таму спачатку выкорыстоўваюце структураваную автаматызацію, а толькі калі ёй не хапае — пераходзіце да візуальнага кантролю. Чым ніжэй агент знаходзіцца ў іерархіі, тым ён становіцца гнучкім, але кожна дзеянні становіцца дорожэй, болей залежным ад стану і рызыкавым.

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

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

Аўтэнтыфікацыя робіць гэта рэальной працай

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

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

Безпека мае большое значэнне, чым дэманстрацыя

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

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

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

Трэція проблема — гэта введэнне запроса. Калі агент чытае будзь-якія сторанкі, усё, што паказваецца, стае ненадзеяным вхідным дадзеннем. Тэкст у панелі керування, электранацыі, банеры або дакуменце можа выглядаць як команда агента. Выконаваць не павінен ніколі спрыяць тэксту на экране як падтверджэнню ад карыстальніка. У інструкціях OpenAI па вікорыстоўванні камп’ютара таксама сказана: трэба ставіцца да контэнту трэціх сторон як да ненадзеянага і запытаць пра падтверджэнне пры выкананні рызыкаваных дзеянняў, такіх як публікацыя, адправка, выдаленне, змена прав або пераказ грошаў. Гэта ўжо праблема політыкі выканання, а не толькі інжынерыі запросаў. Браузер можа спазірваць шырока, але ён павінен змянюваць сітуацыю толькі праз чыста выражаную політыку.

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

Як ён стоіць паляглы ў адносе да MCP, навыкаў і сэндбоксаў

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

Зберагачыце консерватыўны падход да маршрутацыі. Чы можа API выконаць задачу? Іспользуйце яго. Чы можа безпосерэдняе запрашанне выконаць задачу? Не ачынайце прыгледач. Чы трэба сам сайт аператыраваць, каб атрымаць рэзультат? Тады выконанне ў прыгледачы будзе правым рашэннем. Чы структураваная аўтаматызацыя не можа завершыць взаімадзею? Іспользованне камп’ютара — гэта апошняя альтэрнатыва.

MCP як кантракт

У практыцы галузі рэдкая час застаюцца адзінамі. Выконанне коду, выконанне ў браузеры і нават пошук інструментаў зазвычай адбываюцца праз сервер MCP. MCP — гэта не проста галузь API; гэта кантракт, праз які агент можа атрымаць будзь-якія можлівасці, чыя бы то ні было — гэта могае быць вызов REST, скрытый скрыпт чы ўдаляны Chromium.

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

Мобільна прыемлівасць — ўсё тое ж адна з прычын. Адзін сервер можа работаць за дапамою спецыяльнага агента або ж быць падключаным да Claude, ChatGPT чыя-небудзь іншага кліента, які падтрымлівае MCP, тады тыя ж можнасці можна працаваць пера прыязнай інтэрфейсе без дадзейшай інтэграціі.

Зберагаце выкананнік окрэма

З боку агента, прыглед з браузера можа выглядаць як частка рэжыма коду, таму што адны згенераваны скрыпт можа выкарыстоўваць browser.goto() і browser.locator() разам з кліентамі MCP, файламі і API для вычыслаў у ўзеўзеце логічнага часу выканання. Пры размешчэнні Browser Executor застаецца лепшым як окалічны компонент. Браузеры маюць свой сопны цыкл і рызыкі: сесіі, кукі, локальныя сховішчы, завантажаныя файлы, правілы сеткі, прафілі, якія ўвійшлі, стан стораніцы, запісы і парадоксальныя эфекты за межамі вашай сістэмы. Кодавы пісак мае на увазе CPU, памяць, файлы, пакеты і працэсы. Іх раздзелэнне дазволяе кожнаму часу выканання застосоўваць мадэль безпекі, якая яму падходзіць. Рэжым коду можа запростаць обмежаны кліент браузера, тады як экзэкутар керуе даўнейшай сесіяй, такім чынам мадэль программавання застаецца адна, а інфраструктура — роздзелена.

Пачніце нудзіць

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

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

Большыя змяны

Цікава частка не ў тым, што LLM можа нажыць на кантакт. Автаматызацыя прыгледача існуе вялікі час. Новае — гэта тое, што агент можа вырашыць, калі прыгледач ёсць правым інструментам, напісаць програму, якаім ён керуе, спаўніць рэзультат з вызовамі MCP і выкананнем коду, і продаваць далей, без таго, каб распрацоўшчык ствараў індывідуальную інтэграцыю для кожнага прыкладнага програма, назначанага для людзей.

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

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