ai-agents-for-beginners

Bygge datamaskinbrukagenter (CUA)

Datamaskinbrukagenter kan samhandle med nettsteder på samme måte som et menneske: ved å åpne en nettleser, inspisere siden og ta det beste neste steget basert på det de ser. I denne leksjonen skal du bygge en nettleserautomatiseringsagent som søker på Airbnb, henter ut strukturerte listeopplysninger, og identifiserer det billigste oppholdet i Stockholm.

Leksjonen kombinerer Browser-Use for AI-drevet navigasjon, Playwright og Chrome DevTools-protokollen (CDP) for nettleserkontroll, Azure OpenAI for visjonsaktivert resonnering, og Pydantic for strukturert utvinning.

Introduksjon

Denne leksjonen vil dekke:

Læringsmål

Etter å ha fullført denne leksjonen, vil du kunne:

Kodeeksempel

Denne leksjonen inkluderer en notatbokveiledning:

Forutsetninger

Oppsett

Installer pakkene brukt i notatboken:

pip install browser_use playwright python-dotenv
playwright install chromium

Sett Azure OpenAI miljøvariablene brukt av notatboken:

AZURE_OPENAI_ENDPOINT=...
AZURE_OPENAI_API_KEY=...
AZURE_OPENAI_CHAT_DEPLOYMENT_NAME=...
# Valgfritt: som standard brukes den nyeste API-versjonen når den utelates
AZURE_OPENAI_API_VERSION=...

Arkitekturoversikt

Notatboken demonstrerer en hybrid arbeidsflyt for nettleserautomatisering:

  1. Chrome starter med CDP aktivert slik at både Playwright og Browser-Use kan dele samme nettleserøkt.
  2. En Browser-Use-agent håndterer åpent avsluttede navigasjonsoppgaver som å åpne Airbnb, avvise popup-vinduer og søke etter Stockholm.
  3. Den aktive siden inspiseres med et strukturert Pydantic-skjema for å hente ut listeoverskrifter, nattpriser, vurderinger og URL-er.
  4. Python-logikk sammenligner de hentede listene og markerer det billigste resultatet.

Denne tilnærmingen beholder den fleksible, visjonsbaserte resonneringen som Browser-Use er god på, samtidig som du får deterministisk nettleserkontroll når du trenger det.

Viktige læringspunkter og beste praksis

Når bruke Agent vs Aktør

Scenario Bruk Agent Bruk Aktør
Dynamiske oppsett Ja, AI kan tilpasse seg sideendringer Nei, sprø selektorer kan brytes
Kjent struktur Nei, en agent er tregere enn direkte kontroll Ja, rask og presis
Finne elementer Ja, naturlig språk fungerer godt Nei, nøyaktige selektorer kreves
Tidskontroll Nei, mindre forutsigbar Ja, full kontroll over ventetider og forsøk
Komplekse arbeidsflyter Ja, håndterer uventede UI-tilstander Nei, krever eksplisitt forgreining

Browser-Use beste praksis

  1. Start med en agent for utforskning og dynamisk navigasjon.
  2. Gå over til direkte sidekontroll når interaksjonen blir forutsigbar.
  3. Bruk strukturerte utdata-modeller slik at utvunnet data valideres og er typetrygg.
  4. Legg til forsinkelser strategisk etter handlinger som utløser synlige UI-endringer.
  5. Ta skjermbilder under iterasjoner slik at feil blir enklere å feilsøke.
  6. Forvent at nettsteder endrer seg og utform tilbakefallstrategier for popup-er og layoutskift.
  7. Kombiner agent- og aktørmønstre for å få både fleksibilitet og presisjon.

Sikkerhetsvern for nettleseragenter

Nettleseragenter opererer på levende nettsteder, så de trenger strengere grenser enn et skript som kun kaller et kjent API. Før du går fra en notatbokdemo til en ekte arbeidsflyt, definer kontrollene rundt hva agenten kan se, klikke på og sende inn.

  1. Avgrens nettlesermiljøet. Kjør agenten i en dedikert nettleserprofil eller sandkasse, og begrens den til domener som kreves for oppgaven.
  2. Skill observasjon fra handling. La agenten søke, lese og hente ut data først; krev et eksplisitt godkjenningssteg før den sender inn skjemaer, sender meldinger, bestiller reiser, foretar kjøp, sletter poster eller endrer kontoinnstillinger.
  3. Hold hemmeligheter ute av prompt og logger. Plasser ikke passord, betalingsinformasjon, sesjonscookies eller rå persondata i modellkonteksten. La brukeren ta over for autentisering og sensurer sensitive felt fra logger.
  4. Behandle sideinnhold som ikke-pålitelig input. Et nettsted kan inneholde instruksjoner ment for agenten, ikke brukeren. Agenten bør ignorere sidetekst som ber den endre mål, avsløre data, deaktivere sikkerhetsmekanismer eller besøke irrelevante nettsteder.
  5. Bruk deterministiske sjekker rundt risikable steg. Verifiser gjeldende URL, sidetittel, valgt element, pris, mottaker og handlingsoppsummering med kode før brukeren blir bedt om å godkjenne siste steg.
  6. Sett budsjetter og stoppbetingelser. Begrens antall handlinger, forsøk, faner og minutter agenten kan bruke. Stopp når sidetilstanden er uklar i stedet for å fortsette å klikke.
  7. Registrer nyttige bevis, ikke alt. Behold handlingsoppsummeringer, tidsstempler, URL-er, beskrivelser av valgte elementer og skjermbildereferanser slik at feil kan gjennomgås uten å lagre unødvendig sensitivt sideinnhold.

I Airbnb-eksemplet er det sikre standard å søke i lister og hente ut priser. Innlogging, kontakt med vert eller fullføring av booking bør være en separat brukergodkjent handling.

Virkelige Bruksområder

Virkelig eksempel: Microsoft Project Opal

Agenten du bygger i denne leksjonen er en liten, lokal utgave av en datamaskinbrukagent (CUA) — et program som styrer en nettleser slik et menneske ville gjort. Microsoft bringer denne samme ideen til bedrifter med Project Opal (Frontier), en funksjon i Microsoft 365 Copilot.

Med Project Opal beskriver du en oppgave, og agenten jobber på dine vegne ved å bruke datamaskinbruk på en sikker Windows 365 Cloud PC, som opererer på tvers av organisasjonens nettleserbaserte apper, nettsteder og data. Den jobber asynkront i bakgrunnen, og du kan styre arbeidet eller ta kontroll når som helst. Eksempeloppgaver inkluderer:

Opal er en nyttig referanse for hvordan en produksjonsklar, pålitelig datamaskinbrukagent ser ut — og forsterker konsepter fra tidligere leksjoner:

Konsept i dette kurset Hvordan Project Opal anvender det
Menneske-i-sløyfen (Leksjon 06) Opal pauser for innloggingsinformasjon, sensitive data eller uklare instruksjoner, og skriver aldri inn passord eller sender inn skjemaer uten eksplisitt bekreftelse. Du kan ta kontroll og gi tilbake kontroll midt i oppgaven.
Pålitelige og sikre agenter (Leksjon 06 & 18) Kjører i isolert Windows 365 Cloud PC, er som standard kun nettleserbasert (annen datamaskintilgang blokkert, håndhevet via Intune), bruker din identitet så den kun får tilgang til det du er autorisert for, og logger alle handlinger for revisjon.
Planlegging og metakognisjon (Leksjon 07 & 09) Opal lager først en plan for jobben, overvåker så sin egen resonnering på hvert steg, og pauser hvis den oppdager mistenkelig aktivitet.
Gjenbrukbare evner/verktøy (Leksjon 04) Ferdigheter lar deg skrive instruksjoner for repeterbare jobber (importert fra en .md-fil eller laget i Opal) og gjenbruke dem i samtaler.

Tilgjengelighet: Project Opal er for øyeblikket tilgjengelig for brukere i Frontier tidlig tilgangsprogram med Microsoft 365 Copilot-abonnement, og administrator må fullføre oppsett. Siden det er en eksperimentell Frontier-funksjon, kan funksjonene endres over tid.

Kunnskapssjekk

Test din forståelse før du går videre til neste leksjon.

1. Når er en nettleserbasert datamaskinbrukagent bedre enn en arbeidsflyt som kun bruker API?

Svar Bruk en nettleseragent når oppgaven avhenger av hva som er synlig i en web-UI, siden ikke eksponerer nødvendig API, eller siden endres hyppig nok til at fast API- eller selektorkode ville bli sprø. Hvis et stabilt API finnes for samme oppgave, foretrekk API fordi det vanligvis er raskere, lettere å teste og sikrere.

2. I en hybrid arbeidsflyt, hvilke deler bør agenten håndtere og hvilke deler bør håndteres av direkte Playwright-kode?

Svar La agenten håndtere åpne navigasjonsoppgaver og dynamiske UI-tilstander, som å finne riktig side eller avvise uventede popup-vinduer. Bytt til direkte Playwright-kontroll når sidestrukturen er kjent og handlingen trenger presisjon, forsøk, venting eller deterministisk validering.

3. Airbnb-eksemplet finner en annonse brukeren kanskje vil bestille. Hva bør skje før arbeidsflyten logger inn, kontakter en vert eller fullfører en bestilling?

Svar Arbeidsflyten bør pause og be om eksplisitt brukergodkjenning. Før den spør, bør den vise en klar oppsummering av valgt annonse, nåværende URL, pris, datoer og tiltenkt handling. Søking og prishenting kan være autonomt; kontotilgang, meldinger, kjøp og bestillinger bør være brukergodkjent.

4. En nettside instruerer agenten til å ignorere sine opprinnelige instruksjoner, besøke et annet nettsted og avsløre lagrede legitimasjoner. Hvordan bør agenten behandle denne teksten?

Svar Behandle den som upålitelig sideinnhold, ikke som instruksjon fra utvikler eller bruker. Agenten bør holde seg innenfor tillatt domene og oppgaveomfang, nekte å avsløre hemmeligheter og unngå å følge sidetekst som endrer mål, deaktiverer sikkerhetstiltak eller sender den til irrelevante nettsteder.

5. Hvilket bevis er nyttig å beholde når en nettleseragent kjører, og hva bør unngås?

Svar Behold handlingsoppsummeringer, tidsstempler, URL-er, beskrivelser av valgte elementer, valideringsresultater og skjermbildereferanser slik at gjennomgang kan utføres. Unngå lagring av passord, betalingsdetaljer, sesjonscookies, rå persondata eller fullstendig sideinnhold med mindre det finnes en spesifikk grunn for lagring og personvern.

Ytterligere ressurser

Forrige leksjon

Utforske Microsoft Agent Framework

Neste leksjon

Distribuere skalerbare agenter


Ansvarsfraskrivelse: Dette dokumentet er oversatt ved hjelp av AI-oversettelsestjenesten Co-op Translator. Selv om vi streber etter nøyaktighet, vær oppmerksom på at automatiske oversettelser kan inneholde feil eller unøyaktigheter. Det opprinnelige dokumentet på originalspråket skal betraktes som den autoritative kilden. For kritisk informasjon anbefales profesjonell menneskelig oversettelse. Vi er ikke ansvarlige for eventuelle misforståelser eller feiltolkninger som oppstår ved bruk av denne oversettelsen.