Code Velocity
Alat Pengembang

Bedrock AgentCore: Sematkan Agen Browser AI Langsung di React

·5 mnt baca·AWS·Sumber asli
Bagikan
Diagram arsitektur Amazon Bedrock AgentCore yang menunjukkan aliran data untuk menyematkan agen browser AI langsung dalam aplikasi React.

Bedrock AgentCore: Sematkan Agen Browser AI Langsung di React

Era agen AI yang beroperasi sebagai 'kotak hitam' yang buram dengan cepat mendekati akhir. Seiring kecerdasan buatan mengambil alih tugas yang semakin kompleks dan otonom, terutama di lingkungan web, permintaan akan transparansi, kepercayaan, dan kontrol pengguna tidak pernah setinggi ini. Pengguna perlu memahami dan memverifikasi tindakan yang diambil agen AI atas nama mereka, terutama ketika tindakan tersebut melibatkan penjelajahan situs web, interaksi dengan data sensitif, atau pelaksanaan alur kerja penting.

Menanggapi tantangan fundamental ini, Amazon Web Services memperkenalkan solusi yang kuat: komponen Amazon Bedrock AgentCore BrowserLiveView. Alat inovatif ini memberdayakan pengembang untuk menyematkan umpan video langsung dan real-time dari sesi penjelajahan agen AI langsung ke dalam aplikasi React mereka. Integrasi ini tidak hanya menjelaskan perilaku agen tetapi juga menyediakan visibilitas yang belum pernah ada sebelumnya dan rasa kontrol yang krusial bagi pengguna.

Sebagai bagian dari Bedrock AgentCore TypeScript SDK, komponen BrowserLiveView menyederhanakan integrasi aliran browser langsung ke dalam aplikasi Anda hanya dengan beberapa baris JavaScript XML (JSX). Menggunakan protokol Amazon DCV berkinerja tinggi, ia merender sesi agen, secara efektif mengubah proses yang biasanya tersembunyi menjadi pengalaman yang dapat diverifikasi secara visual. Artikel ini akan memandu Anda melalui proses, mulai dari memulai sesi dan menghasilkan URL Tampilan Langsung, hingga merender aliran di aplikasi React Anda, dan akhirnya, menghubungkan agen AI untuk menggerakkan browser saat pengguna Anda menonton.

Meningkatkan Transparansi Agen AI dengan BrowserLiveView

Dalam lanskap Agentic AI yang berkembang pesat saat ini, kemampuan untuk mendelegasikan tugas penjelajahan web kepada agen AI menjanjikan peningkatan efisiensi yang luar biasa. Namun, janji ini sering kali diredam oleh kekhawatiran tentang keandalan, akurasi, dan keamanan agen. Tanpa jendela yang jelas ke dalam operasi agen, pengguna dibiarkan untuk mempercayai sistem yang tidak dapat mereka amati, yang dapat menghambat adopsi dan membatasi penyebaran dalam skenario sensitif.

Komponen BrowserLiveView secara langsung menghadapi tantangan ini dengan 'membuka mata' agen AI kepada pengguna. Bayangkan agen AI yang ditugaskan untuk mengisi formulir online yang kompleks atau mengambil informasi spesifik dari beberapa situs web. Secara tradisional, pengguna hanya akan menerima output akhir atau ringkasan tindakan, membuat mereka bertanya-tanya tentang langkah-langkah perantara. Dengan Tampilan Langsung yang disematkan, pengguna dapat mengikuti setiap navigasi, pengiriman formulir, dan kueri pencarian secara real-time saat agen melakukannya.

Konfirmasi visual langsung ini sangat berharga. Ini meyakinkan pengguna bahwa agen berada di halaman yang benar, berinteraksi dengan elemen yang tepat, dan berkembang melalui alur kerja sebagaimana dimaksud. Lingkaran umpan balik real-time ini melampaui konfirmasi teks belaka; ini memberikan jejak audit perilaku agen yang nyata dan dapat diverifikasi, menumbuhkan kepercayaan dan keyakinan yang lebih besar. Untuk alur kerja yang diatur atau melibatkan data pelanggan yang sensitif, bukti visual ini dapat menjadi kritis untuk kepatuhan dan akuntabilitas. Selanjutnya, dalam skenario yang memerlukan pengawasan manusia, supervisor dapat secara langsung mengamati tindakan agen dalam aplikasi, mengintervensi jika diperlukan, tanpa mengganggu alur.

Arsitektur di Balik Observasi Agen Real-time

Integrasi tanpa hambatan dari agen browser AI langsung dalam aplikasi React yang didukung oleh Amazon Bedrock AgentCore diatur melalui arsitektur yang canggih namun efisien yang terdiri dari tiga komponen utama. Memahami interaksi antara bagian-bagian ini sangat penting untuk implementasi dan penyebaran yang sukses.

KomponenPeran dalam ArsitekturTeknologi/Protokol Utama
Browser Web PenggunaMenjalankan aplikasi React yang berisi komponen BrowserLiveView; membuat koneksi WebSocket untuk menerima aliran DCV; menangani rendering video.React, BrowserLiveView component, WebSocket, Amazon DCV
Server AplikasiBerfungsi sebagai agen AI; mengatur koneksi; memulai sesi melalui Bedrock AgentCore API; menghasilkan URL yang ditandatangani SigV4; menangani manajemen sesi dan otentikasi.Node.js (atau serupa), Amazon Bedrock AgentCore API, SigV4 URLs, REST, AI model logic
AWS Cloud (Bedrock AgentCore & Layanan)Menampung sesi browser cloud terisolasi; menyediakan titik akhir otomatisasi browser (Playwright CDP); menyediakan titik akhir streaming Tampilan Langsung (DCV).Amazon Bedrock AgentCore, Amazon Bedrock, Playwright CDP, Amazon DCV

Interaksi dimulai dengan browser web pengguna, yang menjalankan aplikasi React Anda. Di dalam aplikasi ini, komponen BrowserLiveView dirender, menunggu URL yang ditandatangani SigV4 yang aman dan terbatas waktu. URL ini, yang dihasilkan oleh server aplikasi Anda, adalah kunci untuk membuat koneksi WebSocket persisten langsung ke layanan Bedrock AgentCore di AWS Cloud.

Server aplikasi Anda memiliki dua tujuan: ini menampung logika agen AI dan bertindak sebagai perantara untuk manajemen sesi. Ini memanggil Amazon Bedrock AgentCore API untuk memulai sesi browser dan kemudian dengan aman menghasilkan URL yang ditandatangani SigV4 yang memberikan akses browser klien Anda ke aliran Tampilan Langsung. Yang krusial, sementara server Anda mengatur tindakan agen dan menghasilkan kredensial yang diperlukan, itu tidak secara langsung menangani aliran video itu sendiri.

Pekerjaan berat otomatisasi browser dan streaming video terjadi di dalam AWS Cloud. Amazon Bedrock AgentCore menampung sesi browser cloud terisolasi, menyediakan titik akhir otomatisasi—yang berinteraksi dengan agen AI Anda menggunakan Playwright Chrome DevTools Protocol (CDP)—dan titik akhir streaming Tampilan Langsung, yang didukung oleh Amazon DCV. Desain ini memastikan bahwa aliran Tampilan Langsung DCV mengalir langsung dari Amazon Bedrock AgentCore ke browser pengguna. Koneksi WebSocket langsung ini melewati server aplikasi Anda, meminimalkan latensi, mengurangi overhead infrastruktur Anda, dan memastikan pengalaman menonton yang mulus dan real-time.

Prasyarat untuk Menyebarkan Agen AI Langsung Anda

Sebelum masuk ke implementasi agen browser AI langsung Anda, penting untuk memastikan lingkungan pengembangan Anda dikonfigurasi dengan benar dan Anda memiliki sumber daya dan izin AWS yang diperlukan. Mematuhi prasyarat ini akan menyederhanakan proses pengembangan Anda dan membantu menjaga postur operasional yang aman.

  1. Node.js Environment: Anda memerlukan Node.js versi 20 atau yang lebih baru yang terinstal di sistem Anda untuk menjalankan komponen sisi server aplikasi Anda.
  2. AWS Account and Region: Akun AWS aktif diperlukan, dengan akses ke Wilayah AWS yang didukung di mana Amazon Bedrock AgentCore tersedia.
  3. AWS Credentials and Permissions: Kredensial AWS Anda harus memiliki izin Browser Amazon Bedrock AgentCore yang sesuai. Sangat penting untuk mengikuti prinsip hak istimewa paling rendah saat mengkonfigurasi izin AWS Identity and Access Management (IAM). Untuk keamanan yang ditingkatkan, selalu gunakan kredensial sementara yang diperoleh dari AWS IAM Identity Center atau AWS Security Token Service (AWS STS), hindari kunci akses berjangka panjang.
  4. AI Model Access: Jika Anda berencana untuk menggunakan model AI untuk menggerakkan agen (seperti yang ditunjukkan dalam contoh, yang menggunakan Amazon Bedrock Converse API dengan Anthropic Claude), Anda memerlukan akses ke model spesifik tersebut dan izin AWS Bedrock terkait. Namun, ingatlah bahwa Tampilan Langsung itu sendiri agnostik model, memungkinkan Anda untuk mengintegrasikan penyedia model atau kerangka kerja agen pilihan Anda.
  5. SDK Installations:
    • Instal bedrock-agentcore TypeScript SDK untuk berinteraksi dengan AgentCore:
      npm install bedrock-agentcore
      
    • Jika Anda menggunakan AWS Bedrock untuk model AI Anda, instal AWS SDK for JavaScript:
      npm install @aws-sdk/client-bedrock-runtime
      

Basis kode untuk mengimplementasikan Tampilan Langsung biasanya terbagi: kode sisi server (untuk manajemen sesi dan logika agen AI) berjalan di Node.js, dan kode sisi klien (untuk merender Tampilan Langsung) berjalan di dalam aplikasi React, sering kali dibundel dengan alat seperti Vite.

Integrasi Langkah demi Langkah: Dari Sesi ke Aliran

Mengintegrasikan agen browser AI langsung dengan Amazon Bedrock AgentCore melibatkan proses tiga langkah yang jelas, menjembatani logika sisi server Anda dengan aplikasi React sisi klien Anda dan kapabilitas AWS Cloud yang tangguh.

1. Memulai Sesi Browser dan Menghasilkan URL Tampilan Langsung

Langkah pertama terjadi di server aplikasi Anda. Di sinilah logika backend Anda memulai sesi browser di dalam Amazon Bedrock AgentCore dan dengan aman mendapatkan URL yang diperlukan untuk mengalirkan tampilan langsung.

Anda akan menggunakan kelas Browser dari bedrock-agentcore SDK. Kelas ini menangani kompleksitas pembuatan dan pengelolaan lingkungan browser terisolasi di cloud. Output utama dari langkah ini adalah URL yang ditandatangani SigV4, yang memberikan akses aman dan sementara ke aliran video langsung sesi browser.

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

// Inisialisasi klien Bedrock AgentCore (pastikan kredensial AWS yang sesuai dikonfigurasi)
const agentCoreClient = new AgentCoreClient({ region: 'us-east-1' }); // Gunakan wilayah yang Anda inginkan

async function startLiveSession() {
    // Buat sesi browser baru
    const browser = new Browser(agentCoreClient);
    await browser.create();

    // Hasilkan URL Tampilan Langsung
    const liveViewUrl = await browser.getLiveViewURL();
    console.log('Live View URL:', liveViewUrl);

    // Simpan browser.sessionId untuk nanti menghubungkan agen AI Anda atau mengakhiri sesi
    const sessionId = browser.sessionId;
    
    return { liveViewUrl, sessionId };
}

// `liveViewUrl` ini akan dikirim ke klien React Anda.

URL ini kemudian diteruskan ke frontend React Anda, yang akan menggunakannya untuk membuat aliran langsung.

2. Merender Tampilan Langsung di Aplikasi React Anda

Setelah aplikasi React Anda menerima liveViewUrl dari server Anda, merender aliran real-time sangat mudah, berkat komponen BrowserLiveView.

// Contoh kode sisi klien (komponen 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>Waiting for Live View URL...</p>;
    }

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

// Di komponen App utama atau halaman Anda:
// const MyPage = () => {
//     const [currentLiveViewUrl, setCurrentLiveViewUrl] = useState<string | null>(null);
//
//     useEffect(() => {
//         // Ambil liveViewUrl dari backend Anda
//         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>
//     );
// };

Hanya dengan url={liveViewUrl}, komponen BrowserLiveView menangani detail rumit pembentukan koneksi WebSocket, mengonsumsi aliran DCV, dan merender umpan video langsung dalam dimensi yang Anda tentukan. Integrasi JSX minimal ini sangat menyederhanakan pengembangan frontend, memungkinkan Anda untuk fokus pada pengalaman pengguna seputar agen langsung.

3. Menghubungkan Agen AI untuk Menggerakkan Browser

Langkah terakhir menghubungkan kecerdasan agen AI Anda dengan tindakan browser aktual di dalam sesi terisolasi. Sementara BrowserLiveView menyediakan umpan balik visual, agen AI Anda menggunakan Playwright CDP (Chrome DevTools Protocol) untuk berinteraksi dengan browser secara terprogram.

Server aplikasi Anda, yang juga menampung agen AI Anda, akan menggunakan properti page objek Browser (yang merupakan objek Playwright Page) untuk menjalankan tindakan browser.

// Contoh kode sisi server (dilanjutkan dari langkah 1)
// Dengan asumsi Anda memiliki antarmuka mirip Playwright atau penggunaan Playwright langsung
import { Browser } from 'bedrock-agentcore';
import { AgentCoreClient } from '@aws-sdk/client-bedrock-agentcore';
import { BedrockRuntimeClient, InvokeModelCommand } from "@aws-sdk/client-bedrock-runtime";

// ... (pengaturan sebelumnya untuk pembuatan browser) ...

async function driveAgent(sessionId: string) {
    const browser = new Browser(agentCoreClient, { sessionId }); // Sambungkan kembali ke sesi yang sudah ada
    await browser.connect(); // Sambungkan ke sesi browser

    const page = browser.page; // Dapatkan objek Playwright Page

    // Contoh logika agen AI (disederhanakan untuk ilustrasi)
    // Di sini Anda akan berintegrasi dengan LLM Anda (misalnya, Anthropic Claude melalui Bedrock Converse API)
    // untuk menentukan tindakan berdasarkan prompt pengguna dan konten halaman.
    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); // Mensimulasikan waktu pemrosesan

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

    const content = await page.content();
    // Gunakan LLM untuk menganalisis 'content' dan memutuskan langkah selanjutnya
    const bedrockRuntimeClient = new BedrockRuntimeClient({ region: 'us-east-1' });
    const response = await bedrockRuntimeClient.send(new InvokeModelCommand({
        modelId: "anthropic.claude-3-sonnet-20240229-v1:0", // atau model pilihan Anda
        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);

    // Berdasarkan saran LLM, jalankan tindakan halaman selanjutnya...

    // Jangan lupa untuk menutup sesi browser setelah selesai
    // await browser.close();
}

// Setelah memulai sesi dan mendapatkan URL, Anda kemudian akan memanggil driveAgent(sessionId)

Lingkaran interaksi ini—di mana agen AI Anda menganalisis konten halaman, menentukan tindakan selanjutnya, dan melaksanakannya melalui Playwright CDP—membentuk inti agen penjelajah otonom. Semua tindakan ini dirender secara visual secara real-time melalui komponen BrowserLiveView di layar pengguna.

Membuka Kemungkinan Baru dengan Agen AI Tertanam

Integrasi BrowserLiveView dari Amazon Bedrock AgentCore lebih dari sekadar fitur teknis; ini adalah perubahan paradigma dalam cara pengguna berinteraksi dan mempercayai agen AI. Dengan menyematkan umpan balik visual real-time, pengembang dapat membuat aplikasi bertenaga AI yang tidak hanya efisien tetapi juga transparan, dapat diaudit, dan ramah pengguna.

Kapabilitas ini sangat transformatif untuk aplikasi yang melibatkan:

  • Alur Kerja Kompleks: Mengotomatiskan proses online multi-langkah seperti entri data, orientasi, atau kepatuhan regulasi, di mana visibilitas ke setiap langkah sangat penting.
  • Dukungan Pelanggan: Memungkinkan agen untuk mengamati co-pilot AI dalam menyelesaikan pertanyaan pelanggan atau menavigasi sistem, memastikan akurasi dan memberikan peluang untuk intervensi.
  • Pelatihan dan Debugging: Menyediakan pengembang dan pengguna akhir dengan alat yang ampuh untuk memahami perilaku agen, men-debug masalah, dan melatih agen melalui observasi langsung.
  • Jejak Audit yang Ditingkatkan: Menghasilkan catatan visual tindakan agen, yang dapat digabungkan dengan rekaman sesi ke Amazon S3 untuk tinjauan dan kepatuhan pasca-fakta yang komprehensif.

Kemampuan untuk mengalirkan sesi browser langsung dari AWS Cloud ke browser klien, melewati server aplikasi untuk aliran video, menawarkan keuntungan signifikan dalam hal kinerja dan skalabilitas. Arsitektur ini meminimalkan latensi dan mengurangi beban pada infrastruktur backend Anda, memungkinkan Anda untuk menyebarkan solusi agen AI yang sangat responsif dan skalabel.

Dengan mengadopsi BrowserLiveView, Anda tidak hanya membangun agen AI; Anda membangun kepercayaan, kontrol, dan pengalaman pengguna yang lebih kaya. Jelajahi kemungkinan dan berdayakan pengguna Anda dengan keyakinan untuk mendelegasikan tugas web yang kompleks kepada agen cerdas.

Pertanyaan yang Sering Diajukan

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.

Tetap Update

Dapatkan berita AI terbaru di inbox Anda.

Bagikan