ai-agents-for-beginners

Kompiuterio naudojimo agentų (CUA) kūrimas

Kompiuterio naudojimo agentai gali sąveikauti su svetainėmis taip pat, kaip ir žmogus: atidarant naršyklę, tikrinant puslapį ir imantis geriausio tolimesnio veiksmo pagal tai, ką jie mato. Šiame pamokoje sukursite naršyklės automatizavimo agentą, kuris ieško Airbnb, ištraukia struktūrizuotus skelbimų duomenis ir nustato pigiausią viešnagę Stokholme.

Pamoka sujungia Browser-Use AI valdomam naršymui, Playwright ir Chrome DevTools protokolą (CDP) naršyklės valdymui, Azure OpenAI vaizdu pagrįstam samprotavimui ir Pydantic struktūrizuotam duomenų gavimui.

Įvadas

Šioje pamokoje bus aptarta:

Mokymosi tikslai

Baigę šią pamoką, žinosite, kaip:

Kodo pavyzdys

Šioje pamokoje rasite vieną užrašų bloką:

Reikalavimai

Diegimas

Įdiekite paketus, naudojamus užrašų bloke:

pip install browser_use playwright python-dotenv
playwright install chromium

Nustatykite Azure OpenAI aplinkos kintamuosius, kuriuos naudoja užrašų blokas:

AZURE_OPENAI_ENDPOINT=...
AZURE_OPENAI_API_KEY=...
AZURE_OPENAI_CHAT_DEPLOYMENT_NAME=...
# Neprivaloma: pagal numatytuosius nustatymus naudojama naujausia API versija, kai paliekama tuščia
AZURE_OPENAI_API_VERSION=...

Architektūros apžvalga

Užrašų blokas demonstruoja hibridinę naršyklės automatizavimo darbo eigą:

  1. Chrome paleidžiamas su įjungtu CDP, tad tiek Playwright, tiek Browser-Use gali naudoti tą pačią naršyklės sesiją.
  2. Browser-Use agentas tvarko atvirus navigacijos uždavinius, tokius kaip Airbnb atidarymas, iškylančių langų atmetimas ir paieška Stokholme.
  3. Aktyvus puslapis tikrinamas pagal struktūrizuotą Pydantic schemą, kad būtų ištraukti skelbimų pavadinimai, kainos už naktį, įvertinimai ir URL.
  4. Python logika palygina išgautus skelbimus ir paryškina pigiausią rezultatą.

Šis požiūris išlaiko lankstų, vaizdu pagrįstą samprotavimą, kuriame Browser-Use yra stiprus, kartu suteikdamas deterministinį naršyklės valdymą, kai to reikia.

Pagrindinės įžvalgos ir gerosios praktikos

Kada naudoti agentą ar aktorių

Scenarijus Naudoti agentą Naudoti aktorių
Dinamiški maketai Taip, AI gali prisitaikyti prie puslapio pokyčių Ne, trapūs selektoriai gali sugesti
Žinoma struktūra Ne, agentas veikia lėčiau nei tiesioginė kontrolė Taip, greita ir tiksli
Elementų radimas Taip, natūrali kalba veikia gerai Ne, reikalingi tikslūs selektoriai
Laiko valdymas Ne, mažiau nuspėjama Taip, visiškas laukimo ir bandymų kontroliavimas
Sudėtingos darbo eigų Taip, tvarko netikėtas UI būsenas Ne, reikalauja aiškaus šakojimo

Browser-Use geriausios praktikos

  1. Pradėkite nuo agento tyrinėjimui ir dinamiškai navigacijai.
  2. Pereikite prie tiesioginės puslapio kontrolės, kai sąveika tampa nuspėjama.
  3. Naudokite struktūrizuotos išvesties modelius, kad išgauti duomenys būtų patikrinti ir tipų saugūs.
  4. Strategiškai pridėkite vėlavimus po veiksmų, kurie sukelia matomus UI pokyčius.
  5. Fiksuokite ekrano kopijas iteracijos metu, kad gedimus būtų lengviau analizuoti.
  6. Tikėkitės, kad svetainės keisis, ir sukurkite atsarginius planus iškylantiems langams ir maketų pasikeitimams.
  7. Derinkite agento ir aktoriaus modelius, kad gautumėte ir lankstumą, ir tikslumą.

Saugumo gairės naršyklės agentams

Naršyklės agentai veikia tiesiogiai svetainėse, tad jiems reikia griežtesnių ribų nei skriptui, kuris tik kviečia žinomą API. Prieš pereinant nuo užrašų bloko demonstravimo prie realios darbo eigos, apibrėžkite, ką agentas gali matyti, spausti ir siųsti.

  1. Apribokite naršymo aplinką. Vykdykite agentą specialiame naršyklės profilyje ar smėlio dėžėje ir ribokite prie užduočiai reikalingų domenų.
  2. Atskirkite stebėjimą nuo veiksmų. Leiskite agentui pirmiausia ieškoti, skaityti ir išgauti duomenis; reikalaukite aiškaus patvirtinimo, prieš siunčiant formas, žinutes, užsakant keliones, atlikus pirkimus, trinant įrašus ar keičiant paskyros nustatymus.
  3. Neįtraukite slaptų duomenų į užklausas ir pėdsakus. Neskelbkite slaptažodžių, mokėjimo duomenų, sesijų slapukų ar asmeninių duomenų atvirame modelio kontekste. Leiskite naudotojui autentifikuotis ir ištrinti jautrius laukus iš žurnalų.
  4. Vertinkite puslapio turinį kaip nepatikimą įvestį. Svetainėje gali būti instrukcijų agentui, ne naudotojui. Agentas turėtų ignoruoti teksto dalis, kurios verčia keisti tikslus, atskleisti duomenis, išjungti apsaugas ar lankytis nesusijusiose svetainėse.
  5. Naudokite determinuotus patikrinimus dėl rizikingų veiksmų. Patikrinkite dabartinį URL, puslapio pavadinimą, pasirinktą elementą, kainą, gavėją ir veiksmų santrauką su kodu prieš prašant naudotojo patvirtinimo galutiniam veiksmui.
  6. Nustatykite biudžetus ir sustabdymo sąlygas. Apribokite agento veiksmų, pakartojimų, skirtukų ir laiko kiekį. Sustabdykite darbą, kai puslapio būsena netiksli, vietoje tęsiamo spustelėjimo.
  7. Fiksuokite naudotą įrodymą, o ne viską. Saugojimo santraukas, laiko žymes, URL, pasirinktų elementų aprašymus, ekrano kopijų nuorodas, kad būtų galima peržiūrėti klaidas, ne saugant nereikalingą jautrų puslapio turinį.

Airbnb pavyzdyje saugus numatytasis veiksmas yra ieškoti skelbimų ir išgauti kainas. Prisijungimas, susisiekimas su šeimininku ar užsakymo atlikimas turi būti atskiri naudotojo patvirtinti veiksmai.

Tikri panaudojimo atvejai

Tikras pavyzdys: Microsoft Project Opal

Šiame pamokoje kuriamas agentas yra nedidelė, vietinė kompiuterio naudojimo agente (CUA) versija — programa, kuri valdo naršyklę taip, kaip tai darytų žmogus. Microsoft diegia šią idėją verslui per Project Opal (Frontier) — funkciją Microsoft 365 Copilot.

Su Project Opal apibūdinate užduotį, o agentas veikia jūsų vardu naudodamas kompiuterio naudojimą saugiame Windows 365 Cloud PC, operuodamas jūsų organizacijos naršyklės programose, svetainėse ir duomenyse. Jis veikia asinchroniškai fone, o jūs galite bet kada nukreipti darbą arba perimti kontrolę. Pavyzdiniai darbai apima:

Opal yra naudingas pavyzdys, kaip atrodo gamybinės klasės, patikimas kompiuterio naudojimo agentas — ir jis sustiprina ankstesnių pamokų konceptus:

Koncepcija šiame kurse Kaip Project Opal ją įgyvendina
Žmogus procese (Pamoka 06) Opal laukia prisijungimo duomenų, jautrios informacijos ar neaiškių nurodymų, niekada neįveda slaptažodžių ar neišsiunčia formų be aiškaus patvirtinimo. Galite Perimti kontrolę ir Grąžinti kontrolę proceso viduryje.
Patikimi ir saugūs agentai (Pamokos 06 ir 18) Veikia izoliuotame Windows 365 Cloud PC, pagal nutylėjimą tik naršyklė (kitokie kompiuterio pasiekiamumai blokuojami per Intune), naudoja jūsų tapatybę, tad pasiekia tik tai, ką leidžiama, ir registruoja kiekvieną veiksmą audito tikslams.
Planavimas & metakognicija (Pamokos 07 ir 09) Opal pirmiausia sudaro darbo planą, tada prižiūri savo samprotavimą kiekviename žingsnyje ir sustoja, jei aptinka įtartiną veiklą.
Pakartotinai naudojamos galimybės / įrankiai (Pamoka 04) Įgūdžiai leidžia rašyti instrukcijas kartotinams darbams (importuojamus iš .md failo ar kuriamus Opal aplinkoje) ir naudoti juos pokalbiuose.

Prieinamumas: Project Opal šiuo metu pasiekiamas vartotojams Frontier ankstyvos prieigos programoje turint Microsoft 365 Copilot prenumeratą, ir administratoriui būtina atlikti nustatymus. Kadangi tai eksperimentinė Frontier funkcija, galimybės gali keistis.

Žinių tikrinimas

Patikrinkite savo supratimą prieš pereidami prie kitos pamokos.

1. Kada naršyklėje veikiantis kompiuterio naudojimo agentas yra geresnis už API ar užduoties darbo eigą?

Atsakymas Naudokite naršyklės agentą, kai užduotis priklauso nuo to, kas matoma interneto vartotojo sąsajoje, svetainė neteikia reikiamos API, arba puslapis keičiasi pakankamai dažnai, kad fiksuota API ar selektorių logika būtų trapūs. Jei egzistuoja stabili API tais pačiais tikslais, pirmenybę teikite API, nes ji paprastai yra greitesnė, lengviau testuojama ir saugesnė.

2. Hibridinėje darbo eigoje, kokias dalis turėtų valdyti agentas ir kokias tiesioginis Playwright kodas?

Atsakymas Tegul agentas tvarko atvirus navigacijos ir dinamiškų UI būsenų uždavinius, tokius kaip tinkamo puslapio radimas arba netikėtų iškylančių langų uždarymas. Pereikite prie tiesioginio Playwright valdymo, kai puslapio struktūra žinoma ir veiksmui reikalingas tikslumas, pakartojimai, laukimai ar determinuotas patikrinimas.

3. Airbnb pavyzdyje randamas skelbimas, kurį naudotojas galbūt norės užsakyti. Kas turėtų įvykti prieš darbo eigai prisijungiant, susisiekus su šeimininku ar užbaigiant užsakymą?

Atsakymas Darbo eiga turėtų sustoti ir paprašyti aiškaus naudotojo patvirtinimo. Prieš tai parodykite aiškią pasirinktą skelbimą, esamą URL, kainą, datas ir numatomą veiksmą. Ieškojimas ir kainų išgavimas gali būti autonomiški; paskyros prieiga, žinutės, pirkimai ir užsakymai turi būti patvirtinti naudotojo.

4. Internetinis puslapis nurodo agentui ignoruoti originalias instrukcijas, lankytis kitoje svetainėje ir atskleisti išsaugotus prisijungimo duomenis. Kaip agentas turėtų traktuoti tą tekstą?

Atsakymas Traktuokite jį kaip nepatikimą puslapio turinį, o ne kaip kūrėjo ar naudotojo nurodymą. Agentas turėtų likti leidžiamoje domene ir užduoties ribose, atsisakyti atskleisti paslaptis ir vengti sekti puslapio teksto, kuris keičia tikslą, išjungia apsaugas ar nukreipia į nesusijusias svetaines.

5. Kokius įrodymus verta išsaugoti agentui veikimo metu, o ko reiktų vengti?

Atsakymas Saugokite veiksmų santraukas, laiko žymes, URL, pasirinktų elementų aprašymus, patikrinimų rezultatus ir ekrano kopijų nuorodas, kad būtų galima peržiūrėti veikimą. Venkite saugoti slaptažodžius, mokėjimo duomenis, sesijų slapukus, neapdorotus asmeninius duomenis ar visą puslapio turinį be aiškios pagrįstos poreikio dėl saugojimo ir privatumo.

Papildomi šaltiniai

Ankstesnė pamoka

Microsoft agentų sistemos tyrinėjimas

Kitoji pamoka

Mastelio keitimo agentų išdėstymas


Atsakomybės apribojimas: Šis dokumentas buvo išverstas naudojant dirbtinio intelekto vertimo paslaugą Co-op Translator. Nors siekiame tikslumo, prašome atkreipti dėmesį, kad automatiniai vertimai gali turėti klaidų ar netikslumų. Originalus dokumentas jo gimtąja kalba laikomas autoritetingu šaltiniu. Svarbiai informacijai rekomenduojama naudoti profesionalų žmogiškąjį vertimą. Mes neatsakome už jokius nesusipratimus ar neteisingą interpretaciją, kilusią naudojantis šiuo vertimu.