Code Velocity
Ontwikkelaarstools

Bedrock AgentCore: Live AI Browser Agent Inbedden in React

·5 min leestijd·AWS·Originele bron
Delen
Architectuurdiagram van Amazon Bedrock AgentCore, dat de gegevensstroom toont voor het inbedden van een live AI-browseragent in een React-app.

Bedrock AgentCore: Live AI Browser Agent Inbedden in React

Het tijdperk van AI-agenten die functioneren als ondoorzichtige "black boxes" loopt snel ten einde. Nu kunstmatige intelligentie steeds complexere en autonome taken op zich neemt, met name in webomgevingen, is de vraag naar transparantie, vertrouwen en gebruikerscontrole nog nooit zo groot geweest. Gebruikers moeten de acties die een AI-agent namens hen onderneemt kunnen begrijpen en verifiëren, vooral wanneer die acties betrekking hebben op het navigeren door websites, het omgaan met gevoelige gegevens of het uitvoeren van kritieke workflows.

Als antwoord op deze fundamentele uitdaging introduceert Amazon Web Services een krachtige oplossing: de Amazon Bedrock AgentCore BrowserLiveView-component. Dit innovatieve hulpmiddel stelt ontwikkelaars in staat om een live, realtime videofeed van de browsersessie van een AI-agent direct in hun React-applicaties in te bedden. Deze integratie ontmythologiseert niet alleen het gedrag van de agent, maar biedt gebruikers ook ongekende zichtbaarheid en een cruciaal gevoel van controle.

Als onderdeel van de Bedrock AgentCore TypeScript SDK vereenvoudigt de BrowserLiveView-component de integratie van live browserstreams in uw applicatie met slechts een paar regels JavaScript XML (JSX). Met behulp van het krachtige Amazon DCV-protocol rendert het de sessie van de agent, waardoor een traditioneel verborgen proces wordt omgezet in een visueel controleerbare ervaring. Dit artikel begeleidt u door het proces, van het starten van een sessie en het genereren van de Live View URL, tot het renderen van de stream in uw React-applicatie, en ten slotte het koppelen van een AI-agent om de browser aan te sturen terwijl uw gebruikers toekijken.

Transparantie van AI-agenten verbeteren met BrowserLiveView

In het snel evoluerende landschap van Agentic AI belooft de mogelijkheid om webbrowsertaken te delegeren aan AI-agenten immense efficiëntiewinsten. Deze belofte wordt echter vaak getemperd door zorgen over de betrouwbaarheid, nauwkeurigheid en beveiliging van de agent. Zonder een duidelijk venster in de operaties van een agent, moeten gebruikers vertrouwen op een systeem dat ze niet kunnen observeren, wat de adoptie kan belemmeren en de implementatie in gevoelige scenario's kan beperken.

De BrowserLiveView-component gaat deze uitdaging direct aan door de "ogen" van de AI-agent te openen voor de gebruiker. Stel u een AI-agent voor die de taak heeft om een complex online formulier in te vullen of specifieke informatie van meerdere websites op te halen. Traditioneel zou de gebruiker alleen een definitieve uitvoer of een samenvatting van de acties ontvangen, waardoor ze zich afvragen over de tussenstappen. Met een ingebedde Live View kunnen gebruikers elke navigatie, formulierinzending en zoekopdracht in realtime volgen terwijl de agent deze uitvoert.

Deze onmiddellijke visuele bevestiging is van onschatbare waarde. Het geruststelt gebruikers dat de agent op de juiste pagina is, interageert met de juiste elementen en volgens plan door de workflow vordert. Deze realtime feedbacklus gaat verder dan louter tekstuele bevestigingen; het biedt een tastbaar, verifieerbaar audittraject van het gedrag van de agent, wat leidt tot meer vertrouwen en zekerheid. Voor workflows die gereguleerd zijn of gevoelige klantgegevens betreffen, kan dit visuele bewijs cruciaal zijn voor compliance en verantwoording. Bovendien kan, in scenario's die menselijk toezicht vereisen, een supervisor de acties van de agent direct observeren binnen de applicatie, en indien nodig ingrijpen, zonder de flow te verstoren.

De Architectuur Achter Realtime Agent Observatie

De naadloze integratie van een live AI-browseragent binnen een React-applicatie, aangedreven door Amazon Bedrock AgentCore, wordt georkestreerd via een geavanceerde maar efficiënte architectuur die uit drie belangrijke componenten bestaat. Het begrijpen van het samenspel tussen deze onderdelen is cruciaal voor succesvolle implementatie en deployment.

ComponentRol in ArchitectuurBelangrijkste Technologieën/Protocollen
Webbrowser van de gebruikerDraait de React-applicatie die de BrowserLiveView-component bevat; brengt een WebSocket-verbinding tot stand om de DCV-stream te ontvangen; verwerkt videoweergave.React, BrowserLiveView-component, WebSocket, Amazon DCV
ApplicatieserverFungeert als de AI-agent; orkestreert verbindingen; start sessies via Bedrock AgentCore API; genereert SigV4-vooraf ondertekende URL's; beheert sessies en authenticatie.Node.js (of vergelijkbaar), Amazon Bedrock AgentCore API, SigV4 URL's, REST, AI-model logica
AWS Cloud (Bedrock AgentCore & Diensten)Host geïsoleerde cloudbrowsersessies; biedt browserautomatiseringseindpunt (Playwright CDP); levert Live View streaming-eindpunt (DCV).Amazon Bedrock AgentCore, Amazon Bedrock, Playwright CDP, Amazon DCV

De interactie begint met de webbrowser van de gebruiker, die uw React-applicatie draait. Binnen deze applicatie wordt de BrowserLiveView-component gerenderd, wachtend op een veilige, tijdgebonden SigV4-vooraf ondertekende URL. Deze URL, gegenereerd door uw applicatieserver, is de sleutel tot het tot stand brengen van een persistente WebSocket-verbinding direct met de Bedrock AgentCore-service in de AWS Cloud.

Uw applicatieserver dient een tweeledig doel: het host de logica van de AI-agent en fungeert als tussenpersoon voor sessiebeheer. Het roept de Amazon Bedrock AgentCore API aan om browsersessies te initiëren en genereert vervolgens veilig de SigV4-vooraf ondertekende URL's die uw clientbrowser toegang geven tot de Live View-stream. Cruciaal is dat, hoewel uw server de acties van de agent orkestreert en de benodigde referenties genereert, het de videostream zelf niet rechtstreeks afhandelt.

Het zware werk van browserautomatisering en videostreaming vindt plaats binnen de AWS Cloud. Amazon Bedrock AgentCore host geïsoleerde cloudbrowsersessies, en biedt zowel het automatiserings-eindpunt – waarmee uw AI-agent communiceert met behulp van het Playwright Chrome DevTools Protocol (CDP) – als het Live View streaming-eindpunt, aangedreven door Amazon DCV. Dit ontwerp zorgt ervoor dat de DCV Live View-stream rechtstreeks van Amazon Bedrock AgentCore naar de browser van de gebruiker stroomt. Deze directe WebSocket-verbinding omzeilt uw applicatieserver, minimaliseert latentie, vermindert uw infrastructuur overhead en garandeert een vloeiende, realtime kijkervaring.

Vereisten voor het Deployen van Uw Live AI-agent

Voordat u begint met de implementatie van uw live AI-browseragent, is het essentieel om ervoor te zorgen dat uw ontwikkelomgeving correct is geconfigureerd en dat u over de nodige AWS-bronnen en -machtigingen beschikt. Het naleven van deze vereisten zal uw ontwikkelproces stroomlijnen en helpen bij het handhaven van een veilige operationele houding.

  1. Node.js Omgeving: U heeft Node.js versie 20 of hoger nodig op uw systeem voor het uitvoeren van de server-side componenten van uw applicatie.
  2. AWS Account en Regio: Een actief AWS-account is vereist, met toegang tot een ondersteunde AWS Regio waar Amazon Bedrock AgentCore beschikbaar is.
  3. AWS Referenties en Machtigingen: Uw AWS-referenties moeten over de juiste Amazon Bedrock AgentCore Browser-machtigingen beschikken. Het is cruciaal om het principe van minimale privileges te volgen bij het configureren van AWS Identity and Access Management (IAM)-machtigingen. Voor verbeterde beveiliging, gebruik altijd tijdelijke referenties verkregen van AWS IAM Identity Center of AWS Security Token Service (AWS STS), en vermijd langdurige toegangssleutels.
  4. AI Model Toegang: Als u van plan bent een AI-model te gebruiken om de agent aan te sturen (zoals gedemonstreerd in het voorbeeld, dat de Amazon Bedrock Converse API met Anthropic Claude gebruikt), heeft u toegang nodig tot dat specifieke model en eventuele bijbehorende AWS Bedrock-machtigingen. Onthoud echter dat Live View zelf modelagnostisch is, waardoor u elke modelprovider of agentframework naar keuze kunt integreren.
  5. SDK Installaties:
    • Installeer de bedrock-agentcore TypeScript SDK voor interactie met AgentCore:
      npm install bedrock-agentcore
      
    • Als u AWS Bedrock gebruikt voor uw AI-model, installeer dan de AWS SDK for JavaScript:
      npm install @aws-sdk/client-bedrock-runtime
      

De codebase voor het implementeren van Live View is doorgaans gesplitst: server-side code (voor sessiebeheer en AI-agentlogica) draait in Node.js, en client-side code (voor het renderen van de Live View) draait binnen een React-applicatie, vaak gebundeld met tools zoals Vite.

Stapsgewijze Integratie: Van Sessie naar Stream

Het integreren van een live AI-browseragent met Amazon Bedrock AgentCore omvat een duidelijk, driestaps proces, waarbij uw server-side logica wordt overbrugd met uw client-side React-applicatie en de robuuste mogelijkheden van AWS Cloud.

1. Een Browsersessie Starten en de Live View URL Genereren

De eerste stap vindt plaats op uw applicatieserver. Dit is waar uw backend-logica een browsersessie initieert binnen Amazon Bedrock AgentCore en veilig de benodigde URL verkrijgt om de liveweergave te streamen.

U gebruikt de Browser-klasse uit de bedrock-agentcore SDK. Deze klasse behandelt de complexiteit van het creëren en beheren van geïsoleerde browseromgevingen in de cloud. De belangrijkste uitvoer van deze stap is een SigV4-vooraf ondertekende URL, die veilige, tijdelijke toegang verleent tot de live videostream van de browsersessie.

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

// Initialiseer Bedrock AgentCore client (zorg ervoor dat de juiste AWS-referenties zijn geconfigureerd)
const agentCoreClient = new AgentCoreClient({ region: 'us-east-1' }); // Gebruik de gewenste regio

async function startLiveSession() {
    // Maak een nieuwe browsersessie aan
    const browser = new Browser(agentCoreClient);
    await browser.create();

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

    // Sla browser.sessionId op om later uw AI-agent te verbinden of de sessie te beëindigen
    const sessionId = browser.sessionId;
    
    return { liveViewUrl, sessionId };
}

// Deze `liveViewUrl` wordt naar uw React-client gestuurd.

Deze URL wordt vervolgens doorgegeven aan uw React frontend, die deze zal gebruiken om de livestream tot stand te brengen.

2. De Live View Renderen in Uw React-applicatie

Zodra uw React-applicatie de liveViewUrl van uw server ontvangt, is het renderen van de realtime stream opmerkelijk eenvoudig, dankzij de BrowserLiveView-component.

// Voorbeeld client-side code (React-component)
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>Wachten op Live View URL...</p>;
    }

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

// In uw hoofd-App-component of pagina:
// const MyPage = () => {
//     const [currentLiveViewUrl, setCurrentLiveViewUrl] = useState<string | null>(null);
//
//     useEffect(() => {
//         // Haal de liveViewUrl op van uw backend
//         fetch('/api/start-agent-session')
//             .then(res => res.json())
//             .then(data => setCurrentLiveViewUrl(data.liveViewUrl));
//     }, []);
//
//     return (
//         <div>
//             <h1>Live View AI-agent</h1>
//             <LiveAgentViewer liveViewUrl={currentLiveViewUrl} />
//         </div>
//     );
// };

Met slechts url={liveViewUrl} behandelt de BrowserLiveView-component de complexe details van het tot stand brengen van de WebSocket-verbinding, het consumeren van de DCV-stream en het renderen van de live videofeed binnen uw opgegeven afmetingen. Deze minimale JSX-integratie vereenvoudigt de frontend-ontwikkeling aanzienlijk, waardoor u zich kunt concentreren op de gebruikerservaring rondom de live agent.

3. Een AI-agent Koppelen om de Browser aan te Sturen

De laatste stap verbindt de intelligentie van uw AI-agent met de daadwerkelijke browseracties binnen de geïsoleerde sessie. Terwijl de BrowserLiveView de visuele feedback levert, gebruikt uw AI-agent Playwright CDP (Chrome DevTools Protocol) om programmatisch met de browser te communiceren.

Uw applicatieserver, die ook uw AI-agent host, gebruikt de page-eigenschap van het Browser-object (dat een Playwright Page-object is) om browseracties uit te voeren.

// Voorbeeld server-side code (vervolg van stap 1)
// Aannemende dat u een Playwright-achtige interface of direct Playwright-gebruik heeft
import { Browser } from 'bedrock-agentcore';
import { AgentCoreClient } from '@aws-sdk/client-bedrock-agentcore';
import { BedrockRuntimeClient, InvokeModelCommand } from "@aws-sdk/client-bedrock-runtime";

// ... (eerdere setup voor browsercreatie) ...

async function driveAgent(sessionId: string) {
    const browser = new Browser(agentCoreClient, { sessionId }); // Maak opnieuw verbinding met bestaande sessie
    await browser.connect(); // Maak verbinding met de browsersessie

    const page = browser.page; // Haal het Playwright Page-object op

    // Voorbeeld AI-agentlogica (vereenvoudigd ter illustratie)
    // Hier zou u integreren met uw LLM (bijv. Anthropic Claude via Bedrock Converse API)
    // om acties te bepalen op basis van gebruikersprompts en paginacontent.
    console.log("Agent navigeert naar example.com...");
    await page.goto('https://www.example.com');
    console.log("Agent wachtte 3 seconden...");
    await page.waitForTimeout(3000); // Simuleer verwerkingstijd

    console.log("Agent typt in een zoekvak (hypothetisch)...");
    // Voorbeeld: await page.type('#search-input', 'Amazon Bedrock AgentCore');
    // Voorbeeld: await page.click('#search-button');

    const content = await page.content();
    // Gebruik een LLM om 'content' te analyseren en de volgende stappen te bepalen
    const bedrockRuntimeClient = new BedrockRuntimeClient({ region: 'us-east-1' });
    const response = await bedrockRuntimeClient.send(new InvokeModelCommand({
        modelId: "anthropic.claude-3-sonnet-20240229-v1:0", // of uw voorkeursmodel
        contentType: "application/json",
        accept: "application/json",
        body: JSON.stringify({
            messages: [
                {
                    role: "user",
                    content: `Analyze this webpage content and suggest the next action: ${content.substring(0, 500)}`
                }
            ],
            max_tokens: 200,
        }),
    }));
    const decodedBody = new TextDecoder("utf-8").decode(response.body);
    const parsedBody = JSON.parse(decodedBody);
    console.log("AI Model voorgestelde actie:", parsedBody.content[0].text);

    // Voer op basis van de suggestie van de LLM verdere pagina-acties uit...

    // Vergeet niet de browsersessie te sluiten wanneer u klaar bent
    // await browser.close();
}

// Na het starten van de sessie en het verkrijgen van de URL, zou u dan driveAgent(sessionId) aanroepen

Deze interactielus – waarbij uw AI-agent paginacontent analyseert, de volgende actie bepaalt en deze uitvoert via Playwright CDP – vormt de kern van een autonome browseragent. Al deze acties worden visueel in realtime weergegeven via de BrowserLiveView-component op het scherm van de gebruiker.

Nieuwe Mogelijkheden Ontsluiten met Ingebouwde AI-agenten

De integratie van Amazon Bedrock AgentCore's BrowserLiveView is meer dan alleen een technische functie; het is een paradigmaverschuiving in hoe gebruikers met AI-agenten omgaan en deze vertrouwen. Door realtime visuele feedback in te bedden, kunnen ontwikkelaars AI-aangedreven applicaties creëren die niet alleen efficiënt, maar ook transparant, controleerbaar en gebruiksvriendelijk zijn.

Deze mogelijkheid is bijzonder transformatief voor toepassingen die betrekking hebben op:

  • Complexe Workflows: Het automatiseren van complexe online processen zoals gegevensinvoer, onboarding of naleving van regelgeving, waarbij inzicht in elke stap van het grootste belang is.
  • Klantenservice: Agenten in staat stellen om AI-co-pilots te observeren die klantvragen oplossen of door systemen navigeren, wat nauwkeurigheid garandeert en mogelijkheden biedt voor interventie.
  • Training en Debugging: Het bieden van een krachtig hulpmiddel aan ontwikkelaars en eindgebruikers om agentgedrag te begrijpen, problemen op te sporen en agenten te trainen door directe observatie.
  • Verbeterde Audit Trails: Het genereren van visuele verslagen van agentacties, die kunnen worden gecombineerd met sessieopnames naar Amazon S3 voor uitgebreide post-hoc beoordeling en compliance.

De mogelijkheid om browsersessies rechtstreeks van de AWS Cloud naar clientbrowsers te streamen, waarbij de applicatieserver wordt omzeild voor de videostream, biedt aanzienlijke voordelen op het gebied van prestaties en schaalbaarheid. Deze architectuur minimaliseert latentie en vermindert de belasting op uw backend-infrastructuur, waardoor u zeer responsieve en schaalbare AI-agentoplossingen kunt implementeren.

Door BrowserLiveView te adopteren, bouwt u niet alleen AI-agenten; u bouwt vertrouwen, controle en een rijkere gebruikerservaring. Verken de mogelijkheden en geef uw gebruikers het vertrouwen om complexe webtaak aan intelligente agenten te delegeren.

Veelgestelde vragen

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.

Blijf op de hoogte

Ontvang het laatste AI-nieuws in je inbox.

Delen