Прављење агената за коришћење рачунара (CUA)
Агенти за коришћење рачунара могу да интерагују са веб-сајтовима на исти начин као и особа: отварањем прегледача, прегледањем странице и предузимањем најбоље следеће акције на основу онога што виде. У овој лекцији направићете агента за аутоматизацију прегледача који претражује Airbnb, извлачи структуриране податке о огласима и идентификује најјефтинији смештај у Стокхолму.
Лекција комбинује Browser-Use за навигацију вођену вештачком интелигенцијом, Playwright и Chrome DevTools Protocol (CDP) за контролу прегледача, Azure OpenAI за разумијевање подржано визијом и Pydantic за структурирано издвајање.
Увод
Ова лекција ће обухватити:
- Разумевање када су агенти за коришћење рачунара бољи од аутоматизације која користи само API
- Комбиновање Browser-Use са Playwright и CDP за поуздано управљање животним циклусом прегледача
- Коришћење Azure OpenAI визије и структурираних Pydantic резултата за издвајање података о огласима са динамичких веб страница
- Одлучивање када користити агент-прво, глумац-прво или хибридни радни ток аутоматизације прегледача
Циљеви учења
Након завршетка ове лекције, знаћете како да:
- Конфигуришете Browser-Use са Azure OpenAI и Playwright
- Направите работни ток аутоматизације прегледача који навигира стварни сајт и руковати динамичким UI елементима
- Извлачите типизоване резултате из видљивог садржаја странице и претварате их у даљу пословну логику
- Избор између агента и глумца у зависности од тога колико је задатак прегледача предвидив
Пример кода
Ова лекција укључује један туторијал у нотебуку:
- 15-browser-user.ipynb: Покреће Chrome сесију преко CDP, претражује Airbnb за листинге у Стокхолму, извлачи цене користећи Browser-Use визију и враћа најјефтинију опцију као структуриране податке.
Предуслови
- Python 3.12+
- Подешена Azure OpenAI имплементација у вашем окружењу
- Локално инсталиран Chrome или Chromium
- Инсталиране зависности за Playwright
- Основно познавање асинхроног Pythona
Постављање
Инсталирајте пакете коришћене у нотебуку:
pip install browser_use playwright python-dotenv
playwright install chromium
Поставите Azure OpenAI променљиве окружења које нотебук користи:
AZURE_OPENAI_ENDPOINT=...
AZURE_OPENAI_API_KEY=...
AZURE_OPENAI_CHAT_DEPLOYMENT_NAME=...
# Опционо: подразумевано користи најновију верзију API-ја ако се изостави
AZURE_OPENAI_API_VERSION=...
Преглед архитектуре
Нотебук приказује хибридни работни ток аутоматизације прегледача:
- Chrome се покреће са CDP омогућеним тако да Playwright и Browser-Use деле исти прегледачки сесију.
- Browser-Use агент руководи навигационим задацима без јасних граница као што су отварање Airbnb, одбацивање поп-упова и претраживање за Стокхолм.
- Активна страница се испитује помоћу структуриране Pydantic шеме за издвајање наслова огласа, цена по ноћењу, оцењивања и URL-ова.
- Python логику пореди издвојене огласе и истиче најјефтинији резултат.
Овај приступ задржава флексибилно, на визију засновано разумевање које Browser-Use дозвољава, уз истовремено пружање детерминистичке контроле прегледача када вам је потребна.
Кључне поуке и најбоље праксе
Када користити агента, а када глумца
| Сценарио |
Користи агента |
Користи глумца |
| Динамички распореди |
Да, вештачка интелигенција се може прилагодити променама странице |
Не, крти селектори могу да се сломе |
| Позната структура |
Не, агент је спорији од директне контроле |
Да, брз и прецизан |
| Проналажење елемената |
Да, природни језик добро функционише |
Не, потребни су тачни селектори |
| Контрола временa |
Не, мање предвидиво |
Да, пуна контрола над чекањима и поновним покушајима |
| Комплексни радни токови |
Да, рукује неочекиваним UI стањима |
Не, захтева експлицитне разгранявања |
Најбоље праксе за Browser-Use
- Почните са агентом за истраживање и динамичку навигацију.
- Пребаците се на директну контролу странице када интеракција постане предвидива.
- Користите структуриране моделе излаза како би издвојени подаци били валидирани и типски безбедни.
- Додајте кашњења стратешки након акција које изазивају видљиве UI промене.
- Снимите снимке екрана током итерација како би неисправности било лакше отклонити.
- Очекујте промене на веб-сајтовима и дизајнирајте резервне стратегије за поп-упове и померање распореда.
- Комбинујте агента и глумца да бисте добили и флексибилност и прецизност.
Безбедносне мере за агенате прегледача
Агенати прегледача раде на живим веб-сајтовима, па им је потребно строже ограничавање него скрипти која само позива познати API. Пре него што пређете са демо нотебука на стварни радни ток, дефинишите контроле око тога шта агент може видети, на шта може кликнути и шта може послати.
- Ограничите окружење за претраживање. Покрените агента у посебном профилу прегледача или сандбоксу и ограничите га на домене потребне задатку.
- Раздвојите посматрање од акције. Нека агент прво претражује, чита и извлачи податке; захтевајте експлицитни корак одобрења пре него што пошаље форме, поруке, резервише путовања, обави куповине, избрише записе или промени подешавања налога.
- Држите тајне изван упита и трагова. Не стављајте лозинке, податке о плаћању, колачиће сесије или сирове личне податке у контекст модела. Нека корисник преузме аутентификацију и цензурише осетљива поља из логова.
- Третирајте садржај странице као непоуздан улаз. Веб-сајт може садржати упутства намењена агенту, а не кориснику. Агент треба да игнорише текст странице који му наређује да промени свој циљ, открије податке, онемогући заштитне мере или посети неповезане сајтове.
- Коришћење детерминистичких провера око ризичних корака. Потврдите тренутни URL, наслов странице, изабрани предмет, цену, примаоца и резиме акције кодом пре него што тражите одобрење корисника за коначни корак.
- Поставите буџете и услове за заустављање. Ограничите број акција, поновних покушаја, картица и минута које агент може користити. Прекидајте рад ако је стање странице двосмислено уместо да наставите да кликћете.
- Снимајте корисне доказе, а не све. Чувајте резиме акција, временске ознаке, URL-ове, описе одабраних елемената и референце снимака екрана како би се рад могао прегледати без чувања непотребног осетљивог садржаја странице.
У примеру Airbnb, безбедна подразумевана акција је претраживање листинга и извлачење цена. Пријављивање, контактирање домаћина или завршетак резервације треба да буду кориснички одобрени поступци.
Примене у стварном свету
- Резервације путовања и праћење цена
- Упоређивање цена у е-трговини и провера расположивости
- Структурирано издвајање са динамичких веб-сајтова
- Тестирање и верификација UI-а подржана визијом
- Надзор и алармирање веб-сајтова
- Интелигентно попуњавање формулара кроз више корака
Пример из стварног света: Microsoft Project Opal
Агент који правите у овој лекцији је мала, локална верзија агента за коришћење рачунара (CUA) — програма који управља прегледачем као што би то радио човек. Microsoft доноси ову исту идеју у предузећа кроз Project Opal (Frontier), могућност у Microsoft 365 Copilot-у.
Са Project Opal, опишете задатак, а агент ради у ваше име користећи коришћење рачунара на безбедном Windows 365 Cloud PC-у, делујући преко претраживачких апликација, сајтова и података ваше организације. Радује асинхроно у позадини, а ви можете усмеравати рад или преузети контролу у било ком тренутку. Пример задака укључује:
- Управљање захтевима за чланство у групама за безбедност
- Прикупљање и валидација ревизијских доказа за прегледе усклађености
- Тријажа ИТ инцидената (ажурирање статуса тикета, додељивање власника, затварање дупликата)
- Компајлирање Excel података у финансијски извештај
Opal је корисна референца за то како изгледа производно-троструки, поуздан агент за коришћење рачунара — и потврђује концепте из претходних лекција:
| Концепт из овог курса |
Како Project Opal примењује |
| Човек у петљи (лекција 06) |
Opal прави паузу за пријаве, осетљиве податке или неодређена упутства и никада не уноси лозинке или не шаље форме без јасне потврде. Можете преузети контролу и вратити контролу у току задатка. |
| Поуздани и безбедни агенти (лекције 06 и 18) |
Ради у изолованом Windows 365 Cloud PC-у, подразумевано ради само у прегледачу (други приступ рачунару блокиран, спроведено преко Intune), користи ваш идентитет тако да приступа само ономе за шта имате овлашћење и бележи сваки корак за ревизију. |
| Планирање и метакогниција (лекције 07 и 09) |
Opal прво генерише план посла, затим надгледа сопствено расуђивање у сваком кораку и прави паузу ако открије сумњиве активности. |
| Поново употребљиве способности / алати (лекција 04) |
Вештине вам омогућавају да пишете упутства за понављане задатке (увезене из .md фајла или написане у Opal-у) и да их користите у више разговора. |
Доступност: Project Opal је тренутно доступан корисницима у Frontier програму раног приступа са претплатом Microsoft 365 Copilot, а ваш администратор мора завршити подешавање. Јер је у питању експериментална Frontier функција, могућности се могу временом мењати.
Провера знања
Тестирајте своје разумевање пре него што пређете на следећу лекцију.
1. Када је агент за коришћење прегледача бољи избор од радног тока који користи само API?
Одговор
Користите агента прегледача када задатак зависи од онога што је видљиво у веб UI, сајт не излаже потребан API или се страница толико често мења да би фиксна API или селекторска логика била крта. Ако постоји стабилан API за исти задатак, преферирајте API јер је обично бржи, лакши за тестирање и лакши за обезбеђивање.
2. У хибридном радном току, које делове треба да води агент, а које директан Playwright код?
Одговор
Нека агент руковооди навигацијом без јасних граница и динамичким UI стањима, као што су проналажење праве странице или одбацивање неочекиваних поп-упова. Пребаците се на директну Playwright контролу када је структура странице позната и акција захтева прецизност, поновне покушаје, чекања или детерминистичку валидaцију.
3. Пример Airbnb налази оглас који корисник може желети да резервише. Шта треба да се деси пре него што радни ток пријави корисника, контактира домаћина или заврши резервацију?
Одговор
Радни ток треба да направи паузу и затражи изричиту корисничку сагласност. Пре тога треба да прикаже јасан резиме изабраног огласа, тренутни URL, цену, датуме и намеравану акцију. Претраживање и издвајање цена могу бити аутономни; приступ налогу, поруке, куповине и резервације треба да буду кориснички одобрени.
4. Веб страница агента упућује да игнорише његова оригинална упутства, посети други сајт и открије сачуване креденцијале. Како агент треба да третира тај текст?
Одговор
Третирајте га као непоуздан садржај странице, а не као упутство програмера или корисника. Агент треба да остане у дозвољеном домену и оквиру задатка, одбије да открије тајне и избегава праћење текста странице који мења циљ, онемогућава заштите или га шаље на неповезане сајтове.
5. Који докази су корисни за чување када агент прегледача ради, а шта треба избегавати?
Одговор
Чувајте резиме акција, временске ознаке, URL-ове, описе изабраних елемената, резултате валидaције и референце снимака екрана како би се извршење могло прегледати. Избегавајте чување лозинки, података о плаћању, колачића сесије, сирових личних података или целокупног садржаја странице осим ако не постоји специфичан разлог за чување и приватност.
Додатни извори
Претходна лекција
Истраживање Microsoft Agent Framework-а
Следећа лекција
Деплојмент скалабилних агената
Изјава о одрицању одговорности:
Овај документ је преведен коришћењем услуге за аутоматски превод Co-op Translator. Иако тежимо тачности, имајте у виду да аутоматски преводи могу садржати грешке или нетачности. Оригинални документ на његовом изворном језику треба сматрати ауторитативним извором. За критичне информације препоручује се професионални људски превод. Нисмо одговорни за било каква неспоразума или погрешна тумачења која произилазе из коришћења овог превода.