Практычныя нарады: стварэнне безпечнага, нейтральнага па агентах хмарнага браузера
Практычныя нарады: стварэнне безпечнага, нейтральнага па агентах хмарнага браузера: контракты, перакантрольваннія та месцы для вставкі коду для команд, якія реалізуюць гэты патерн.
У гэтым карыце практычным напамінанні паказваецца шлях ад сыр'ёў да рабочай системы для стварэння безпечнага, нейтральнага да агента хмаровага прыгледчыка. Акцэнт ставіцца на крокі, якія можна выконваць, чыстае перакананне ў правільнасці дзействаў, а таксама на код, які можна проста дадаць у репазітарый без неабязковасці з'ясоўвання меты. У стадіі агульнага відгледу неабходна з'явіць вхідныя даны, адпаведальнага за крок і критэрыя завершэння пры перамены коду. Аперацыйныя працавнікі должны магчымае перадзвоніць крок з вядомай точкі контролю, не падозрюючы пра схованы стан. Конфігурацыю трэба залічыць паза кодам прыкладнення. Файлы сераўніка, сховішчы секрэтных даных і флагі функцый належаць у аднам месца, якое працавнікі можу аудытуваты, не чытаючы весь граф.
Продукт за адну фразу
Калі працуеце над стадзіяй «Продукт у адзінай часці», спачатку запісацеце кантракт: неабяжлівыя даны, сігнал успеху і тое, што выходзіць у разе частковага неяксамоства. Такі список пераконтролю дапамагае заліцьварыць пазнейшыя змены ў кодзе. Дакументаваць трэба як шлях успеху, так і шлях вяселення. Перапрыбуткі, людзкіе контралі і обработка некоректных паведамленняў ёсць часткай продукту, а не пазнейшым дапрацоўкам. Зробіце пераконтроль пасля дорогіх крокаў. Програма для продовжэння работы не должна зноў вырахоўваць плата за той самы вызов LLM, калі аператар перапрыбуе пазнейшы вузел.
User
|
v
AI agent or agent application
|
| HTTPS API or MCP
v
Cloud Browser gateway
|
v
Isolated browser worker
|
v
Website
Чаму звычная автаматызацыя прыгледача недастаткова
Калі працюеце над этапам «Прычыны звычайнай автаматызацыі браузера», спачатку запісайце умовы: неабяжлівыя даннэ, сигнал успеху і тое, што выходзіць пад частым неудачам. Такі список контроля дапамагае заліцвачыць змяны ў кодзе. Валіце маленькія, тэставаныя елементы замест большых скрыптов. Калі якісь крок не выйшоў, неудача должна вказваць на адну конкрэтную адпаведальнасць, а не на заплутаны ланцужок задач. Зрабіце перапактаванне пасля дорогіх крокаў. Програма не должна зноў платіць за той самы вызов LLM, калі аператар праканае выконанне наступнага элемента.
Основныя прынцыпы дизайна
Калі працюеце над стадзіяй Канальных прынцыпаў дазахоўкі, спачатку запісайце кантракт: неабходныя даны, сігнал успеху і тое, што выходзіць у разе частковага неяксамоства. Такі список пераканальвае ў тым, што пазнейшыя змены коду будуць чыстымі. Спрацоўвайце з гэтай стадзіяй як з кантрактом межу данымі і пераканальванымі выходамі. Дайце назву артыфактам, задацье правілы пераканальвання і адмовіцеся ад тыхоўскага частковага завершэння. Зробіце пераканальванне пасля дорогіх крокаў. Сервіс адновлення не должен зноў выкарыстоўваць той самы вызов LLM, калі аператар праканае пазнейшы вузел.
Зберагаеце модэль за межамі службы браузера
Калі працюеце над практыкай «Закольцаваць модэль занятым за межамі», спачатку запісайце угоду: неабяжлівыя даны, сігнал успеху і тое, што выходзіць пад частковыя неудачы. Такі список пераканае ў тым, што пазнейшыя змены коду будуць чыстымі. Запісвайце час выканання і кост токенаў або запытаў праза функцыйнае рэзультат. Відкрытыя даны пра косцы з’являюцца раніце, таму не будзе неспакою, калі працэс перайдзе з дамовай версіі ў спяльныя сераўы. Зберагачвайце стабільныя інструкцыі системы і схемы інструментаў. Перадзесланне ідэнтычных прамаўляючых частак — частая прычына некальканадзесятых витрацоў.
Вядзьме прыорітэт за семантычным вазначэнням, а візуальнае вазначэнне — як альтернатыва
Калі працуеце над праблемай «Прыярлівая семантычная взаімадзея з стэйджам», спачатку запісайце умовы викорыстоўвання: неабходныя даны, сігнал успеху і тое, што выходзіць на частым нявыпанні. Такі список дапамагае заліцвачыць змяны ў кодзе пазнейша. Зберагайце настройкі за межамі коду прыемліка. Файлы сераўнавання, хранільнікі секрэтных дадзеных і флагі функцый крануцца на аднам месцы, дзе аператары можаць аудытаваць іх без неабяжнага чытання всіх элементаў системы. Стварайце контрольныя пункты пасля дорогіх крокаў. Функцыя вярнення до роботы не должна зноў ставіць плату за той самы вызов LLM, калі аператар перапрыяўляе роботу да наступнага элемента.
Спрыягайце кожную зазначэнную інформацыю як тымчасовую
Калі працуеце над проектам, спрыяйце тому, каб кожная зазначэнне была спрыяла розбівцы на этапы: спачатку запісайце умовы працы — неабяжлівыя данні, сігнал успеху і тое, што выходзіць у разе частковага невыпання. Такі список контроля дапамагае заліцвачыць змяны ў кодзе чыста і адкрыта. Документавайце як шлях успеху, так і шлях вярнення да нормальнага стану. Перапрыбуткі, людзкія перакрыцця і обробка некоректных паведамленняў є часткай самага продукту, а не дадатковыми элементамі пасля його стварэння. Ставьце контрольныя пункты пасля дорогіх крокаў. Програма не должна занова ставіць плата за той самы вызов LLM, калі аператар перапрыбуе выканаць наступны элемент.
Observe -> choose one action -> validate -> execute -> observe again
Размістыце правілы ў воратах
Калі працуеце над політакой Put на даным этапе, спачатку запісайце умовы контракту: неабяжлівыя даны, сигнал успеху і тое, што выходзіць у разе частковага невыпання. Такі список пераконтроўваець дапамагае залічыцца з пазнейшымі змянамі ў кодзе. Валіце маленькія, тэставаныя елементы замест большых скрыптов. Калі якісь крок не выйшае, прычына невыпання павінна вказываць на адную адпаведальнасць, а не на заплутаны ланцюг задач. Зробіце пераконтроль пасля дорогіх крокаў. Програма не павінна знову стягваць плата за той самы вызов LLM, калі аператар праказвае спробу на пазнейшым вузле.
Архітектура системы
Калі працуеце над стадзіяй Сістэмнай архітектуры, спачатку запісаце кантракт: неабяжлівыя вхідныя даны, сігнал успеху і тое, што выходзіць у разе частковага нэуспеху. Такі пераказ дапамагае заставіць пасляэйшныя змены коду быць чыстымі. Спрыятлівае ставленне да гэтай стадзіі як да кантракта межа вхіднымі данымі і перакананымі выходнымі рэзультатамі. Даеце назвы артыфактам, задаеце правіла пераканання успеху і адмовляецеся ад тыхоўскага частковага завершэння. Ствараеце контрольныя пункты пасля дорогіх крокаў. Програма для продакцыі не должна занова ставіць плату за той самы вызыв LLM, калі аператар прабуе зноў запрацаваць пазнейшы вузел. Калі працуеце над стадзіяй Сістэмнай архітектуры, спачатку запісаце кантракт: неабяжлівыя вхідныя даны, сігнал успеху і тое, што выходзіць у разе частковага нэуспеху. Такі пераказ дапамагае заставіць пасляэйшныя змены коду быць чыстымі. Храніце настройкі параду ўнутры коду прыемленае. Файлы сяродавішча, хранальнікі секрэтных дадзеных і флагі функций должны знаходзіцца ў аднам месцы, якое аператары можаць пераглядаць без неабяжлівага чытання всей структуры.
Agent clients
|
+-- Desktop agent UI
+-- Claude or another MCP client
+-- Codex or another coding agent
+-- Custom application or SDK
|
v
MCP adapter or direct HTTPS client
|
v
Cloud Browser gateway
|
+-- authentication and delegated identity
+-- tenant and task isolation
+-- request validation
+-- idempotency
+-- policy and approvals
+-- session manager
+-- signed live-view service
+-- audit and observability
|
v
Worker scheduler
|
v
Browser worker
|
+-- Playwright and restricted CDP
+-- tabs and popups
+-- semantic state
+-- browser actions
+-- screenshots and artifacts
+-- downloads and uploads
+-- WebRTC video source
+-- secure form filling
|
v
Approved web destinations
Шлюз
Этап The Gateway працюе найкраща, калі яго розглядаць як вимерную паверхню. Запісаце адна «золатая» транскрыпцыя, адзін прыклад неудачы і запіс працэў павернення да пярвоначальнага стану пры перадзеі расширэння масштаба. Дакументавайце як шлях успеху, так і шлях вярнення да нормальнага стану адночасна. Перапрыбуткі, людзкія контрольны пункты і обработка некоректных паведамленняў ёсць часткай продукту, а не элементамі пазнейшай дапрацоўкі. Храніце стан графа ў простам і типаваным формате. Вкладныя блакі маскуюць інфармацыю пра тое, який вузел запісаў канкрэтны поле, і спакоююць продовжэнне выканання пасля перарываў.
The MCP Adapter
MCP Adapter стадія працюе наўсёрэдзей, калі яе розглядаць як вимерную паверхню. Зафіксавайце адна ідеальная транскрыпцыя, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану, перш чым расширваць масштабы. Валіце маленькія, тэставаныя елементы замест большых скрыптов. Калі якісь крок не выходзіць, прычына неудачы павінна вказываць на адну конкрэтную адпаведальнасць, а не на заплутаны ланцюг задач. Адкройце інструменты з вузкімі схемамі та чысткімі пазначэннямі побачных наследкаў. Хостам неабходна знаты, якія вызовы мутуюць стан, перш чым яны автаматычна схваляюць ўпраўленні.
Браузерны працоўнік
Этап Browser Worker працюе найкраща, калі яго розглядаць як меркавыя плошча. Запісайце адны ідеальны прыклад роботы, адны прыклад неудачы і прыметку па вярнэнню да пачатковага стану пры расшырэнні масштаба. Разглядайце гэты этап як кантракт межа вхіднымі даннымі і пераканаленымі выходнымі рэзультатамі. Даўце назвы артыфактам, задаце критэрыя успеху і не падзеўляйцеся частым, непূরным выкананнем задачы. Храніце стан графа ў простам і типаваным формате. Вярнутыя структуры данных маскуюць інфармацыю пра тое, який вузел запісаў кожны поле, і спакойваюць працу пасля перарываў. Этап Browser Worker працюе найкраща, калі яго розглядаць як меркавыя плошча. Запісайце адны ідеальны прыклад роботы, адны прыклад неудачы і прыметку па вярнэнню да пачатковага стану пры расшырэнні масштаба. Храніце настройкі паза кодам прылады. Файлы сэрвеіру, базы секретных данных і флагі функцыйяў должны знаходзіцца ў аднам месцы, якое аператары можаць пераглядаць без неабяжнай чытанняў усіх элементаў графа.
Менеджер сесій
Для стадіі «Менеджер сэсыйяў» неабходна пазначыць данныя, якія будуць вводзіцца, адпаведальнага за выкананне крока, а таксама критэрыя завершэння пры перадзеіснаванні коду. Аператары должны магчымае запускаваць крок з вядомай точкі контролю, не прабуючы спадарацца пра схованы стан. Неабходна аддзеіснаваць дакументацыю як для стандартнага, так і для альтернатывнага падходу. Практыкі перапрыбутку, людзкія пераказы і обработка некоректных паведамленняў є часткай продукту, а не элементамі, якія дадзець можлівасць пазнейшага удосконалення. Неабходна людзкая апраўка для тых крокаў, якіе ведуць да выдатку грошаў або змяны дадзэнняў у працоўным сераверы. Прыёмка коду ў часе кампілявання не абавесць цяпероўай готовасці продукту для выкарыстоўвання.
tenant
-> principal
-> task
-> session
-> tab
-> operation
Прфілі браузераў і стойкасць дадзэнняў
У стадії профіляў прыгледача і зберагання дадзейнасці неабходна пазначыць вхідныя даны, адпаведальнага за крок і критэрыя завершэння пры перамене коду. Аператары должны магчымаць перзапуск кроку з вядомай точкі контролю, не прабуючы спадароўваць схованы стан. Валідзіце маленькія, тэставаныя елементы замест большых скрыптаў. Калі крок не выйшоў, прычына неудачы должна вказываць на адну конкрэтную адпаведальнасць, а не на заплутаны процес. Заставіце людзкую апраўдку для тых крокаў, якія выкарыстоўваюць грошы або зменяюць даны ў працэсе. Компіляцыйныя налашчанні не є падтверджэнням полнай адпрацоўкі проекту.
Жыцёвы цикл команд прыгледача
Для стадіі жыцёвага циклу каманды браузера неабяжна практычна апібараць інпуты, адміністратара шагу та крэтырыя выходу пры перадзеіснаванні коду. Аператары должны магчымаць перзапуск шагу з вядомай точкі контролю, не спрабоўваючы здагадвацца пра схованы стан. Спрыяйце гэтай стадіі як даговору межа інпутамі та падтвердзенымі выходамі. Дайце назвы артыфактам, практычна апібяжце перагляды успеху та адмовіцеся ад бяспечнага частковага завершэння. Забезпечыце людскія празборы для тых крокаў, якія витрачаюць грошы чыстае зміняюць даныя у працоўным режыме. Кампіляцыйныя наладкі не ўзроўнаваліся з пачытальной завершанасцю задачы. Для стадіі жыцёвага циклу каманды браузера неабяжна практычна апібараць інпуты, адміністратара шагу та крэтырыя выходу пры перадзеіснаванні коду. Аператары должны магчымаць перзапуск шагу з вядомай точкі контролю, не спрабоўваючы здагадвацца пра схованы стан. Зберагачыце настройкі за межамі коду прыемленае. Файлы сераўіса, хранільнікі секрэтных дадзеных та флагі функций должны знаходзіцца ў аднам месцы, якое аператары можаць пераглядаць без неабяжнай чытання.
цэлага схема.Рэальны адзор на базе WebRTC
Калі працуеце над этапам рэальнага адзора з WebRTC, спачатку запісайце умовы: неабяжлівыя даннэ, сигнал пры успеху і тое, што выканаецца праз часты неяксамоць. Такі список дапамагае залічваць змяны ў кодзе чыста. Документавайце як шлях успеху, так і шлях вярнення. Перапрыбуткі, людзкі контроль і обработка некоректных паведамленняў є частью продукту, а не дадатковымі правкамі. Зробіце контрольны пункт пасля дорогіх крокаў. Система вярнення не павінна зноў ставіць плату за той самы вызов LLM, калі аператар перапрыбуе пазнейшы вузел.
Перадача кантролю
Калі працюеце над стадзіяй Control Handoff, спачатку запісайце угоду: неабяжлівыя даны, сігнал успеху і тое, што выходзіць у разе частковага неяксамоства. Такі список пераконтролюе чыстасць пазнейшых змян у кодзе. Валіце малыя, тэставаныя елементы замест большых скрыптов. Калі якісь крок неяксамоства, гэтае неяксамоства павінна вказваць на адзіну адпаведальнасць, а не на заплутаны ланцужок задач. Зробіце пераконтроль пасля дорогіх крокаў. Програма не павінна зноў выклікаць той самы календар LLM, калі аператар прабуе зноў запрацаваць з пазнейшым вузлам.
Agent control
-> handoff pending
-> user control
-> release pending
-> agent control
Any state
-> finalized
Захаванне самага пераглядача
Калі працуеце над стадзіяй «Захаванне самага пераглядача», спачатку запісайце контракт: неабяжлівыя данні, сигнал успеху і тое, што выходзіць у разе частковага нявыпання. Такі список перакладзець пазначае чыстасць будучых змян у кодзе. Спрэчвайце гэтую стадзію як контракт межа даннімі і перакананымі выходамі. Дайце назвы элементам, задаце правіла пераканання успеху і не прабуйце прыймаць часткова завершэння без паведамлення. Зрабіце перакананне пасля дорогіх крокаў. Система вярнення не павінна зноў ставіць плату за той самы вызов LLM, калі аператар прабуе зноў запрацаваць пазнейшы вузел. Калі працуеце над стадзіяй «Захаванне самага пераглядача», спачатку запісайце контракт: неабяжлівыя данні, сигнал успеху і тое, што выходзіць у разе частковага нявыпання. Такі список перакладзець пазначае чыстасць будучых змян у кодзе. Зберагачыце настройкі параду ўнутры коду прыемлівача. Файлы сераўнавання, хранільнікі секрэтных данных і флагі функцыйяў павінны знаходзіцца ў адном месцы, якое аператары можаць пераглядаць без неабяжлівага чытання всей структуры.
Безпечная аутентыкацыя
Этап абсалютнай аутантыкаціі працюе наяўней, калі яго спрыяваць як мерыемую структуру. Зафіксавайце адну ідеальную версію працэсы, адзін кейс неудачы і запіс пра вярнэнне да пачатковага стану перш чым расширваць сферу дзеяння. Дакументавайце як успішны, так і вярнучыся шляхі роботы. Перапрыбуткі, людзкія контрольны пункты і обработка некоректных паведамленняў є частью продукту, а не дадатковыми элементамі пасля його стварэння. Храніце стан графаў у простам і типаваным формате. Вярнутыя структуры маскуюць інфармацію пра тое, який вузел запісаў канкрэтны поле, і спакоююць продовжэнне роботы пасля перерываў.
Затверджэнне пры выкананні значных дзеянняў
Этап затверджэння пры выкананні наследных дзеянь работае найэфектывней, калі яго расследжваюць як вимерную структуру. Запісаўце адна ідеальная версія, адзін прыклад неудачы і прыметку па адвярненню перад расшырэнням масштаба. Валіце маленькія, тэставаныя елементы замест большых скрыптов. Калі якісь крок не выходзіць, прычына неудачы павінна вказываць на адну конкрэтную адпаведальнасць, а не на заплутаны ланцюг дзеянь. Рэжым графа павінен застаўцца простым і з адзінаковым типам дадзеных. Вкладаныя структуры маскуюць інфармацыю пра тое, який вузел запісаў канкрэтны поле, і спакоююць працу пасля перарываў.
Скріншоты, артыфакты і павторнае відтворэнне
Этап «Знімкі сэрвара, артыфакты і павторна перадача» працюе найкраща, калі яго розглядаць як вимерную паверхню. Зафіксуйце адны ідеальны прымер, адзін кейс неудачы і запіс пра вярнэнне да пачатковага стану перш чым расширваць сферу дзеяння. Разглядайце этап як кантракт межа вхіднымі даннымі і пераканаленымі выходнымі рэзультатамі. Дайце назвы артыфактам, задаце критэрыі успеху і адмовіцеся ад мовчанкавага частковага завершэння. Размешчайце стан графа ў простам і типаваным формате. Вкладзеныя блокі маскуюць інфармацыю пра тое, який вузел запісаў кожны поле, і спакоююць продовжэнне роботы пасля перерываў. Этап «Знімкі сэрвара, артыфакты і павторна перадача» працюе найкраща, калі яго розглядаць як вимерную паверхню. Зафіксуйце адны ідеальны прымер, адзін кейс неудачы і запіс пра вярнэнне да пачатковага стану перш чым расширваць сферу дзеяння. Размешчайце настройкі за межамі коду прыемліка. Файлы сераўіса, хранільнікі секрэтных данных і флагі функцыйяў должны знаходзіцца ў аднам месцы, куда аператары можуць аудытаваць іх без неабяжнага чытання всего графа.
Пап-вікна, перыядры і складныя сторанцы
Для ўражоў, які выкалічваюць перенаправлення або ствараюць складнасці, пярэд тым, як зменшыць код, неабходна задаць параметры вводу, адпаведальнага за даны крок і крэтарыя выходу. Аператары должны магчымаць перзапуск кроку з вядомай точкі контролю, не падозрываючы прыхованы стан. Неабходна аддзеўнаваць як шлях успеху, так і шлях вярнення да нормальнага стану. Перапрыбуткі, людзкія пераказы і обработка некоректных паведамленняў ёсць часткай продукту, а не чымось, што дадаецца пазней. Неабходна людзкая апраўдка для тых крокоў, якія выкорыстоўваюць грошы або зменяюць даны ў працэсе. Працэс кампілявання не є гарантыяй полнай адпаведнасці продукту выклікам бізнесу.
Безпека сеті і запобежэнне SSRF
Для этапа безпекі прытоку і SSRF неабяжна пазначыць вхідныя даны, адпаведальнага за крок і крэтыры завершэння пры змяне коду. Аперацыйныя системы павінны магчымаць перзапуск кроку з вядомай точкі контролю без неабяжнага вычыслення скрытых станоў. Лепш выбіраць маленькія, тэставаныя елементы замест большых скрыптов. Калі крок не выйшоў, прычына неабяжна стосавацца адной відпаведальнасці, а не заплутанага ланцоўка задач. Неабяжна ўключыць людзкія пераказы для тых крокаў, якія витрачаюць грошы або зменяюць даны у працэсе виробніцтва. Компіляцыйныя налашчэння не ўзначаюць повнасці бізнес-процэса.
Вставка запытак і ненадзеяны ўмест на сторанцы
Для стадзіі введэння запросу і ненадзеяных дадзейнаў неабходна прадзефінаваць вхідныя даны, адпаведальную особу за выкананне крока і критэрыя завершэння пры перадзмене коду. Аператары должны магчымаць перывыканне крока з вядомай точкі контролю без неабясненняя схованага стану. Спрыятлівае ставленне да гэтай стадзіі як да кантракту межа вхіднымі данымі і перакананымі выходнымі рэзультатамі. Назваць артыфакты, прадзефінаваць пераканання ў успеху і адмовіцца ад тыхнага частковага завершэння без паведамлення. Калі наступны крок — гэта код або вызов інструмента, лепш выкарыстоўваць структураваныя выходныя даны з перакананнем схэмы, чым вольныя тэкстовыя форматы. Для стадзіі введэння запросу і ненадзеяных дадзейнаў неабходна прадзефінаваць вхідныя даны, адпаведальную особу за выкананне крока і критэрыя завершэння пры перадзмене коду. Аператары должны магчымаць перывыканне крока з вядомай точкі контролю без неабясненняя схованага стану. Конфігурацыю трэба заставляць праза межамі коду прыкладнення. Файлы сераўіса, хранільнікі секрэтных дадзейнаў і флагі функцияў должны знаходзіцца ў аднам месцы, якое аператары можаць пераглядаць без неабясненняя всіх аспектаў.
Зялежні кантэкты, аплодаванні і ізоляцыя кліппборду
Калі працюеце над этапам зялежных кантэктов, аплодаванняў і кліппборду, спачатку запісайце умовы: неабходныя данні, сигнал успеху і тое, што выходзіць пад частым неудачам. Такі список контроля дапамагае заставіць пазнейшыя змены коду быць чыстымі. Документавайце як шлях успеху, так і шлях вярнення да нормы. Перапрыбуткі, людзкія контрольны пункты і обработка некоректных паведамленняў ёсць частью продукту, а не пазнейшым дапрацоўкам. Стварайце контрольныя пункты пасля дорогіх крокаў. Система вярнення не должна зноў платіць за той самы вызов LLM, калі аператар перапрыбуе пазнейшы вузел.
Жыцёвы цикл і чыстка
Калі працуеце над стадзіямі жыцёвага циклу і чысткі, спачатку запісайце умовы кантракту: неабяжлівыя данні, сігнал успеху і тое, што выходзіць пад частковыя неудачы. Такі список пераканаець у тым, што пазнейшыя змены коду будуць чыстымі. Валіце маленькія, тэставаныя елементы замест большых скрыптов. Калі якісь крок не выйшае, неудача должна вказваць на адну адпаведную адпаведальнасць, а не на заплутаны ланцюг задач. Зробіце пераконтроль пасля дорогіх крокаў. Програма не должна зноў ставіць плата за той самы вызов LLM, калі аператар праказвае пазнейшы вузел.
Возможнасць спазірвання без вытэкання прыватных дадзеных
Калі працуеце над стадзіяй «Спостерагальнасць без вытэкання прыватных дадзей», спачатку запісайце кантракт: неабяжлівыя вхідныя даны, сигнал успеху і тое, што выходзіць у разе частковага нявыпання. Такі список перакладоў заходзіць пазнейшыя змены коду ў правільным направленні. Спрэцьвячайце гэтую стадзію як кантракт межа вхіднымі данымі і перакананымі выходнымі рэзультатамі. Дайце назвы артыфактам, задаць тэсты на успех і не падзеўляйцеся частковым завершэнням без паведамлення. Зробіце перапытку пасля дорогіх крокаў. Система вярнення не павінна зноў ставіць плату за той самы вызов LLM, калі аператар прабуе зноў запрацаваць пазнейшы вузел. Калі працуеце над стадзіяй «Спостерагальнасць без вытэкання прыватных дадзей», спачатку запісайце кантракт: неабяжлівыя вхідныя даны, сигнал успеху і тое, што выходзіць у разе частковага нявыпання. Такі список перакладоў заходзіць пазнейшыя змены коду ў правільным направленні. Зберагаце настройкі праза код аплікацыі. Файлы сераўнавання, хранільнікі секрэтных дадзей і флагі функций павінны знаходзіцца ў аднам месцы, якое аператары можаць пераглядаць без неабяжлівага чытання всей структуры.
Надзяйнасць і тэставанне пад напорам
Этап надзяйнасці і тэставання пад напорам работае наяўней, калі яго спрыяваць як мерыемую структуру. Запісаўце адну ідеальную транскрыпцыю, адзін прыклад неудачы і прыметку па адвярненню роботы перш чым расширваць масштаб. Дакументаваўце як шлях успеху, так і шлях вяснавання. Перапрыбуткі, людзкія контралі і обработка некоректных паведамленняў є часткай продукту, а не наступным этапам дапрацоўкі. Зберагаўце стан графаў у простам і типаваным формате. Вярнутыя блокі маскуюць, який вузел запісаў канкрэтны поле, і спакойваюць продовжэнне роботы пасля перарываў.
Модэль развяртання
Этап модэлю развяроцьбы працюе наўжоўдзей, калі яго спрыяваць як мерыемую паверхню. Зафіксавайце адна ідеальная транскрыпцыю, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану, перш чым расширваць масштабы. Валіце маленькія, тэставаныя елементы замест большых скрыптов. Калі якісь крок не выйшае, прычына неудачы павінна вказываць на адную адпаведальнасць, а не на заплутаны ланцуг задач. Задаўце ліміт токенав на кожны рунг і на кожную сесыю. Інструменты-агенты агрэсіўна расширваюць контекст; строгі ліміты не дазволяюць дэмам ператварыцца на неспакоўныя рахункі.
TLS ingress
-> Cloud Browser gateway
-> isolated browser workers
-> encrypted profile and artifact volume
Дакладныя вядомасці пра налашчанні
«Адказныя вядчыкі па стадзіях» працуюць наўлучней, калі іх спрыяваць як мерыемую паверхню. Зберагучы адны ідеальны прыклад, адны прыклад неудачы і запіс пра вярнэнне да пачатковага стану, перш чым расширваць масштабы. Спрыяйце гэтай стадзіі як кантракту межа вхіднымі дадзеннямі і перакананымі выходнымі рэзультатамі. Даўце назвы артыфактам, задаць критэрыя успеху і адмовіцеся ад тыхняга частковага завершэння без паведамлення. Храніце стан графа ў простым і типаванам формате. Вярнутыя структуры дадзення маскуюць інфармацыю пра тое, який вузел запісаў кожны поле, і спакшуюць возз'яданне пасля перарываў. «Адказныя вядчыкі па стадзіях» працуюць наўлучней, калі іх спрыяваць як мерыемую паверхню. Зберагучы адны ідеальны прыклад, адны прыклад неудачы і запіс пра вярнэнне да пачатковага стану, перш чым расширваць масштабы. Храніце настройкі параду ўнутры коду прыемліцеля. Файлы сяродавішча, хранальнікі секрэтных дадзенняў і флагі функцыйяй должны знаходзіцца ў аднам месцы, куды аператары можаць адбавляць контроль без неабходнасці чытання всего графа.
CB_HOST=127.0.0.1
CB_PORT=8787
CB_PUBLIC_URL=http://127.0.0.1:8787
CB_TOKENS=replace-with-a-long-random-token:tenant-example:agent-service:delegate
CB_MAX_SESSIONS_PER_PRINCIPAL=8
CB_LIVEVIEW_SECRET=replace-with-a-separate-random-signing-secret
CB_LIVEVIEW_FRAME_ANCESTORS=http://localhost:8088,http://127.0.0.1:8088
CB_HEADLESS=true
CB_SERVICE_WORKERS=allow
CB_BROWSER_CHANNEL=chrome
CB_EXTENSION_PATHS=
CB_PROFILE_MODE=persistent
CB_PROFILE_DIR=./var/profiles
CB_ARTIFACT_DIR=./var/artifacts
CB_AUDIT_FILE=./var/audit.log
CB_USER_AGENT=
CB_ALLOW_ORIGINS=
CB_BLOCK_ORIGINS=
CB_TRUSTED_PRIVATE_ORIGINS=*.company.example
CB_ALLOW_CGNAT_NAVIGATION=true
CB_REQUIRE_APPROVAL=false
CB_ALLOW_LOOPBACK_NAVIGATION=true
CB_SYNTHETIC_MEDIA_DEVICES=true
CB_HOST
Для стадіі CBHOST неабяцкова прадзеўначыць вхідныя даны, адпаведальнага за крок і крэтыяры завершэння пры перадзмене коду. Аперацыйныя працавнікі павінны магчымае перадзрабатваць крок з вядомага пункту контролю, не спрабоўваючы здагадвацца пра схованы стан. Неабяцкова задокументаваць як шлях успеху, так і шлях вярнення. Перапрыбуткі, людзкія пераказы і обробка некоректных паведамленняў ёсць часткай продукту, а не пасляднім дапрацоўкам. Неабяцкова застаўляць людзкую апраўдку для тых крокоў, якія выкарыстоўваюць грошы або зміняюць даны ў працэсе. Працэс кампілявання не ўзроўнаважваецца з повнасцю бізнес-функцый.
CB_HOST=127.0.0.1
CB_PORT
Для стадіі CBPORT неабяжна ўзначыць вхідныя даны, адпаведальнага за крок і крэтырыя завершэння пры змены коду. Аперацыйныя працавнікі павінны магчымае перазапускаць крок з вядомай точкі контролю, не падозрываючы прыхованы стан. Лепш выбіраць маленькія, тэставаныя елементы замест большых скрыптов. Калі крок не выконваецца, прычына нехарактэрства павінна вказываць на адзін конкрэтны аспект, а не на заплутаны ланцюг задач. Неабяжна ўключыць людзкія пераказы для тых крокоў, якія витрачаюць грошы або зменяюць даны ў працэсе виробніцтва. Компіляцыйныя налашчэння не ўзначаюць павнае выпаненне бізнес-процэса.
CB_PORT=8787
CB_PUBLIC_URL
Для стадіі CBPUBLICURL неабяцо практычна апранаванне вхідных дадзеных, адміністратара крока і крытэрая выходу пры перадзеіснаванні коду. Аператары павінны магчымаць перзапуск крока з вядомай точкі контролю, не падозрываючы схованы стан. Спрыяйце гэтай стадіі як кантракту межа вхіднымі дадзенымі і перакананымі выходнымі рэзультатамі. Даўце назвы артыфактам, практычна перакананні на успех і адмовіцеся ад тыхняга частковага завершэння без паведамлення. Забезпечыце людзкія падтверджэння для тых крокаў, якія выкарыстоўваюць грошы або зміняюць даны для працы. Компіляцыйныя налашчэння не ўзроўнаўцуюцца з павнайсткамасным завершэнням задачы. Для стадіі CBPUBLICURL неабяцо практычна апранаванне вхідных дадзеных, адміністратара крока і крытэрая выходу пры перадзеіснаванні коду. Аператары павінны магчымаць перзапуск крока з вядомай точкі контролю, не падозрываючы схованы стан. Зберагачыце налашчэнні за межамі коду прыкладнення. Файлы сераўіса, хранільнікі секрэтных дадзеных і флагі функций павінны знаходзіцца ў адном месцы, якое аператары можаць пераглядаць без неабяцковага чытання всіх элементаў.
CB_PUBLIC_URL=http://127.0.0.1:8787
CB_PUBLIC_URL=http://127.0.0.1:8787
CB_PUBLIC_URL=https://browser.example.com
CB_TOKENS
Калі працюеце над этапам CBTOKENS, спачатку запісайце умовы працы: неабяжлівыя даны, сигнал успеху і тое, што выканаецца у разы частковага нявыполнення. Такі список контроля дапамагае заліцьварыць пазнейшыя змены ў кодзе. Дакументавайце як шлях успеху, так і шлях вярнення. Перапрыбуткі, людзкі контроль і обработка некоректных паведамленняў є частью продукту, а не пазнейшым дапрацоўкам. Зберагайце у кэшы стабільныя інструкцыі системы і схемы інструментаў. Перадача таго ж самога прамэра є частым выклікам для ресурсаў.
<bearer-token>:<tenant-id>:<service-principal>[:scope]
CB_TOKENS=replace-with-a-long-random-token:tenant-example:agent-service:delegate
CB_MAX_SESSIONS_PER_PRINCIPAL
Калі працюеце над стадзіяй CBMAXSESSIONSPERPRINCIPAL, спачатку запісайце умовы кантракту: неабяжлівыя даны, сігнал успеху і тое, што выходзіць у разе частковага нявыпання. Такі список пераконтроўкі дапамагае заліцвачыць змяны ў кодзе пазнейша. Валіце маленькія, тэставаныя елементы замест большых скрыптов. Калі якісь крок не выйшае, прычына нявыпання павінна вказываць на адну конкрэтную адпаведальнасць, а не на заплутаны ланцужок задач. Зрабіце пераконтроўку пасля дорогіх крокаў. Програма не павінна зноў стягваць плата за той самы вызов LLM, калі аператар прабуе зноў выконаць пазнейшы элемент.
CB_MAX_SESSIONS_PER_PRINCIPAL=8
CB_LIVEVIEW_SECRET
Калі працюеце над стадзіяй CBLIVEVIEWSECRET, спачатку запісайце контракт: неабяжлівыя данні, сигнал успеху і тое, што выходзіць у разе частковага нявыпання. Такі список перакладзець пазначае чыстасць будучых змян у кодзе. Спрыятліваце гэтую стадзію як контракт межа даннімі і перакананымі выходамі. Дайце назвы артыфактам, задаце перакананні успеху і адмовіцеся ад тыхоўага частковага завершэння. Зробіце контрольны пункт пасля дорогіх крокаў. Продовжэнне не павінна зноў выклікаць той самы вызов LLM, калі аператар прабуе зноў запрацаваць пазнейшы вузел. Калі працюеце над стадзіяй CBLIVEVIEWSECRET, спачатку запісайце контракт: неабяжлівыя данні, сигнал успеху і тое, што выходзіць у разе частковага нявыпання. Такі список перакладзець пазначае чыстасць будучых змян у кодзе. Зберагачыце настройкі за межамі коду прыемленае. Файлы сераўнавання, хранільнікі секрэтных дадзеных і флагі функций павінны знаходзіцца ў адном месцы, якое аператары можаць пераглядаць без неабяжлівага чытання всей структуры.
CB_LIVEVIEW_SECRET=replace-with-a-separate-random-signing-secret
CB_LIVEVIEW_FRAME_ANCESTORS
CBLIVEVIEWFRAMEANCESTORS-этап работае наяўней, калі яго спрыяваць як мерыемую паверхню. Запісаце адна «золатая» транскрыпцыю, адин прыклад неудачы і прыметку па вярнэнню да пачатковага стану пры расшырэнні масштаба. Дакументавайце як шлях успеху, так і шлях вярнэння. Перапрыбуткі, людзкія контрольныя пункты і обработка некоректных паведамленняў є часткай продукту, а не наступным этапам дорабачання. Храніце стан графа ў простам і типаваным формате. Вкладзеныя блокі маскуюць інфармацыю пра тое, який вузел запісаў якое поле, і спакшуюць продовжэнне роботы пасля перерываў.
CB_LIVEVIEW_FRAME_ANCESTORS=http://localhost:8088,http://127.0.0.1:8088
http://localhost:8088
http://127.0.0.1:8088
https://agent.example.com
CB_HEADLESS
Этап CBHEADLESS працюе найкраща, калі яго розглядаць як вимерную паверхню. Зафіксавце адна «золатая» транскрыпцыя, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану, перш чым расширваць сферу дзеяння. Валіце маленькія, тэставаныя елементы замест большых скрыптов. Калі якісь крок не выйшае, прычына неудачы павінна вказываць на адную адпаведальнасць, а не на заплутаны ланцюг задач. Рэзультаты обработкі дадзеных павінны быць простымі та з адначыя типамі дадзеных. Вкладаныя структуры дадзеных маскуюць інфармацыю пра тое, який вузел запісаў кожны поле, і спакоююць працу пасля перерываў.
CB_HEADLESS=true
CB_SERVICE_WORKERS
Этап CBSERVICEWORKERS працюе найкраща, калі яго розглядаць як меркавыя плошча. Зберагучы адна ідеальная транскрыпцыя, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану, перш чым расширваць сферу дзеяння. Разглядайце этап як кантракт межа вхіднымі даннымі і перакананымі выходнымі рэзультатамі. Даўце назвы артыфактам, задаце критэрыя успеху і не падзеўляйцеся частым, непূরным выкананнем задач. Храніце стан графа ў простам і типаваным формате. Вкладзеныя блокі маскуюць інфармацыю пра тое, який вузел запісаў канкрэтны поле, і спакоююць працу пасля перарываў. Этап CBSERVICEWORKERS працюе найкраща, калі яго розглядаць як меркавыя плошча. Зберагучы адна ідеальная транскрыпцыя, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану, перш чым расширваць сферу дзеяння. Храніце настройкі парадульна ад коду прыемліцеля. Файлы сераўіса, хранальнікі секрэтных данных і флагі функцыйяў должны знаходзіцца ў аднам месцы, куда аператары можу аудытаваць іх без неабходнасці чытаць весь граф.
CB_SERVICE_WORKERS=allow
CB_BROWSER_CHANNEL
Для стадіі CBBROWSERCHANNEL неабяжна ўзначыць вхідныя даны, адпаведальнага за крок і крэтыяры завершэння пры змены коду. Аперацыйныя працавнікі павінны магчымае перазапускаць крок з вядомай точкі контролю, не падозрываючы прыхованы стан. Неабяжна задокументаваць як шлях успеху, так і шлях вярнення. Перапрыбуткі, людзкіе перакрыцця і обробка некоректных паведамленняў є часткай продукту, а не чыставаючымі елементамі пазнейшага этапу. Неабяжна прыняць людзкую згоду для тых крокоў, якія выкарыстоўваюць грошы або зміняюць даны ў працэсе виробніцтва. Працэс складання коду не ўзначае повнайшага адпаведання выкарыстоўваных рашэнняў выклікам бізнесу.
CB_BROWSER_CHANNEL=chrome
CB_EXTENSION_PATHS
Для стадіі CBEXTENSIONPATHS неабяжна прадзеўкаваць вхідныя даны, абавесцелівальніка крока і крэтыяры завершэння пры перадзеўкаванні коду. Аператары павінны магчымаць перзапуск крока з вядомай точкі контролю, не падозрываючы схованы стан. Лепш выбіраць маленькія, тэставаныя елементы замест большых скрыптов. Калі крок не выйшаў, прычына нехаспекі павінна вказываць на адну конкрэтную абавесцелівальнасць, а не на заплутаны ланцоўкі задач. Неабяжна ўключыць людзкую апраўдку для тых крокаў, якія выкарыстоўваюць грошы або зміняюць даны ў працэсе. Компіляцыйныя налашчэнні не ўзначаюць павнасці бізнес-процэса.
CB_EXTENSION_PATHS=
CB_PROFILE_MODE
Для стадіі CBPROFILEMODE неабяжна ўзначыць вхідныя даны, адпаведальнага за етап і крэтыры завершэння пры перадзеіснавленні коду. Аператары должны магчымаць перзапуск етапа з вядомай точкі контролю без неабяжнага вычыслення захаванога стану. Спрэцявачыце гэтую стадію як кантракт межа вхіднымі данымі і перакананымі выходнымі рэзультатамі. Даеце назвы артыфактам, узначыце перакананні на успех і адмовляйцеся ад бяспечнага частковага завершэння. Забезпечыце людскія празгляды для тых крокаў, якія витрачаюць грошы або зменяюць даны праўай працы. Кампіляцыйныя налашчэння не ўзначаюць павнае завершэння бізнес-процеса. Для стадіі CBPROFILEMODE неабяжна ўзначыць вхідныя даны, адпаведальнага за етап і крэтыры завершэння пры перадзеіснавленні коду. Аператары должны магчымаць перзапуск етапа з вядомай точкі контролю без неабяжнага вычыслення захаванога стану. Зберагачыце налашчэнні за межамі коду прыкладнення. Файлы сяродавішча, хранільнікі секрэтных дадзеных і флагі функцыйяў должны знаходзіцца ў аднам месцы, якое аператары можаць пераглядаць без неабяжнага чытання всіх элементаў.
CB_PROFILE_MODE=persistent
CB_PROFILE_DIR
Калі працюеце над этапам CBPROFILEDIR, спачатку запісайте умовы контракту: неабяцковыя даны, сігнал успеху і тое, што выходзіць у разе частковага невыпання. Такі список контроля дапамагае заліцвачыць змяны ў кодзе. Документавайце як шлях успеху, так і шлях вярнення да нормальнага стану. Перапрыбуткі, людзкія перакрыцця і обробка некоректных паведамленняў є частью продукту, а не дадатковыми правкамі пазнейшае. Стварайце контрольныя точкі пасля дорогіх крокаў. Програма не должна занова ставіць плату за той самы вызыв LLM, калі аператар перапрыбуе пазнейшы вузел.
CB_PROFILE_DIR=./var/profiles
CB_ARTIFACT_DIR
Калі працюеце над стадзіяй CBARTIFACTDIR, спачатку запісайце угоду: неабяжлівыя даны, сігнал успеху і тое, што выходзіць у разе частковага неяксамоства. Такі список пераконтролюе чыстасць пазнейшых змян у кодзе. Валіце малыя, тэставаныя елементы замест большых скрыптов. Калі якісь крок неяксамоства, гэтае неяксамоства павінна вказваць на адзіну адпаведальнасць, а не на заплутаны ланцужок задач. Зрабіце пераконтроль пасля дорогіх крокаў. Програма для продакцыі не павінна зноў выклікаць той самы вызов LLM, калі аператар прабуе зноў запрацаваць з пазнейшым вузлом.
CB_ARTIFACT_DIR=./var/artifacts
CB_AUDIT_FILE
Калі працуеце над стадзіяй CBAUDITFILE, спачатку запісайце контракт: неабяжлівыя даннэ, сигнал успеху і тое, што выходзіць у разе частковага нявыпання. Такі список пераконтроўваець дапамагае заставіць пазнейшыя змены коду адпаведнымі. Спрыятлівайце гэтай стадзіяй як контракту межа даннемі і перакананымі выходамі. Дайце назву артыфактам, задаце перакананні успеху і адмовіцеся ад тыхоўскага частковага завершэння. Зробіце перакананне пасля дорогіх крокаў. Система вярнення не павінна зноў вырахоўваць кантакт з тым жа LLM, калі аператар прабуе зноў запрацаваць з пазнейшым вузлам. Калі працуеце над стадзіяй CBAUDITFILE, спачатку запісайце контракт: неабяжлівыя даннэ, сигнал успеху і тое, што выходзіць у разе частковага нявыпання. Такі список пераконтроўваець дапамагае заставіць пазнейшыя змены коду адпаведнымі. Зберагачыце настройкі параду ад коду прыемлівача. Файлы сераўнавання, хранілішчы секрэтных дадзеных і флагі функций павінны знаходзіцца ў аднам месцы, куды аператары можаць пераканавацца, не чытаяўшы весь граф.
CB_AUDIT_FILE=./var/audit.log
CB_USER_AGENT
Этап CBUSERAGENT працюе найкраща, калі яго розглядаць як параметр, які можна змерыць. Зафіксавайце адны ідеальны прыклад работы, адну ситуацыю неудачы і прыметкі па поверненні да пачатковага стану пры расшырэнні масштаба. Дакументавайце як шлях успеху, так і шлях вярнення да нормальнага стану. Перапрыбуткі, людзкі контроль і обработка некоректных паведамленняў є часткай продукту, а не элементамі пазнейшай дапрацоўкі. Храніце стан графа у простам і типаваным формате. Вярнутыя структуры данных маскуюць інфармацыю пра тое, який вузел запісаў кожны поле, і спакоююць працэс пасля перарываў.
CB_USER_AGENT=
CB_ALLOW_ORIGINS
Этап CBALLOWORIGINS працюе найкраща, калі яго розглядаць як вимерную паверхню. Зафіксавце адна «золатая» транскрыпцыя, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану, перш чым расширваць масштабы. Валіце маленькія, тэставаныя елементы замест большых скрыптов. Калі якісь крок не выйшае, прычына неудачы павінна вказываць на адную адпаведальнасць, а не на заплутаны ланцюг задач. Рэзервавайце стан графа ў простам і типізаваным формате. Вкладныя структуры маскуюць інфармацыю пра тое, який вузел запісаў канкрэтны поле, і спакоююць працу пасля перерываў.
CB_ALLOW_ORIGINS=
CB_BLOCK_ORIGINS
Этап CBBLOCKORIGINS працюе найкраща, калі яго розглядаць як вимерную паверхню. Зберагчыце адны ідеальны прыклад роботы, адны прыклад неудачы і запіс пра вярнэнне да пачатковага стану, перш чым расширваць сферу дзеяння. Разглядайце этап як кантракт межа вхіднымі даннымі та перакананымі выходнымі рэзультатамі. Даўце назвы артыфактам, задаце критэрыя успеху та адмовіцеся ад мовчанкавага частковага завершэння задачы. Храніце стан графа ў простаму та типаванаму формате. Вкладзеныя блокі маскуюць інфармацыю пра тое, який вузел запісаў кожны поле, і спакоююць працэс пасля перерываў. Этап CBBLOCKORIGINS працюе найкраща, калі яго розглядаць як вимерную паверхню. Зберагчыце адны ідеальны прыклад роботы, адны прыклад неудачы і запіс пра вярнэнне да пачатковага стану, перш чым расширваць сферу дзеяння. Храніце настройкі параду ўнутры коду прыемлівача. Файлы сераў, хранальнікі секрэтных данных та флагі функцыйяў должны знаходзіцца ў аднам месцы, якое аператары можаць пераглядаць без неабяжнага чытання всего графа.
CB_BLOCK_ORIGINS=
CB_TRUSTED_PRIVATE_ORIGINS
Для стадіі CBTRUSTEDPRIVATEORIGINS неабяжна ўзначыць вхідныя даны, абавесця крока і крэтынія выходу пры перадзеўці коду. Аператары должны магчымае запускіць крок з вядомай точкі контролю без неабяжнага адгадвання захаванога стану. Неабяжна задокументаваць як шлях успеху, так і шлях вярнення. Перапрыбуткі, людзкія перакрыцці і обработка некоректных паведамленняў ёсць часткай продукту, а не пасляднім дапрацоўкам. Неабяжна прыняць людзкую згоду для тых крокаў, якія выкарыстоўваюць грошы або зменяюць даны праўдзівай роботы. Працэс кампіляцыі не ўзначае повнайшага адпрацоўвання бізнес-функцый.
CB_TRUSTED_PRIVATE_ORIGINS=*.company.example
CB_ALLOW_CGNAT_NAVIGATION
Для стадіі CBALLOWCGNATNAVIGATION неабяцо практычна апрацаваць вхідных дадзеных, выявлення адпаведнага адпаведальнага і встановлення крэтарыяў завершэння працы перад зменым коду. Аперацыйныя працавнікі павінны магчымае перадзягаць выкананне данай ступені з вядомага пункту контролю, не прымушаныя здагадвацца пра схованы стан. Лепш выбіраць маленькія, тэставаныя елементы замест большых скрыптов. Калі ступень не выканаецца, прычына неудачы павінна вказываць на адзін конкрэтны аспект, а не на заплутаны ланцоўкі задач. Неабяцо людскую апрацаву для тых крокаў, якія ведуць да выдатку грошаў або зменыння продакцыйных дадзеных. Компіляцыйныя налашчэння не ўзначаюць павнае выпаненне бізнес-процэсаў.
CB_ALLOW_CGNAT_NAVIGATION=true
CB_REQUIRE_APPROVAL
Для стадіі CBREQUIREAPPROVAL, перш чым зменяць код, неабходна дэфініцыя вхідных даных, адміністратара шагу і крэтэрыяў завершэння. Аперацыйныя працавнікі должны магчымае перзапускаць шаг з вядомай точкі контролю, не спрабоўваючы здогадвацца пра схованы стан. Спрыяйце цій стадіі як кантракту межаў вхідных даных і перакананых выходных рэзультатаў. Даўце назвы артыфактам, дэфініруйце перакананняя успеху і адмовіцеся ад тыхнай частковай рэалізацыі, якая не фіксуецца. Забезпечыце людскую апраўду для тых крокаў, якія выкарыстоўваюць грошы або зменяюць даны праўернай сістэмы. Компіляцыйныя налашчанні не ўзроўнаўцуюцца з пачатковым станом бізнес-процэсу. Для стадіі CBREQUIREAPPROVAL, перш чым зменяць код, неабходна дэфініцыя вхідных даных, адміністратара шагу і крэтэрыяў завершэння. Аперацыйныя працавнікі должны магчымае перзапускаць шаг з вядомай точкі контролю, не спрабоўваючы здагадвацца пра схованы стан. Зберагачыце налашчанні парадульна ад коду прыкладнення. Файлы сяродавішча, хранільнікі секрэтных данных і флагі функцыйяў должны знаходзіцца ў аднам месцы, якое працавнікі можуць аудытаваць, не чытаючы весь код.
CB_REQUIRE_APPROVAL=false
CB_ALLOW_LOOPBACK_NAVIGATION
Калі працюеце над этапам CBALLOWLOOPBACKNAVIGATION, спачатку запісайце умовы: неабяжлівыя данні, сигнал успеху і тое, што выходзіць у разе частковага невыпання. Такі список контроля дапамагае заліцвачыць пазнейшыя змены ў кодзе. Документавайце як шлях успеху, так і шлях вярнення. Перапрыбуткі, людзкіе перакрыцця та обробка некоректных паведамленняў є частью продукту, а не пазнейшым дапрацоўкам. Зробіце контрольную пазнаку пасля дорогіх крокаў. Система вярнення не должна занова ставіць плату за той самы вызыв LLM, калі аператар перапрыбуе пазнейшы вузел.
CB_ALLOW_LOOPBACK_NAVIGATION=true
CB_SYNTHETIC_MEDIA_DEVICES
Калі працюеце над стадзіяй CBSYNTHETICMEDIADEVICES, спачатку запісайце контракт: неабяжлівыя вхідныя даны, сігнал успеху і тое, што выходзіць у разе частковага абякання. Такі список пераконвае ў тым, што пазнейшыя змены коду будуць чыстымі. Валіце маленькія, тэставаныя елементы замест вялікіх скрыптав. Калі якісь крок абякае, прычына абякання павінна вказваць на адзіну адпаведальнасць, а не на заплутаны ланцюг задач. Зробіце пераконтральную пазнік пасля дорогіх крокаў. Програма для продакцыі не павінна зноў выклікаць той самы кал дзеяння LLM, кал аператар пракушае ўступны вузел.
CB_SYNTHETIC_MEDIA_DEVICES=true
Анаіз прыкладу як адной дэплайментацыі
Калі працюеце над стадзіяй «Перагляд прыклада», спачатку запісайце контракт: неабяжлівыя даннэ, сігнал успеху і тое, што выходзіць у разе частковага нявыпання. Такі список пераконтроўваець дапамагае заставіць пазнейшыя змены коду адпаведнымі. Спрыймайце гэтую стадзію як контракт межа даннемі і перакананымі выходамі. Дайце назву артыфактам, задаце перакананні успеху і адмовіцеся ад тыхоўскага частковага завершэння. Зробіце перакананне пасля дорогіх крокаў. Продовжэнне не павінна зноў выклікаць той самы вызыв LLM, калі аператар прабуе зноў запрацаваць пазнейшы вузел. Калі працюеце над стадзіяй «Перагляд прыклада», спачатку запісайце контракт: неабяжлівыя даннэ, сігнал успеху і тое, што выходзіць у разе частковага нявыпання. Такі список пераконтроўваець дапамагае заставіць пазнейшыя змены коду адпаведнымі. Зберагачыце настройкі за межамі коду прыемленае. Файлы сяродавішча, хранільнікі секрэтных дадзеных і флагі функций павінны знаходзіцца ў аднам месцы, якое аператары можаць пераглядаць без неабяжлівага чытання всей структуры.
Падключэнне агента
Этап падзеўкі агента працуе наякша, калі яго спрыяваць як мерыемую структуру. Зафіксавайце адна ідеальная транскрыпцыю, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану перш чым расширваць сферу дзеяння. Дакументавайце як успішны, так і вярнучыся шляхы. Перапрыбуткі, людзкія контралі і обработка некоректных паведамленняў ёсць частью продукту, а не пасляднім дапрацоўкам. Храніце стан графа ў простым і типаванам формате. Вярнутыя структуры маскуюць, який вузел запісаў канкрэтны поле, і спакшваюць продовжэнне роботы пасля перарываў.
{
"mcpServers": {
"cloud-browser": {
"command": "node",
"args": ["/path/to/cloud-browser/packages/mcp/src/index.js"],
"env": {
"CB_GATEWAY_ENDPOINT": "https://browser.example.com/v1/browser",
"CB_GATEWAY_TOKEN": "retrieve-from-your-secret-manager",
"CB_DOWNLOAD_ROOTS": "/approved/output"
}
}
}
}
Agent: browser_open_tab(url)
Cloud Browser: tab identifier, page metadata, safe live-view metadata
Agent: browser_get_state(tab)
Cloud Browser: revision-bound semantic state
Agent: browser_click(fresh target)
Cloud Browser: confirmed receipt, updated state, evidence
User: take control through signed viewer
Cloud Browser: block agent input
User: release control
Cloud Browser: restore agent input
Agent: browser_finalize_session()
Cloud Browser: close working tabs, revoke authority, expire artifacts
Што робіць гэта разным ад “выкарыстоўвання браузера” ўнутрь адного агента
Этап «Што робіць гэта ўнікальным» працюе найкраща, калі яго розглядаць як вимерную паверхню. Запісаўце адна «золатая» транскрыпцыя, адин прыклад неудачы і прыметку па вярнэнню да пачатковага стану, перш чым расширваць масштаб. Валіце вялікія, складныя скрыпты на корысть маленькіх, тэставаных елементаў. Калі якісь крок не выходзіць, прычына неудачы павінна вказываць на адную адпаведальнасць, а не на заплутаны ланцюг задач. Рэзультаты роботы графа павінны быць простымі та з адначыя типамі дадзеных. Вкладаныя структуры дадзеных маскуюць інфармацыю пра тое, який вузел запісаў кожны поле, і спакоююць працу пасля перерываў.
Вывуты урокі
Этап «Урокі, выведзеныя з досвяду» працюе найкраща, калі яго розглядаць як мерыемую структуру. Зберагчыце адны ідеальны прыклад роботы, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану, перш чым расширваць сферу дзеяння. Разглядайце этап як кантракт межа вхіднымі даннымі і пераканаленымі выходнымі рэзультатамі. Даўце назвы всім элементам, задаце критэрыя успеху і не прабуйце завершыць заданне часткова без адпаведнага пазначэння. Храніце стан графа у простам і типаваным формате. Вкладзеныя структуры маскуюць інфармацыю пра тое, який вузел запісаў канкрэтны поле, і спаказваюць продовжэнне роботы пасля перерываў. Этап «Урокі, выведзеныя з досвяду» працюе найкраща, калі яго розглядаць як мерыемую структуру. Зберагчыце адны ідеальны прыклад роботы, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану, перш чым расширваць сферу дзеяння. Храніце настройкі параду ў коде прыемліка. Файлы сераў, базы секрэтных даных і флагі функцыйяў должны знаходзіцца ў аднам месцы, куда аператары можу аудытаваць іх без неабходнасці чытання всего графа.
Заключныя мысляў
У стадії «Заключныя мысли» неабяцо практычна апісацыя вхідных дадзеных, адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага адпаведнага ад
Зберагаюце стан графа ў простам і типаваным формате. Вкладаныя блобы маскуюць інфармацію пра тое, який вузел запісаў якое поле, і спакошуюць продовжэнне роботы пасля перерываў.
Калі дозволяе бюджет, дадзіце тэст на перакананне, які працюе над критычным шляхам у CI з викорыстаннем фіксатываў, а не рэальных платных API.
Конфігурацыю трэба зберагаць паза кодам прыкладнай програмы. Файлы сераўнавання, хранільнікі секрэтных данных і флагі функцыяй должны знаходзіцца ў аднам месцы, куда аператары можуць аудытуваць іх без неабяжнага чытання всего графа.
Зберагаюце стан графа ў простам і типаваным формате. Вкладаныя блобы маскуюць інфармацію пра тое, який вузел запісаў якое поле, і спакошуюць продовжэнне роботы пасля перерываў.
Перш чым апранаваць стак, заморозьце версіі, зафіксуйце ідеальны транскрыпт для критычнага шляху і паказваце крокі для атрыбутавання. У спакульнаваных сераўнаваннях неабходны ліміты швайнасці, перакананні ў прыналежнасці і чыстае вялоўнік для змены секрэтных данных. Валіце надзвычайную надзяйнасць працоўнікаў працоўнікам, а не крэатыўныя разовыя дэманстраціі.
Запіскі для пакета b6a1f372162d: не класты ключі прадастоўцаў у репазітарыю, задаць максымальны ліміт токена на сесію, а таксама зберагчы транскрыпціі праза фіксатурамі для ацэнкі, каб пазнейшыя замены моделяў заставаліся пораўнанымі.