Code Velocity
Udviklerværktøjer

Bedrock AgentCore: Integrer live AI-browseragent i React

·5 min læsning·AWS·Original kilde
Del
Amazon Bedrock AgentCore arkitekturdiagram, der viser dataflow for indlejring af en live AI-browseragent i en React-app.

Bedrock AgentCore: Integrer live AI-browseragent i React

Æraen med AI-agenter, der fungerer som uigennemsigtige "sorte bokse", nærmer sig hastigt sin afslutning. Efterhånden som kunstig intelligens påtager sig stadig mere komplekse og autonome opgaver, især i webmiljøer, har efterspørgslen efter gennemsigtighed, tillid og brugerkontrol aldrig været højere. Brugere skal forstå og verificere de handlinger, en AI-agent udfører på deres vegne, især når disse handlinger involverer navigation på websites, interaktion med følsomme data eller udførelse af kritiske arbejdsgange.

For at imødegå denne grundlæggende udfordring introducerer Amazon Web Services en kraftfuld løsning: Amazon Bedrock AgentCore BrowserLiveView-komponenten. Dette innovative værktøj giver udviklere mulighed for at indlejre et live, realtids-videofeed af en AI-agents browsersession direkte i deres React-applikationer. Denne integration afmystificerer ikke kun agentens adfærd, men giver også brugerne hidtil uset synlighed og en afgørende følelse af kontrol.

Som en del af Bedrock AgentCore TypeScript SDK'en forenkler BrowserLiveView-komponenten integrationen af live browserstrømme i din applikation med blot et par linjer JavaScript XML (JSX). Ved at udnytte den højtydende Amazon DCV-protokol gengiver den agentens session og omdanner effektivt en traditionelt skjult proces til en visuelt verificerbar oplevelse. Denne artikel vil guide dig gennem processen, fra start af en session og generering af Live View URL'en, til rendering af strømmen i din React-applikation, og endelig, hvordan du forbinder en AI-agent til at styre browseren, mens dine brugere ser med.

Forbedring af AI-agentens gennemsigtighed med BrowserLiveView

I dagens hurtigt udviklende landskab af agentisk AI lover evnen til at delegere web-browsing-opgaver til AI-agenter enorme effektivitetsgevinster. Men dette løfte er ofte tempereret af bekymringer om agentens pålidelighed, nøjagtighed og sikkerhed. Uden et klart vindue ind i en agents operationer, er brugere overladt til at stole på et system, de ikke kan observere, hvilket kan hindre adoption og begrænse implementering i følsomme scenarier.

BrowserLiveView-komponenten konfronterer direkte denne udfordring ved at åbne AI-agentens "øjne" for brugeren. Forestil dig en AI-agent, der har til opgave at udfylde en kompleks onlineformular eller hente specifik information fra flere websites. Traditionelt ville brugeren kun modtage et endeligt output eller en oversigt over handlinger, hvilket efterlod dem til at spekulere over de mellemliggende trin. Med en indlejret Live View kan brugere følge hver navigation, formularindsendelse og søgning i realtid, mens agenten udfører den.

Denne øjeblikkelige visuelle bekræftelse er uvurderlig. Den beroliger brugerne om, at agenten er på den korrekte side, interagerer med de rigtige elementer og skrider frem gennem arbejdsgangen som tilsigtet. Denne realtids-feedback-loop går ud over blot tekstbekræftelser; den giver et håndgribeligt, verificerbart revisionsspor af agentens adfærd, hvilket fremmer større tillid og fortrolighed. For arbejdsgange, der er regulerede eller involverer følsomme kundedata, kan denne visuelle dokumentation være kritisk for overholdelse og ansvarlighed. Desuden, i scenarier, der kræver menneskelig overvågning, kan en supervisor direkte observere agentens handlinger inden for applikationen og gribe ind, hvis nødvendigt, uden at forstyrre flowet.

Arkitekturen bag realtidsobservation af agenter

Den sømløse integration af en live AI-browseragent i en React-applikation drevet af Amazon Bedrock AgentCore orkestreres gennem en sofistikeret, men effektiv arkitektur, der består af tre nøglekomponenter. Forståelsen af samspillet mellem disse dele er afgørende for succesfuld implementering og udrulning.

KomponentRolle i arkitekturNøgle-teknologier/protokoller
Brugerens webbrowserKørrer React-applikationen, der indeholder BrowserLiveView-komponenten; etablerer en WebSocket-forbindelse for at modtage DCV-strømmen; håndterer videorendering.React, BrowserLiveView-komponent, WebSocket, Amazon DCV
ApplikationsserverFungerer som AI-agenten; orkestrerer forbindelser; starter sessioner via Bedrock AgentCore API; genererer SigV4-præsignerede URL'er; håndterer sessionstyring og godkendelse.Node.js (eller lignende), Amazon Bedrock AgentCore API, SigV4 URL'er, REST, AI-modelleringslogik
AWS Cloud (Bedrock AgentCore & Tjenester)Hoster isolerede cloud-browser-sessioner; leverer browserautomatiseringsslutpunkt (Playwright CDP); leverer Live View streaming-slutpunkt (DCV).Amazon Bedrock AgentCore, Amazon Bedrock, Playwright CDP, Amazon DCV

Interaktionen begynder med brugerens webbrowser, som kører din React-applikation. Inden for denne applikation gengives BrowserLiveView-komponenten, der afventer en sikker, tidsbegrænset SigV4-præsigneret URL. Denne URL, genereret af din applikationsserver, er nøglen til at etablere en vedvarende WebSocket-forbindelse direkte til Bedrock AgentCore-tjenesten i AWS Cloud.

Din applikationsserver tjener et dobbelt formål: den hoster AI-agentens logik og fungerer som en mellemmand for sessionsstyring. Den kalder Amazon Bedrock AgentCore API'en for at initiere browser-sessioner og genererer derefter sikkert de SigV4-præsignerede URL'er, der giver din klientbrowser adgang til Live View-strømmen. Afgørende er, at selvom din server orkestrerer agentens handlinger og genererer de nødvendige legitimationsoplysninger, håndterer den ikke direkte videostrømmen selv.

Det tunge arbejde med browserautomatisering og videostreaming udføres i AWS Cloud. Amazon Bedrock AgentCore hoster isolerede cloud-browser-sessioner, der leverer både automatiserings-slutpunktet – som din AI-agent interagerer med ved hjælp af Playwright Chrome DevTools Protocol (CDP) – og Live View streaming-slutpunktet, drevet af Amazon DCV. Dette design sikrer, at DCV Live View-strømmen flyder direkte fra Amazon Bedrock AgentCore til brugerens browser. Denne direkte WebSocket-forbindelse omgår din applikationsserver, minimerer latenstid, reducerer dit infrastruktur-overhead og sikrer en flydende, realtids-visningsoplevelse.

Forudsætninger for implementering af din live AI-agent

Før du dykker ned i implementeringen af din live AI-browseragent, er det vigtigt at sikre, at dit udviklingsmiljø er korrekt konfigureret, og at du har de nødvendige AWS-ressourcer og tilladelser. Overholdelse af disse forudsætninger vil strømline din udviklingsproces og hjælpe med at opretholde en sikker operationel position.

  1. Node.js-miljø: Du skal have Node.js version 20 eller nyere installeret på dit system for at køre de server-side komponenter i din applikation.
  2. AWS-konto og region: En aktiv AWS-konto er påkrævet, med adgang til en understøttet AWS-region, hvor Amazon Bedrock AgentCore er tilgængelig.
  3. AWS-legitimationsoplysninger og -tilladelser: Dine AWS-legitimationsoplysninger skal have de passende Amazon Bedrock AgentCore Browser-tilladelser. Det er afgørende at følge princippet om mindste privilegium, når du konfigurerer AWS Identity and Access Management (IAM)-tilladelser. For øget sikkerhed skal du altid bruge midlertidige legitimationsoplysninger opnået fra AWS IAM Identity Center eller AWS Security Token Service (AWS STS), og undgå langvarige adgangsnøgler.
  4. Adgang til AI-model: Hvis du planlægger at bruge en AI-model til at drive agenten (som demonstreret i eksemplet, der bruger Amazon Bedrock Converse API'en med Anthropic Claude), skal du have adgang til den specifikke model og eventuelle tilknyttede AWS Bedrock-tilladelser. Husk dog, at Live View i sig selv er model-agnostisk, hvilket giver dig mulighed for at integrere enhver modeludbyder eller agentramme efter eget valg.
  5. SDK-installationer:
    • Installer bedrock-agentcore TypeScript SDK'en for at interagere med AgentCore:
      npm install bedrock-agentcore
      
    • Hvis du bruger AWS Bedrock til din AI-model, skal du installere AWS SDK for JavaScript:
      npm install @aws-sdk/client-bedrock-runtime
      

Koden til implementering af Live View er typisk opdelt: server-side kode (til sessionsstyring og AI-agentlogik) kører i Node.js, og klient-side kode (til gengivelse af Live View) kører i en React-applikation, ofte bundtet med værktøjer som Vite.

Trin-for-trin integration: Fra session til stream

Integration af en live AI-browseragent med Amazon Bedrock AgentCore involverer en klar, tre-trins proces, der forbinder din server-side logik med din klient-side React-applikation og de robuste muligheder i AWS Cloud.

1. Start en browser-session og generer Live View URL'en

Det første trin sker på din applikationsserver. Det er her din backend-logik initierer en browser-session inden for Amazon Bedrock AgentCore og sikkert får den nødvendige URL for at streame live-visningen.

Du vil bruge Browser-klassen fra bedrock-agentcore SDK'en. Denne klasse håndterer kompleksiteten ved at oprette og administrere isolerede browser-miljøer i skyen. Nøgleoutputtet fra dette trin er en SigV4-præsigneret URL, som giver sikker, midlertidig adgang til live videostrømmen fra browser-sessionen.

// Eksempel server-side kode (Node.js)
import { Browser } from 'bedrock-agentcore';
import { AgentCoreClient } from '@aws-sdk/client-bedrock-agentcore';

// Initialiser Bedrock AgentCore klient (sørg for at korrekte AWS-legitimationsoplysninger er konfigureret)
const agentCoreClient = new AgentCoreClient({ region: 'us-east-1' }); // Brug din ønskede region

async function startLiveSession() {
    // Opret en ny browser-session
    const browser = new Browser(agentCoreClient);
    await browser.create();

    // Generer Live View URL'en
    const liveViewUrl = await browser.getLiveViewURL();
    console.log('Live View URL:', liveViewUrl);

    // Gem browser.sessionId for senere at forbinde din AI-agent eller afslutte sessionen
    const sessionId = browser.sessionId;
    
    return { liveViewUrl, sessionId };
}

// Denne `liveViewUrl` sendes til din React-klient.

Denne URL sendes derefter til dit React-frontend, som vil bruge den til at etablere live-strømmen.

2. Gengiv Live View i din React-applikation

Når din React-applikation modtager liveViewUrl fra din server, er gengivelsen af realtidsstrømmen bemærkelsesværdigt ligetil takket være BrowserLiveView-komponenten.

// Eksempel klient-side kode (React-komponent)
import React, { useEffect, useState } from 'react';
import { BrowserLiveView } from 'bedrock-agentcore';

interface LiveAgentViewerProps {
    liveViewUrl: string;
}

const LiveAgentViewer: React.FC<LiveAgentViewerProps> = ({ liveViewUrl }) => {
    if (!liveViewUrl) {
        return <p>Venter på Live View URL...</p>;
    }

    return (
        <div style={{ width: '100%', height: '600px', border: '1px solid #ccc' }}>
            <BrowserLiveView url={liveViewUrl} />
        </div>
    );
};

// I din hoved-App-komponent eller side:
// const MyPage = () => {
//     const [currentLiveViewUrl, setCurrentLiveViewUrl] = useState<string | null>(null);
//
//     useEffect(() => {
//         // Hent liveViewUrl fra din backend
//         fetch('/api/start-agent-session')
//             .then(res => res.json())
//             .then(data => setCurrentLiveViewUrl(data.liveViewUrl));
//     }, []);
//
//     return (
//         <div>
//             <h1>AI Agent Live View</h1>
//             <LiveAgentViewer liveViewUrl={currentLiveViewUrl} />
//         </div>
//     );
// };

Med blot url={liveViewUrl} håndterer BrowserLiveView-komponenten de indviklede detaljer ved at etablere WebSocket-forbindelsen, forbruge DCV-strømmen og gengive live video-feeden inden for dine angivne dimensioner. Denne minimale JSX-integration forenkler frontend-udviklingen betydeligt, hvilket giver dig mulighed for at fokusere på brugeroplevelsen omkring den levende agent.

3. Forbind en AI-agent til at styre browseren

Det sidste trin forbinder din AI-agents intelligens til de faktiske browserhandlinger inden for den isolerede session. Mens BrowserLiveView giver visuel feedback, bruger din AI-agent Playwright CDP (Chrome DevTools Protocol) til programmatisk at interagere med browseren.

Din applikationsserver, som også hoster din AI-agent, vil bruge Browser-objektets page-egenskab (som er et Playwright Page-objekt) til at udføre browserhandlinger.

// Eksempel server-side kode (fortsat fra trin 1)
// Antager at du har et Playwright-lignende interface eller direkte Playwright-brug
import { Browser } from 'bedrock-agentcore';
import { AgentCoreClient } from '@aws-sdk/client-bedrock-agentcore';
import { BedrockRuntimeClient, InvokeModelCommand } from "@aws-sdk/client-bedrock-runtime";

// ... (tidligere opsætning til browseroprettelse) ...

async function driveAgent(sessionId: string) {
    const browser = new Browser(agentCoreClient, { sessionId }); // Genopret forbindelse til eksisterende session
    await browser.connect(); // Forbind til browser-sessionen

    const page = browser.page; // Hent Playwright Page-objektet

    // Eksempel AI-agentlogik (forenklet for illustration)
    // Her ville du integrere med din LLM (f.eks. Anthropic Claude via Bedrock Converse API)
    // for at bestemme handlinger baseret på brugerprompts og sideindhold.
    console.log("Agent navigerer til example.com...");
    await page.goto('https://www.example.com');
    console.log("Agent ventede i 3 sekunder...");
    await page.waitForTimeout(3000); // Simuler behandlingstid

    console.log("Agent skriver i en søgeboks (hypotetisk)...");
    // Eksempel: await page.type('#search-input', 'Amazon Bedrock AgentCore');
    // Eksempel: await page.click('#search-button');

    const content = await page.content();
    // Brug en LLM til at analysere 'content' og beslutte næste trin
    const bedrockRuntimeClient = new BedrockRuntimeClient({ region: 'us-east-1' });
    const response = await bedrockRuntimeClient.send(new InvokeModelCommand({
        modelId: "anthropic.claude-3-sonnet-20240229-v1:0", // eller din foretrukne model
        contentType: "application/json",
        accept: "application/json",
        body: JSON.stringify({
            messages: [
                {
                    role: "user",
                    content: `Analyser dette websideindhold og foreslå den næste handling: ${content.substring(0, 500)}`
                }
            ],
            max_tokens: 200,
        }),
    }));
    const decodedBody = new TextDecoder("utf-8").decode(response.body);
    const parsedBody = JSON.parse(decodedBody);
    console.log("AI-modellen foreslog handling:", parsedBody.content[0].text);

    // Baseret på LLM's forslag, udfør yderligere sidehandlinger...

    // Glem ikke at lukke browser-sessionen, når du er færdig
    // await browser.close();
}

// Efter at have startet sessionen og fået URL'en, vil du derefter kalde driveAgent(sessionId)

Denne interaktionsloop – hvor din AI-agent analyserer sideindhold, bestemmer den næste handling og udfører den via Playwright CDP – danner kernen i en autonom browseragent. Alle disse handlinger gengives visuelt i realtid gennem BrowserLiveView-komponenten på brugerens skærm.

Lås op for nye muligheder med indlejrede AI-agenter

Integrationen af Amazon Bedrock AgentCores BrowserLiveView er mere end blot en teknisk funktion; det er et paradigmeskift i, hvordan brugere interagerer med og stoler på AI-agenter. Ved at indlejre visuel feedback i realtid kan udviklere skabe AI-drevne applikationer, der ikke kun er effektive, men også gennemsigtige, reviderbare og brugervenlige.

Denne kapacitet er især transformerende for applikationer, der involverer:

  • Komplekse arbejdsgange: Automatisering af flertrins onlineprocesser som dataindtastning, onboarding eller overholdelse af lovgivning, hvor synlighed i hvert trin er altafgørende.
  • Kundesupport: Tillader agenter at observere AI-co-piloter, der løser kundeforespørgsler eller navigerer i systemer, hvilket sikrer nøjagtighed og giver mulighed for intervention.
  • Træning og fejlfinding: Tilbyder udviklere og slutbrugere et kraftfuldt værktøj til at forstå agentens adfærd, fejlfinde problemer og træne agenter gennem direkte observation.
  • Forbedrede revisionsspor: Generering af visuelle registreringer af agentens handlinger, som kan kombineres med sessionoptagelser til Amazon S3 for omfattende efterfølgende gennemgang og overholdelse.

Evnen til direkte at streame browser-sessioner fra AWS Cloud til klientbrowsere, der omgår applikationsserveren for videostrømmen, tilbyder betydelige fordele med hensyn til ydeevne og skalerbarhed. Denne arkitektur minimerer latenstid og reducerer belastningen på din backend-infrastruktur, hvilket giver dig mulighed for at implementere yderst responsive og skalerbare AI-agentløsninger.

Ved at anvende BrowserLiveView bygger du ikke kun AI-agenter; du bygger tillid, kontrol og en rigere brugeroplevelse. Udforsk mulighederne og giv dine brugere tillid til at delegere komplekse webopgaver til intelligente agenter.

Ofte stillede spørgsmål

What is the Amazon Bedrock AgentCore BrowserLiveView component and how does it function?
The Amazon Bedrock AgentCore BrowserLiveView component is a crucial part of the Bedrock AgentCore TypeScript SDK, designed to embed a real-time video feed of an AI agent's browsing session directly into a React application. It operates by receiving a SigV4-presigned URL from your application server, which then establishes a persistent WebSocket connection to stream video data via the Amazon DCV protocol from an isolated cloud browser session. This direct streaming mechanism ensures low latency and high fidelity, allowing users to observe every action an AI agent takes on a webpage, from navigation to form submissions, without the video stream passing through your server.
How does embedding Live View enhance user trust and confidence in AI agents?
Embedding Live View significantly boosts user trust and confidence by providing unparalleled transparency into an AI agent's operations. Instead of a 'black box' experience, users gain immediate visual confirmation of the agent's actions, observing its progress and interactions in real-time. This visual feedback loop helps users understand that the agent is on the correct path, interacting with the right elements, and progressing as expected. This is particularly valuable for complex or sensitive workflows, where visual evidence can reassure users that the agent is performing its tasks accurately and responsibly, enhancing overall confidence and allowing for timely intervention if necessary.
What are the primary architectural components involved in integrating a Live View AI agent?
The integration of a Live View AI agent involves three main architectural components. First, the user's web browser, running a React application, hosts the BrowserLiveView component, which renders the real-time stream. Second, the application server acts as the orchestrator, managing the AI agent's logic, initiating browser sessions via the Amazon Bedrock AgentCore API, and generating secure, time-limited SigV4-presigned URLs for the Live View stream. Third, the AWS Cloud hosts Amazon Bedrock AgentCore and Bedrock services, providing the isolated cloud browser sessions, automation capabilities (via Playwright CDP), and the DCV-powered Live View streaming endpoint. A key design point is that the DCV stream flows directly from AWS to the user's browser, bypassing the application server for optimal performance.
Can developers utilize any AI model or agent framework with Amazon Bedrock AgentCore's Live View?
Yes, developers have the flexibility to use any AI model or agent framework of their choice with Amazon Bedrock AgentCore's Live View. While the provided example often demonstrates integration with the Amazon Bedrock Converse API and models like Anthropic Claude, the BrowserLiveView component itself is model-agnostic. This means that the real-time visual streaming functionality is decoupled from the AI agent's underlying reasoning and decision-making logic. As long as your chosen AI agent or framework can interact with the browser automation endpoint provided by AgentCore (typically via Playwright CDP), you can leverage Live View to provide visual feedback to your users, making it a highly adaptable solution for various AI-powered applications.
What are the essential prerequisites for setting up a Live View AI browser agent with Amazon Bedrock AgentCore?
To set up a Live View AI browser agent, several prerequisites are necessary. Developers need Node.js version 20 or later for the server-side logic and React for the client-side application. An AWS account in a supported region is required, along with AWS credentials that have the necessary Amazon Bedrock AgentCore Browser permissions. It's crucial to follow the principle of least privilege for IAM permissions and use temporary credentials (e.g., from AWS IAM Identity Center or STS) rather than long-lived access keys for enhanced security. Additionally, the Amazon Bedrock AgentCore TypeScript SDK (`bedrock-agentcore`) and potentially the AWS SDK for JavaScript (`@aws-sdk/client-bedrock-runtime`) if using Bedrock models, must be installed in your project.
How does the DCV protocol facilitate real-time, low-latency video streaming for Live View?
The Amazon DCV (NICE DCV) protocol is instrumental in providing real-time, low-latency video streaming for the BrowserLiveView component. DCV is a high-performance remote display protocol designed to deliver a rich user experience over varying network conditions. In the context of AgentCore, it efficiently encodes and transmits the visual output of the isolated cloud browser session directly to the user's React application via a WebSocket connection. By optimizing data compression and transmission, DCV ensures that the visual feed of the AI agent's actions appears smooth and responsive, minimizing lag and enabling users to observe the agent's behavior as if it were happening locally on their machine, without the need for complex streaming infrastructure setup by the developer.

Hold dig opdateret

Få de seneste AI-nyheder i din indbakke.

Del