Code Velocity
Алатки за програмери

Bedrock AgentCore: Вградете AI прелистувачки агент во живо во React

·5 мин читање·AWS·Оригинален извор
Сподели
Дијаграм на архитектурата на Amazon Bedrock AgentCore кој го прикажува протокот на податоци за вградување AI прелистувачки агент во живо во React апликација.

Bedrock AgentCore: Вградете AI прелистувачки агент во живо во React

Ерата на AI агенти кои функционираат како непроѕирни „црни кутии“ брзо се ближи кон крајот. Како што вештачката интелигенција презема сè посложени и поавтономни задачи, особено во веб-околини, побарувачката за транспарентност, доверба и корисничка контрола никогаш не била поголема. Корисниците треба да ги разберат и потврдат дејствата што AI агент ги презема во нивно име, особено кога тие дејства вклучуваат навигација на веб-страници, интеракција со чувствителни податоци или извршување критични работни процеси.

Соочувајќи се со овој фундаментален предизвик, Amazon Web Services претставува моќно решение: компонентата Amazon Bedrock AgentCore BrowserLiveView. Оваа иновативна алатка им овозможува на програмерите да вградат жив, видео пренос во реално време од сесијата за прелистување на AI агент директно во нивните React апликации. Оваа интеграција не само што го демистифицира однесувањето на агентот, туку им овозможува на корисниците невидена видливост и клучно чувство на контрола.

Како дел од Bedrock AgentCore TypeScript SDK, компонентата BrowserLiveView ја поедноставува интеграцијата на преноси од прелистувач во живо во вашата апликација со само неколку линии JavaScript XML (JSX). Користејќи го протоколот Amazon DCV со високи перформанси, тој ја прикажува сесијата на агентот, ефикасно трансформирајќи го традиционално скриениот процес во визуелно проверливо искуство. Оваа статија ќе ве води низ процесот, од започнување сесија и генерирање на URL за Приказ во живо, до прикажување на преносот во вашата React апликација, и конечно, поврзување на AI агент за управување со прелистувачот додека вашите корисници гледаат.

Подобрување на транспарентноста на AI агентот со BrowserLiveView

Во денешниот брзо развиен пејзаж на Агентички AI, способноста за делегирање на задачи за веб-прелистување на AI агенти ветува огромни зголемувања на ефикасноста. Меѓутоа, ова ветување често е ублажено со загриженоста за доверливоста, точноста и безбедноста на агентот. Без јасен прозорец во операциите на агентот, корисниците се оставени да му веруваат на систем што не можат да го набљудуваат, што може да го попречи усвојувањето и да го ограничи распоредувањето во чувствителни сценарија.

Компонентата BrowserLiveView директно се соочува со овој предизвик со отворање на „очите“ на AI агентот за корисникот. Замислете AI агент задолжен за пополнување комплексна онлајн форма или за преземање специфични информации од повеќе веб-страници. Традиционално, корисникот би добил само конечен излез или резиме на дејства, оставајќи го да се прашува за меѓучекорите. Со вграден Приказ во живо, корисниците можат да ја следат секоја навигација, поднесување форма и пребарување во реално време како што агентот ги извршува.

Оваа итна визуелна потврда е бесценета. Таа ги уверува корисниците дека агентот е на точната страница, интеракција со вистинските елементи и напредува низ работниот процес како што е наменет. Оваа повратна информација во реално време оди подалеку од само текстуални потврди; таа обезбедува опиплива, проверлива ревизорска трага од однесувањето на агентот, поттикнувајќи поголема доверба. За работни процеси кои се регулирани или вклучуваат чувствителни податоци за клиентите, овој визуелен доказ може да биде критичен за усогласеност и одговорност. Понатаму, во сценарија кои бараат човечки надзор, надзорникот може директно да ги набљудува дејствата на агентот во рамките на апликацијата, интервенирајќи доколку е потребно, без да го наруши протокот.

Архитектурата зад набљудувањето на агентот во реално време

Беспрекорната интеграција на AI прелистувачки агент во живо во React апликација напојувана од Amazon Bedrock AgentCore е оркестрирана преку софистицирана, но ефикасна архитектура која се состои од три клучни компоненти. Разбирањето на меѓусебното дејство помеѓу овие делови е клучно за успешна имплементација и распоредување.

КомпонентаУлога во архитектуратаКлучни технологии/протоколи
Веб-прелистувач на корисникотЈа извршува React апликацијата која ја содржи компонентата BrowserLiveView; воспоставува WebSocket конекција за примање DCV пренос; ракува со прикажувањето на видео.React, компонента BrowserLiveView, WebSocket, Amazon DCV
Сервер на апликацијаФункционира како AI агент; оркестрира конекции; започнува сесии преку Bedrock AgentCore API; генерира SigV4-presigned URL-и; ракува со управување со сесии и автентикација.Node.js (или слично), Amazon Bedrock AgentCore API, SigV4 URL-и, REST, логика на AI модел
AWS Cloud (Bedrock AgentCore & Услуги)Хостира изолирани cloud сесии на прелистувач; обезбедува крајна точка за автоматизација на прелистувач (Playwright CDP); испорачува крајна точка за пренос на Приказ во живо (DCV).Amazon Bedrock AgentCore, Amazon Bedrock, Playwright CDP, Amazon DCV

Интеракцијата започнува со веб-прелистувачот на корисникот, кој ја извршува вашата React апликација. Во рамките на оваа апликација, се прикажува компонентата BrowserLiveView, чекајќи безбеден, временски ограничен SigV4-presigned URL. Овој URL, генериран од серверот на вашата апликација, е клучот за воспоставување постојана WebSocket конекција директно до услугата Bedrock AgentCore во AWS Cloud.

Серверот на вашата апликација служи за двојна цел: тој ја хостира логиката на AI агентот и дејствува како посредник за управување со сесиите. Тој го повикува Amazon Bedrock AgentCore API за да иницира сесии на прелистувач и потоа безбедно ги генерира SigV4-presigned URL-ите што му даваат на вашиот клиентски прелистувач пристап до преносот на Приказ во живо. Клучно, додека вашиот сервер ги оркестрира дејствата на агентот и ги генерира потребните акредитиви, тој не го ракува директно видео преносот.

Тешката работа на автоматизација на прелистувачот и видео преносот се случува во рамките на AWS Cloud. Amazon Bedrock AgentCore хостира изолирани cloud сесии на прелистувач, обезбедувајќи ја и крајната точка за автоматизација—со која вашиот AI агент комуницира користејќи го Playwright Chrome DevTools Protocol (CDP)—и крајната точка за пренос на Приказ во живо, напојувана од Amazon DCV. Овој дизајн осигурува дека DCV преносот на Приказ во живо тече директно од Amazon Bedrock AgentCore до прелистувачот на корисникот. Оваа директна WebSocket конекција го заобиколува серверот на вашата апликација, минимизирајќи ја латентноста, намалувајќи ги трошоците за вашата инфраструктура и обезбедувајќи мазно искуство за гледање во реално време.

Предуслови за распоредување на вашиот AI агент во живо

Пред да се нурнете во имплементацијата на вашиот AI прелистувачки агент во живо, од суштинско значење е да се осигурате дека вашата развојна средина е правилно конфигурирана и дека ги имате потребните AWS ресурси и дозволи. Придржувањето кон овие предуслови ќе го рационализира вашиот развоен процес и ќе помогне да се одржи безбедна оперативна положба.

  1. Node.js околина: Ќе ви треба Node.js верзија 20 или понова инсталирана на вашиот систем за извршување на серверските компоненти на вашата апликација.
  2. AWS сметка и регион: Потребна е активна AWS сметка, со пристап до поддржан AWS регион каде што е достапен Amazon Bedrock AgentCore.
  3. AWS акредитиви и дозволи: Вашите AWS акредитиви мора да ги имаат соодветните Amazon Bedrock AgentCore Browser дозволи. Клучно е да се следи принципот на најмала привилегија при конфигурирање на AWS Identity and Access Management (IAM) дозволи. За подобрена безбедност, секогаш користете привремени акредитиви добиени од AWS IAM Identity Center или AWS Security Token Service (AWS STS), избегнувајќи долготрајни клучеви за пристап.
  4. Пристап до AI модел: Доколку планирате да користите AI модел за управување со агентот (како што е демонстрирано во примерокот, кој користи Amazon Bedrock Converse API со Anthropic Claude), ќе ви треба пристап до тој специфичен модел и сите поврзани AWS Bedrock дозволи. Меѓутоа, запомнете дека самиот Приказ во живо е модел-независен, што ви овозможува да интегрирате кој било провајдер на модел или рамка на агент по ваш избор.
  5. Инсталации на SDK:
    • Инсталирајте го bedrock-agentcore TypeScript SDK за интеракција со AgentCore:
      npm install bedrock-agentcore
      
    • Доколку користите AWS Bedrock за вашиот AI модел, инсталирајте го AWS SDK за JavaScript:
      npm install @aws-sdk/client-bedrock-runtime
      

Кодната база за имплементација на Приказ во живо обично е поделена: серверскиот код (за управување со сесии и логика на AI агент) се извршува во Node.js, а клиентскиот код (за прикажување на Приказ во живо) се извршува во React апликација, често спакуван со алатки како Vite.

Чекор-по-чекор интеграција: Од сесија до пренос

Интегрирањето на AI прелистувачки агент во живо со Amazon Bedrock AgentCore вклучува јасен, тристепен процес, кој ја поврзува вашата серверска логика со вашата клиентска React апликација и робусните можности на AWS Cloud.

1. Започнување сесија на прелистувач и генерирање на URL за Приказ во живо

Првиот чекор се случува на серверот на вашата апликација. Овде вашата серверска логика иницира сесија на прелистувач во рамките на Amazon Bedrock AgentCore и безбедно го добива потребниот URL за пренос на Приказ во живо.

Ќе ја користите класата Browser од bedrock-agentcore SDK. Оваа класа ја ракува сложеноста на креирање и управување со изолирани прелистувачки средини во облакот. Клучниот излез од овој чекор е SigV4-presigned URL, кој овозможува безбеден, привремен пристап до видео преносот во живо од сесијата на прелистувачот.

// Пример серверски код (Node.js)
import { Browser } from 'bedrock-agentcore';
import { AgentCoreClient } from '@aws-sdk/client-bedrock-agentcore';

// Иницијализирај го Bedrock AgentCore клиентот (осигурајте се дека се конфигурирани соодветни AWS акредитиви)
const agentCoreClient = new AgentCoreClient({ region: 'us-east-1' }); // Користете го саканиот регион

async function startLiveSession() {
    // Креирај нова сесија на прелистувач
    const browser = new Browser(agentCoreClient);
    await browser.create();

    // Генерирај го URL-от за Приказ во живо
    const liveViewUrl = await browser.getLiveViewURL();
    console.log('Live View URL:', liveViewUrl);

    // Зачувај browser.sessionId за подоцна да го поврзете вашиот AI агент или да ја прекинете сесијата
    const sessionId = browser.sessionId;
    
    return { liveViewUrl, sessionId };
}

// Овој `liveViewUrl` ќе биде испратен до вашиот React клиент.

Овој URL потоа се пренесува на вашиот React frontend, кој ќе го користи за да воспостави пренос во живо.

2. Прикажување на Приказ во живо во вашата React апликација

Откако вашата React апликација ќе го прими liveViewUrl од вашиот сервер, прикажувањето на преносот во реално време е изненадувачки едноставно, благодарение на компонентата BrowserLiveView.

// Пример клиентски код (React компонента)
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>Чекање за URL за Приказ во живо...</p>;
    }

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

// Во вашата главна App компонента или страница:
// const MyPage = () => {
//     const [currentLiveViewUrl, setCurrentLiveViewUrl] = useState<string | null>(null);
//
//     useEffect(() => {
//         // Преземете го liveViewUrl од вашиот backend
//         fetch('/api/start-agent-session')
//             .then(res => res.json())
//             .then(data => setCurrentLiveViewUrl(data.liveViewUrl));
//     }, []);
//
//     return (
//         <div>
//             <h1>AI Агент Приказ во живо</h1>
//             <LiveAgentViewer liveViewUrl={currentLiveViewUrl} />
//         </div>
//     );
// };

Со само url={liveViewUrl}, компонентата BrowserLiveView ги ракува сложените детали за воспоставување на WebSocket конекција, конзумирање на DCV преносот и прикажување на видео преносот во живо во рамките на вашите одредени димензии. Оваа минимална JSX интеграција значително го поедноставува развојот на frontend, овозможувајќи ви да се фокусирате на корисничкото искуство околу агентот во живо.

3. Поврзување на AI агент за управување со прелистувачот

Последниот чекор ја поврзува интелигенцијата на вашиот AI агент со вистинските дејства на прелистувачот во изолираната сесија. Додека BrowserLiveView обезбедува визуелна повратна информација, вашиот AI агент користи Playwright CDP (Chrome DevTools Protocol) за програмски интеракции со прелистувачот.

Серверот на вашата апликација, кој исто така го хостира вашиот AI агент, ќе го користи својството page на објектот Browser (кое е Playwright Page објект) за извршување на дејства на прелистувачот.

// Пример серверски код (продолжение од чекор 1)
// Претпоставувајќи дека имате интерфејс сличен на Playwright или директна употреба на Playwright
import { Browser } from 'bedrock-agentcore';
import { AgentCoreClient } from '@aws-sdk/client-bedrock-agentcore';
import { BedrockRuntimeClient, InvokeModelCommand } from "@aws-sdk/client-bedrock-runtime";

// ... (претходно поставување за креирање прелистувач) ...

async function driveAgent(sessionId: string) {
    const browser = new Browser(agentCoreClient, { sessionId }); // Повторно поврзете се на постоечка сесија
    await browser.connect(); // Поврзете се на сесијата на прелистувачот

    const page = browser.page; // Добијте го Playwright Page објектот

    // Пример логика на AI агент (поедноставена за илустрација)
    // Овде ќе се интегрирате со вашиот LLM (на пр., Anthropic Claude преку Bedrock Converse API)
    // за да одредите дејства врз основа на корисничките барања и содржината на страницата.
    console.log("Агентот навигира до example.com...");
    await page.goto('https://www.example.com');
    console.log("Агентот чекаше 3 секунди...");
    await page.waitForTimeout(3000); // Симулирај време на обработка

    console.log("Агентот внесува текст во поле за пребарување (хипотетички)...");
    // Пример: await page.type('#search-input', 'Amazon Bedrock AgentCore');
    // Пример: await page.click('#search-button');

    const content = await page.content();
    // Користете LLM за да ја анализира 'содржината' и да одлучи за следните чекори
    const bedrockRuntimeClient = new BedrockRuntimeClient({ region: 'us-east-1' });
    const response = await bedrockRuntimeClient.send(new InvokeModelCommand({
        modelId: "anthropic.claude-3-sonnet-20240229-v1:0", // или вашиот префериран модел
        contentType: "application/json",
        accept: "application/json",
        body: JSON.stringify({
            messages: [
                {
                    role: "user",
                    content: `Анализирај ја содржината на оваа веб-страница и предложи го следното дејство: ${content.substring(0, 500)}`
                }
            ],
            max_tokens: 200,
        }),
    }));
    const decodedBody = new TextDecoder("utf-8").decode(response.body);
    const parsedBody = JSON.parse(decodedBody);
    console.log("AI Моделот предложи дејство:", parsedBody.content[0].text);

    // Врз основа на предлогот на LLM, извршете понатамошни дејства на страницата...

    // Не заборавајте да ја затворите сесијата на прелистувачот кога ќе завршите
    // await browser.close();
}

// Откако ќе ја започнете сесијата и ќе го добиете URL-от, потоа ќе го повикате driveAgent(sessionId)

Оваа интерактивна јамка—каде што вашиот AI агент ја анализира содржината на страницата, го одредува следното дејство и го извршува преку Playwright CDP—ја формира основата на автономен агент за прелистување. Сите овие дејства се визуелно прикажани во реално време преку компонентата BrowserLiveView на екранот на корисникот.

Отклучување нови можности со вградени AI агенти

Интеграцијата на BrowserLiveView на Amazon Bedrock AgentCore е повеќе од само техничка карактеристика; тоа е промена на парадигмата во начинот на кој корисниците комуницираат и им веруваат на AI агентите. Со вградување на визуелна повратна информација во реално време, програмерите можат да креираат апликации напојувани со AI кои се не само ефикасни, туку и транспарентни, проверливи и пријателски настроени кон корисникот.

Оваа способност е особено трансформативна за апликации кои вклучуваат:

  • Комплексни работни процеси: Автоматизирање на повеќестепени онлајн процеси како што се внесување податоци, регистрација или регулаторна усогласеност, каде што видливоста во секој чекор е најважна.
  • Корисничка поддршка: Овозможување на агентите да ги набљудуваат AI ко-пилотите како ги решаваат барањата на клиентите или навигираат низ системите, обезбедувајќи точност и давајќи можности за интервенција.
  • Обука и дебагирање: Обезбедување на програмерите и крајните корисници со моќна алатка за разбирање на однесувањето на агентот, дебагирање проблеми и обука на агентите преку директно набљудување.
  • Подобрени ревизорски траги: Генерирање визуелни записи од дејствата на агентот, кои можат да се комбинираат со снимки од сесиите на Amazon S3 за сеопфатен преглед по настанот и усогласеност.

Способноста за директен пренос на сесиите на прелистувачот од AWS Cloud до клиентските прелистувачи, заобиколувајќи го серверот на апликацијата за видео преносот, нуди значителни предности во однос на перформансите и скалабилноста. Оваа архитектура ја минимизира латентноста и го намалува оптоварувањето на вашата backend инфраструктура, овозможувајќи ви да распоредите високо одговорни и скалабилни AI агентски решенија.

Со усвојување на BrowserLiveView, вие не само што градите AI агенти; вие градите доверба, контрола и побогато корисничко искуство. Истражете ги можностите и дајте им моќ на вашите корисници со доверба да делегираат сложени веб задачи на интелигентни агенти.

Често поставувани прашања

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 вести на е-пошта.

Сподели