Code Velocity
Alati za razvojne programere

Bedrock AgentCore: Ugradite AI agenta pregledača uživo u React

·5 min čitanja·AWS·Originalni izvor
Podeli
Dijagram arhitekture Amazon Bedrock AgentCore-a koji prikazuje tok podataka za ugradnju AI agenta pregledača uživo u React aplikaciju.

Bedrock AgentCore: Ugradite AI agenta pregledača uživo u React

Era AI agenata koji funkcionišu kao neprozirne "crne kutije" brzo se privodi kraju. Kako veštačka inteligencija preuzima sve složenije i autonomnije zadatke, posebno u veb okruženjima, potražnja za transparentnošću, poverenjem i korisničkom kontrolom nikada nije bila veća. Korisnici moraju da razumeju i verifikuju radnje koje AI agent preduzima u njihovo ime, posebno kada te radnje uključuju navigaciju veb sajtovima, interakciju sa osetljivim podacima ili izvršavanje kritičnih radnih tokova.

Rešavajući ovaj fundamentalni izazov, Amazon Web Services predstavlja moćno rešenje: komponentu Amazon Bedrock AgentCore BrowserLiveView. Ovaj inovativni alat omogućava razvojnim programerima da ugrade prenos video snimka sesije pregledanja AI agenta uživo, u realnom vremenu, direktno u svoje React aplikacije. Ova integracija ne samo da demistifikuje ponašanje agenta, već korisnicima pruža neviđenu vidljivost i ključni osećaj kontrole.

Kao deo Bedrock AgentCore TypeScript SDK-a, komponenta BrowserLiveView pojednostavljuje integraciju strimova pregledača uživo u vašu aplikaciju sa samo nekoliko linija JavaScript XML-a (JSX). Koristeći Amazon DCV protokol visokih performansi, prikazuje sesiju agenta, efikasno transformišući tradicionalno skriveni proces u vizuelno proverljivo iskustvo. Ovaj članak će vas voditi kroz proces, od pokretanja sesije i generisanja URL-a za pregled uživo, do prikazivanja strima u vašoj React aplikaciji, i konačno, povezivanja AI agenta za upravljanje pregledačem dok vaši korisnici gledaju.

Povećanje transparentnosti AI agenta pomoću BrowserLiveView-a

U današnjem brzom razvoju agentskog AI-ja, mogućnost delegiranja zadataka veb pregledanja AI agentima obećava ogromne dobitke u efikasnosti. Međutim, ovo obećanje je često umanjeno brigama o pouzdanosti, tačnosti i bezbednosti agenta. Bez jasnog uvida u rad agenta, korisnici su prepušteni poverenju u sistem koji ne mogu da posmatraju, što može ometati usvajanje i ograničiti primenu u osetljivim scenarijima.

Komponenta BrowserLiveView direktno se suočava sa ovim izazovom otvarajući 'oči' AI agenta korisniku. Zamislite AI agenta zaduženog za popunjavanje složenog onlajn obrasca ili preuzimanje specifičnih informacija sa više veb sajtova. Tradicionalno, korisnik bi dobio samo konačan izlaz ili sažetak radnji, ostavljajući ga da se pita o međukoracima. Sa ugrađenim pregledom uživo, korisnici mogu pratiti svaku navigaciju, slanje obrasca i upit za pretragu u realnom vremenu dok ih agent izvodi.

Ova trenutna vizuelna potvrda je neprocenjiva. Ona uverava korisnike da je agent na ispravnoj stranici, da komunicira sa pravim elementima i da napreduje kroz radni tok kako je predviđeno. Ova povratna sprega u realnom vremenu ide dalje od pukih tekstualnih potvrda; ona pruža opipljiv, proverljiv revizorski trag ponašanja agenta, podstičući veće poverenje i sigurnost. Za radne tokove koji su regulisani ili uključuju osetljive podatke klijenata, ovaj vizuelni dokaz može biti ključan za usklađenost i odgovornost. Pored toga, u scenarijima koji zahtevaju ljudski nadzor, nadzornik može direktno posmatrati radnje agenta unutar aplikacije, intervenišući ako je potrebno, bez ometanja toka.

Arhitektura iza posmatranja agenta u realnom vremenu

Besprekorna integracija AI agenta pregledača uživo unutar React aplikacije pokretane Amazon Bedrock AgentCore-om orkestrirana je sofisticiranom, ali efikasnom arhitekturom koja se sastoji od tri ključne komponente. Razumevanje međusobne interakcije između ovih delova ključno je za uspešnu implementaciju i primenu.

KomponentaUloga u arhitekturiKljučne tehnologije/protokoli
Korisnikov veb pregledačPokreće React aplikaciju koja sadrži komponentu BrowserLiveView; uspostavlja WebSocket vezu za prijem DCV strima; rukuje prikazivanjem videa.React, BrowserLiveView komponenta, WebSocket, Amazon DCV
Aplikacioni serverFunkcioniše kao AI agent; orkestrira veze; pokreće sesije putem Bedrock AgentCore API-ja; generiše SigV4-unapred potpisane URL-ove; rukuje upravljanjem sesijama i autentifikacijom.Node.js (ili slično), Amazon Bedrock AgentCore API, SigV4 URL-ovi, REST, logika AI modela
AWS Cloud (Bedrock AgentCore i usluge)Hostuje izolovane sesije pregledača u oblaku; obezbeđuje krajnju tačku automatizacije pregledača (Playwright CDP); isporučuje krajnju tačku strimovanja pregleda uživo (DCV).Amazon Bedrock AgentCore, Amazon Bedrock, Playwright CDP, Amazon DCV

Interakcija počinje sa veb pregledačem korisnika, koji pokreće vašu React aplikaciju. Unutar ove aplikacije, komponenta BrowserLiveView se prikazuje, čekajući siguran, vremenski ograničen SigV4-unapred potpisan URL. Ovaj URL, generisan od strane vašeg aplikacionog servera, ključ je za uspostavljanje stalne WebSocket veze direktno sa Bedrock AgentCore uslugom u AWS Cloud-u.

Vaš aplikacioni server služi dvostrukoj svrsi: hostuje logiku AI agenta i deluje kao posrednik za upravljanje sesijama. Poziva Amazon Bedrock AgentCore API da inicira sesije pregledača, a zatim sigurno generiše SigV4-unapred potpisane URL-ove koji vašem klijentskom pregledaču daju pristup strimu pregleda uživo. Ključno, dok vaš server orkestrira radnje agenta i generiše neophodne akreditive, on ne obrađuje direktno sam video strim.

Glavni deo posla automatizacije pregledača i video strimovanja odvija se unutar AWS Cloud-a. Amazon Bedrock AgentCore hostuje izolovane sesije pregledača u oblaku, obezbeđujući i krajnju tačku automatizacije—sa kojom vaš AI agent komunicira koristeći Playwright Chrome DevTools Protocol (CDP)—i krajnju tačku strimovanja pregleda uživo, pokretanu Amazon DCV-om. Ovaj dizajn osigurava da DCV strim pregleda uživo teče direktno od Amazon Bedrock AgentCore-a do korisničkog pregledača. Ova direktna WebSocket veza zaobilazi vaš aplikacioni server, minimizirajući kašnjenje, smanjujući opterećenje vaše infrastrukture i obezbeđujući glatko iskustvo gledanja u realnom vremenu.

Preduslovi za primenu vašeg AI agenta uživo

Pre nego što se upustite u implementaciju vašeg AI agenta pregledača uživo, ključno je da se uverite da je vaše razvojno okruženje ispravno konfigurisano i da imate neophodne AWS resurse i dozvole. Pridržavanje ovih preduslova će pojednostaviti vaš razvojni proces i pomoći u održavanju bezbednog operativnog položaja.

  1. Node.js okruženje: Potrebna vam je Node.js verzija 20 ili novija instalirana na vašem sistemu za pokretanje komponenti vaše aplikacije na strani servera.
  2. AWS nalog i region: Potreban je aktivan AWS nalog, sa pristupom podržanom AWS regionu gde je Amazon Bedrock AgentCore dostupan.
  3. AWS akreditivi i dozvole: Vaši AWS akreditivi moraju imati odgovarajuće Amazon Bedrock AgentCore Browser dozvole. Ključno je slediti princip najmanjeg privilegija prilikom konfigurisanja AWS Identity and Access Management (IAM) dozvola. Za poboljšanu bezbednost, uvek koristite privremene akreditive dobijene iz AWS IAM Identity Centra ili AWS Security Token Service (AWS STS), izbegavajući dugotrajne pristupne ključeve.
  4. Pristup AI modelu: Ako planirate da koristite AI model za pokretanje agenta (kao što je prikazano u primeru, koji koristi Amazon Bedrock Converse API sa Anthropic Claude-om), biće vam potreban pristup tom specifičnom modelu i svim povezanim AWS Bedrock dozvolama. Međutim, imajte na umu da je sam pregled uživo agnostičan u odnosu na model, što vam omogućava da integrišete bilo kog dobavljača modela ili agentski okvir po vašem izboru.
  5. Instalacije SDK-a:
    • Instalirajte bedrock-agentcore TypeScript SDK za interakciju sa AgentCore-om:
      npm install bedrock-agentcore
      
    • Ako koristite AWS Bedrock za svoj AI model, instalirajte AWS SDK for JavaScript:
      npm install @aws-sdk/client-bedrock-runtime
      

Baza koda za implementaciju pregleda uživo je tipično podeljena: kod na strani servera (za upravljanje sesijama i logiku AI agenta) pokreće se u Node.js-u, a kod na strani klijenta (za prikazivanje pregleda uživo) pokreće se unutar React aplikacije, često pakovan sa alatima kao što je Vite.

Integracija korak po korak: Od sesije do strima

Integracija AI agenta pregledača uživo sa Amazon Bedrock AgentCore-om uključuje jasan, trostepeni proces, premošćavajući logiku na strani servera sa vašom React aplikacijom na strani klijenta i robusnim mogućnostima AWS Cloud-a.

1. Pokretanje sesije pregledača i generisanje URL-a za pregled uživo

Prvi korak se dešava na vašem aplikacionom serveru. Ovde vaša bek-end logika inicira sesiju pregledača unutar Amazon Bedrock AgentCore-a i sigurno dobija neophodan URL za strimovanje pregleda uživo.

Koristićete Browser klasu iz bedrock-agentcore SDK-a. Ova klasa se bavi složenošću kreiranja i upravljanja izolovanim okruženjima pregledača u oblaku. Ključni izlaz iz ovog koraka je SigV4-unapred potpisan URL, koji omogućava siguran, privremeni pristup video strimu uživo sesije pregledača.

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

// Initialize Bedrock AgentCore client (ensure proper AWS credentials are configured)
const agentCoreClient = new AgentCoreClient({ region: 'us-east-1' }); // Use your desired region

async function startLiveSession() {
    // Create a new browser session
    const browser = new Browser(agentCoreClient);
    await browser.create();

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

    // Store browser.sessionId to later connect your AI agent or terminate the session
    const sessionId = browser.sessionId;
    
    return { liveViewUrl, sessionId };
}

// This `liveViewUrl` will be sent to your React client.

Ovaj liveViewUrl biće poslat vašem React klijentu.

2. Prikazivanje pregleda uživo u vašoj React aplikaciji

Kada vaša React aplikacija primi liveViewUrl sa vašeg servera, prikazivanje strima u realnom vremenu je izuzetno jednostavno, zahvaljujući komponenti BrowserLiveView.

// Example 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>Waiting for Live View URL...</p>;
    }

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

// In your main App component or page:
// const MyPage = () => {
//     const [currentLiveViewUrl, setCurrentLiveViewUrl] = useState<string | null>(null);
//
//     useEffect(() => {
//         // Fetch the liveViewUrl from your 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>
//     );
// };

Sa samo url={liveViewUrl}, komponenta BrowserLiveView rukuje složenim detaljima uspostavljanja WebSocket veze, konzumiranja DCV strima i prikazivanja video prenosa uživo unutar vaših navedenih dimenzija. Ova minimalna JSX integracija uveliko pojednostavljuje razvoj frontenda, omogućavajući vam da se fokusirate na korisničko iskustvo oko agenta uživo.

3. Povezivanje AI agenta za upravljanje pregledačem

Poslednji korak povezuje inteligenciju vašeg AI agenta sa stvarnim radnjama pregledača unutar izolovane sesije. Dok BrowserLiveView pruža vizuelnu povratnu informaciju, vaš AI agent koristi Playwright CDP (Chrome DevTools Protocol) za programsku interakciju sa pregledačem.

Vaš aplikacioni server, koji takođe hostuje vaš AI agenta, koristiće page svojstvo objekta Browser (koje je Playwright Page objekat) za izvršavanje radnji pregledača.

// Example server-side code (continued from step 1)
// Assuming you have a Playwright-like interface or direct Playwright usage
import { Browser } from 'bedrock-agentcore';
import { AgentCoreClient } from '@aws-sdk/client-bedrock-agentcore';
import { BedrockRuntimeClient, InvokeModelCommand } from "@aws-sdk/client-bedrock-runtime";

// ... (previous setup for browser creation) ...

async function driveAgent(sessionId: string) {
    const browser = new Browser(agentCoreClient, { sessionId }); // Reconnect to existing session
    await browser.connect(); // Connect to the browser session

    const page = browser.page; // Get the Playwright Page object

    // Example AI agent logic (simplified for illustration)
    // Here you would integrate with your LLM (e.g., Anthropic Claude via Bedrock Converse API)
    // to determine actions based on user prompts and page content.
    console.log("Agent navigating to example.com...");
    await page.goto('https://www.example.com');
    console.log("Agent waited for 3 seconds...");
    await page.waitForTimeout(3000); // Simulate processing time

    console.log("Agent typing into a search box (hypothetical)...");
    // Example: await page.type('#search-input', 'Amazon Bedrock AgentCore');
    // Example: await page.click('#search-button');

    const content = await page.content();
    // Use an LLM to analyze 'content' and decide next steps
    const bedrockRuntimeClient = new BedrockRuntimeClient({ region: 'us-east-1' });
    const response = await bedrockRuntimeClient.send(new InvokeModelCommand({
        modelId: "anthropic.claude-3-sonnet-20240229-v1:0", // or your preferred model
        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 suggested action:", parsedBody.content[0].text);

    // Based on LLM's suggestion, execute further page actions...

    // Don't forget to close the browser session when done
    // await browser.close();
}

// After starting the session and getting the URL, you would then call driveAgent(sessionId)

Ova petlja interakcije — gde vaš AI agent analizira sadržaj stranice, određuje sledeću akciju i izvršava je putem Playwright CDP-a — čini jezgro autonomnog agenta za pregledanje. Sve ove radnje vizuelno se prikazuju u realnom vremenu putem komponente BrowserLiveView na ekranu korisnika.

Otključavanje novih mogućnosti sa ugrađenim AI agentima

Integracija BrowserLiveView komponente Amazon Bedrock AgentCore-a je više od tehničke funkcije; to je promena paradigme u načinu na koji korisnici interaguju sa AI agentima i veruju im. Ugrađivanjem vizuelne povratne sprege u realnom vremenu, razvojni programeri mogu kreirati aplikacije pokretane AI-jem koje su ne samo efikasne, već i transparentne, proverljive i prilagođene korisnicima.

Ova mogućnost je posebno transformativna za aplikacije koje uključuju:

  • Složeni radni tokovi: Automatizacija onlajn procesa u više koraka kao što su unos podataka, onboarding ili usklađenost sa propisima, gde je vidljivost u svaki korak najvažnija.
  • Korisnička podrška: Omogućavanje agentima da posmatraju AI kopilote kako rešavaju upite korisnika ili navigiraju sistemima, obezbeđujući tačnost i pružajući mogućnosti za intervenciju.
  • Obuka i otklanjanje grešaka: Pružanje razvojnim programerima i krajnjim korisnicima moćnog alata za razumevanje ponašanja agenta, otklanjanje grešaka i obuku agenata kroz direktno posmatranje.
  • Poboljšani revizorski tragovi: Generisanje vizuelnih zapisa akcija agenta, koji se mogu kombinovati sa snimcima sesija na Amazon S3 za sveobuhvatan post-hoc pregled i usklađenost.

Mogućnost direktnog strimovanja sesija pregledača iz AWS Cloud-a ka klijentskim pregledačima, zaobilazeći aplikacioni server za video strim, nudi značajne prednosti u pogledu performansi i skalabilnosti. Ova arhitektura minimizira kašnjenje i smanjuje opterećenje vaše bek-end infrastrukture, omogućavajući vam da primenite visoko responsivna i skalabilna rešenja AI agenta.

Usvajanjem BrowserLiveView-a, ne gradite samo AI agente; gradite poverenje, kontrolu i bogatije korisničko iskustvo. Istražite mogućnosti i osnažite svoje korisnike samopouzdanjem da delegiraju složene veb zadatke inteligentnim agentima.

Često postavljana pitanja

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.

Будите у току

Примајте најновије AI вести на имејл.

Podeli