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.
| Komponenta | Uloga u arhitekturi | Ključ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 server | Funkcioniš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.
- 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.
- AWS nalog i region: Potreban je aktivan AWS nalog, sa pristupom podržanom AWS regionu gde je Amazon Bedrock AgentCore dostupan.
- 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.
- 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.
- Instalacije SDK-a:
- Instalirajte
bedrock-agentcoreTypeScript 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
- Instalirajte
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.
Originalni izvor
https://aws.amazon.com/blogs/machine-learning/embed-a-live-ai-browser-agent-in-your-react-app-with-amazon-bedrock-agentcore/Često postavljana pitanja
What is the Amazon Bedrock AgentCore BrowserLiveView component and how does it function?
How does embedding Live View enhance user trust and confidence in AI agents?
What are the primary architectural components involved in integrating a Live View AI agent?
Can developers utilize any AI model or agent framework with Amazon Bedrock AgentCore's Live View?
What are the essential prerequisites for setting up a Live View AI browser agent with Amazon Bedrock AgentCore?
How does the DCV protocol facilitate real-time, low-latency video streaming for Live View?
Будите у току
Примајте најновије AI вести на имејл.
