View a markdown version of this page

Menerapkan Platform Intelijen Multi-Agent Rapat Menggunakan Strands Agents SDK dan AWS Fargate - AWS Prescriptive Guidance

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Menerapkan Platform Intelijen Multi-Agent Rapat Menggunakan Strands Agents SDK dan AWS Fargate

Aishita Batra dan Muskan., Amazon Web Services

Ringkasan

Pola ini menyebarkan platform intelijen pertemuan multi-agen AWS Fargate yang secara otomatis menghasilkan risalah terstruktur, ringkasan eksekutif, narasi audio, dan laporan PDF yang diformat dari transkrip rapat. Solusinya menggunakan Strands Agents SDK untuk mengatur empat agen AI khusus, Amazon Bedrock untuk inferensi model bahasa, dan Amazon Polly untuk konversi text-to-speech.

Pengguna mengunggah transkrip rapat melalui antarmuka web Streamlit, dan sistem memprosesnya secara asinkron melalui saluran agen terkoordinasi. Infrastruktur diterapkan secara otomatis melalui GitHub Tindakan dengan AWS AWS Cloud Development Kit (AWS CDK) dan mencakup pemantauan bawaan, auto-scaling, dan ketersediaan tinggi.

Prasyarat dan batasan

Prasyarat

  • Aktif Akun AWS dengan izin administratif

  • AWS CDK versi 2.114.1 atau yang lebih baru diinstal

  • AWS CLI diinstal dan dikonfigurasi dengan izin AWS Identity and Access Management (IAM) yang sesuai

  • Node.js 18 atau lebih baru

  • Python 3.12 atau yang lebih baru

  • Git diinstal

  • Docker diinstal (opsional, untuk pengujian lokal)

  • GitHub Akun dengan rahasia repositori dikonfigurasi: dan AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY

  • Amazon Bedrock dengan akses ke model Soneta Anthropic Claude 3 yang diaktifkan di Wilayah Anda

  • Akses Amazon Polly diaktifkan (diaktifkan secara default di sebagian besar Wilayah)

  • Izin IAM untuk Amazon Simple Storage Service (Amazon S3) Simple Storage Service, Amazon Elastic Container Service (Amazon ECS), Fargate, Elastic Load Balancing, Amazon Virtual Private Cloud (Amazon VPC)

  • Amazon VPC, IAM, Amazon, CloudWatch dan Amazon Simple Notification Service SNS)

Batasan

  • Waktu pemrosesan adalah 2—7 menit per rapat, tergantung pada kompleksitas transkrip.

  • Panjang transkrip maksimum adalah 50.000 karakter per permintaan.

  • Ringkasan audio secara otomatis diringkas menjadi 3.000 karakter (batas karakter Amazon Polly).

  • Ketersediaan Amazon Bedrock Claude 3 Soneta bervariasi menurut. Wilayah AWS

  • Status Job disimpan dalam memori dan tidak persisten di seluruh kontainer dimulai ulang kecuali Anda mengonfigurasi S3-based persistensi.

  • Unggahan langsung hanya mendukung .txt file.

  • Application Load Balancer memberlakukan batas waktu 15 menit untuk memproses permintaan.

  • Beberapa AWS layanan tidak tersedia di semua Wilayah AWS. Untuk ketersediaan Wilayah, lihat AWS layanan menurut Wilayah. Untuk titik akhir tertentu, lihat halaman titik akhir dan kuota Layanan, dan pilih tautan untuk layanan.

Arsitektur

Arsitektur target

Solusinya menerapkan sistem AI multi-agen menggunakan Strands Agents SDK AWS Fargate dengan arsitektur berikut:

  1. Pengguna mengunggah transkrip rapat melalui aplikasi web Streamlit yang dihosting secara lokal atau di server jarak jauh.

  2. Application Load Balancer di subnet publik mendistribusikan lalu lintas ke layanan Fargate di dua Availability Zone.

  3. Tugas Fargate berjalan di subnet pribadi dengan akses NAT Gateway dan meng-host backend FastAp dan logika orkestrasi agen Strands.

  4. Sistem multi-agen Strands memproses transkrip melalui empat agen sekuensial: pembuatan menit terstruktur, pembuatan ringkasan ringkas, narasi audio, dan pembuatan laporan PDF.

  5. Amazon Bedrock menyediakan inferensi model bahasa (Claude 3 Soneta) untuk menit dan agen pembuatan ringkasan.

  6. Amazon Polly mengonversi ringkasan singkat menjadi narasi audio MP3.

  7. Amazon S3 menyimpan transkrip yang diunggah, file keluaran yang dihasilkan, dan status pekerjaan dengan kebijakan manajemen siklus hidup.

  8. Amazon CloudWatch menyediakan logging terpusat, alarm CPU dan memori, dan pemantauan kesehatan layanan dengan notifikasi Amazon SNS.

  9. GitHub Tindakan menyediakan CI/CD penerapan otomatis melalui pengujian AWS CDK validasi kesehatan.

Otomatisasi dan skala

  • ECS Fargate auto-scaling — Penskalaan kontainer otomatis dari 1 hingga 3 instans berdasarkan 70% CPU dan ambang batas pemanfaatan memori.

  • CloudWatchpemantauan - CPU (65%), memori (80%), dan alarm kesehatan layanan terintegrasi dengan notifikasi Amazon SNS.

  • Application Load Balancer — Distribusi lalu lintas dengan pemeriksaan kesehatan setiap 60 detik dan batas waktu idle 15 menit untuk tugas pemrosesan AI yang berjalan lama.

  • Pemrosesan tugas latar belakang - Analisis rapat asinkron menggunakan FastAP BackgroundTasks untuk pelaksanaan pekerjaan bersamaan.

  • S3-based ketekunan pekerjaan — Penyimpanan status pekerjaan persisten di Amazon S3 yang memastikan kelangsungan pekerjaan di seluruh peristiwa restart dan penskalaan kontainer.

  • GitHub Tindakan CI/CD — Saluran penyebaran otomatis dengan penyediaan infrastruktur CDK dan pengujian validasi kesehatan.

Alat

Layanan AWS

  • Amazon Bedrock — Menyediakan inferensi model bahasa (Claude 3 Soneta) untuk bertemu agen analisis dan ringkasan. Lihat dokumentasi Amazon Bedrock.

  • Amazon CloudWatch — Memonitor kinerja kontainer, menangkap log aplikasi, dan memicu alarm untuk CPU, memori, dan ambang batas kesehatan layanan. Lihat CloudWatch CloudWatch dokumentasi Amazon.

  • Amazon Elastic Container Service (Amazon ECS) - Mengatur tugas kontainer Fargate dengan pemeriksaan kesehatan dan penemuan layanan. Lihat dokumentasi Amazon ECS.

  • Amazon Polly — Mengonversi ringkasan rapat singkat ke narasi audio MP3. Lihat dokumentasi Amazon Polly.

  • Amazon Simple Notification Service (Amazon SNS) - Memberikan pemberitahuan alarm dari pemantauan. CloudWatch Lihat dokumentasi Amazon SNS.

  • Amazon Simple Storage Service (Amazon S3) — Menyimpan transkrip yang diunggah, file keluaran yang dihasilkan, dan status pekerjaan dengan manajemen siklus hidup. Lihat dokumentasi Amazon S3.

  • AWS CDK — Mendefinisikan dan menyebarkan semua infrastruktur sebagai kode. Lihat AWS CDK dokumentasi.

  • AWS Fargate — Menjalankan beban kerja aplikasi kontainer tanpa mengelola server, dengan auto-scaling dari 1 hingga 3 instance. Lihat AWS Fargate dokumentasi.

  • Elastic Load Balancing — Mendistribusikan lalu lintas masuk ke tugas Fargate di seluruh Availability Zone. Lihat dokumentasi Elastic Load Balancing.

Alat lainnya

  • Docker - Membangun gambar kontainer untuk pengujian lokal. Lihat dokumentasi Docker.

  • FastTapi — Menyediakan backend REST API untuk pengiriman pekerjaan, pemeriksaan status, dan operasi file. Lihat dokumentasi FastTapi.

  • GitHub Tindakan - Mengotomatiskan pipeline CI/CD penyebaran. Lihat Dokumentasi GitHub tindakan.

  • ReportLab— Menghasilkan laporan PDF yang diformat dari risalah rapat terstruktur. Lihat ReportLab dokumentasi.

  • Strands Agents SDK - Mengatur alur kerja multi-agen dengan kode minimal menggunakan pola dekorator. @tool Lihat dokumentasi Strands SDK.

  • Streamlit - Menyediakan antarmuka pengguna berbasis web untuk unggahan transkrip dan unduhan output. Lihat dokumentasi Streamlit.

Repositori kode

Kode untuk pola ini tersedia di repositori GitHub sample-ai-meeting-minutes-generator.

Praktik terbaik

  • Gunakan petunjuk sistem yang jelas dan terfokus untuk setiap agen untuk memastikan pemformatan keluaran yang konsisten dan dokumentasi rapat profesional.

  • Menerapkan manajemen siklus hidup Amazon S3 dengan retensi 90 hari untuk pengoptimalan biaya dan pembersihan file otomatis.

  • Gunakan pelacakan S3-based pekerjaan Amazon untuk mempertahankan status di seluruh peristiwa restart dan penskalaan kontainer untuk pemrosesan yang andal.

  • Konfigurasikan CloudWatch alarm untuk CPU, memori, dan kesehatan layanan dengan notifikasi Amazon SNS untuk pemantauan proaktif.

  • Validasi dan sanitasi unggahan file dan format konten sebelum diproses untuk mencegah kesalahan sistem dan masalah keamanan.

  • Ikuti prinsip hak istimewa terkecil dan berikan izin minimum yang diperlukan untuk melakukan tugas. Untuk informasi selengkapnya, lihat Berikan hak istimewa terkecil dan praktik terbaik Keamanan dalam dokumentasi IAM.

  • Pertimbangkan penerapan produksi AWS AgentCore yang memerlukan orkestrasi terkelola dan overhead operasional yang disederhanakan. Strands SDK lebih disukai ketika Anda membutuhkan penyesuaian yang lebih besar dari interaksi agen dan kontrol alur kerja khusus.

  • Menerapkan evaluasi sistematis output agen terhadap risalah rapat yang dihasilkan manusia untuk meningkatkan permintaan sistem dan kinerja agen secara terus menerus.

Epik

TugasDeskripsiKeterampilan yang dibutuhkan

Kloning repositori

  1. Untuk mengkloning repositori pola, jalankan perintah berikut:

git clone https://github.com/aws-samples/sample-ai-meeting-minutes-generator.git
  1. Arahkan ke direktori proyek:

cd meeting-minutes-app
AWS DevOps

Buat repositori Git Anda sendiri

  1. Buat repositori baru di platform Git pilihan Anda (GitHub, GitLab, atau Bitbucket).

  2. Perbarui asal jarak jauh untuk menunjuk ke repositori Anda:

git remote set-url origin https://<your-git-platform>.com/<your-username>/<your-repo-name>.git
  1. Dorong kode ke repositori Anda:

git push -u origin main
Pengembang aplikasi

Konfigurasikan rahasia repositori untuk. CI/CD

  1. Arahkan ke halaman Pengaturan repositori Anda.

  2. Pilih Rahasia dan variabel, lalu pilih Actions (for GitHub) atau bagian yang setara untuk platform Git Anda.

  3. Tambahkan rahasia repositori berikut:

    • Nama:AWS_ACCESS_KEY_ID, Nilai: <your-aws-access-key-id>

    • Nama:AWS_SECRET_ACCESS_KEY, Nilai: <your-aws-secret-access-key>

DevOps insinyur

Menyebarkan infrastruktur dengan menggunakan CI/CD alur kerja.

  1. Picu penerapan dengan mendorong kode ke cabang utama Anda:

git add . git commit -m "Deploy multi-agent meeting intelligence platform" git push origin main
  1. Alur kerja GitHub Tindakan secara otomatis menyediakan infrastruktur dengan menggunakan AWS CDK.

DevOps insinyur

Verifikasi penyebaran infrastruktur.

  1. Arahkan ke CI/CD bagian repositori Anda (misalnya,https://github.com/<your-username>/<your-repo-name>/actions).

  2. Pilih alur kerja yang sedang berjalan untuk melihat log dan kemajuan waktu nyata.

  3. Buka Konsol Manajemen AWS dan arahkan ke AWS CloudFormation layanan.

  4. Pilih MeetingMinutesFargateStacktumpukan dari daftar.

  5. Verifikasi bahwa status tumpukan menunjukkan CREATE_COMPLETE.

  6. Pilih tab Output dan catat nilai ServiceUrl untuk digunakan dalam epik berikutnya.

DevOps insinyur, Administrator cloud
TugasDeskripsiKeterampilan yang dibutuhkan

Menyiapkan lingkungan pembangunan lokal

  1. Arahkan ke direktori aplikasi:

cd meeting_minutes_agent/app
  1. Buat dan aktifkan lingkungan virtual Python:

python -m venv venv source venv/bin/activate # Linux/Mac # Or on Windows: venv\Scripts\activate
  1. Instal dependensi yang diperlukan:

pip install -r requirements.txt pip install streamlit
Pengembang aplikasi

Ambil URL layanan backend.

  1. Buka Konsol Manajemen AWS dan arahkan ke AWS CloudFormation layanan.

  2. Pilih MeetingMinutesFargateStacktumpukan.

  3. Pilih tab Output.

  4. Temukan kunci ServiceUrl dan salin nilai URL yang sesuai.

Administrator awan

Luncurkan aplikasi dan verifikasi konektivitas.

  1. Mulai aplikasi Streamlit dengan URL backend:

BACKEND_URL="http://<your-service-url>.us-east-1.elb.amazonaws.com" streamlit run meeting_minutes_agent/app/streamlit_app.py
  1. Buka browser web dan navigasikan kehttp://localhost:8501.

  2. Verifikasi bahwa antarmuka menampilkan status terhubung Backend di sidebar.

Pengembang aplikasi
TugasDeskripsiKeterampilan yang dibutuhkan

Memproses transkrip rapat dan memverifikasi output.

  1. Unggah transkrip rapat dengan menggunakan salah satu metode berikut:

    • Gunakan sample_meeting.txt file yang disediakan dari repositori.

    • Unggah transkrip rapat Anda sendiri (.txtfile).

    • Tempel konten transkrip rapat langsung di area input teks.

  2. Pilih Hasilkan Menit untuk memulai alur kerja pemrosesan multi-agen.

  3. Pantau kemajuan pemrosesan waktu nyata melalui antarmuka.

  4. Unduh dan verifikasi output yang dihasilkan:

    • meeting_minutes_*.txt— Risalah rapat terstruktur

    • meeting_audio_*.mp3— Narasi ringkasan audio

    • meeting_report_*.pdf— Laporan PDF yang komprehensif

  5. Verifikasi bahwa keempat file output ada dan berisi konten yang diharapkan.

Pengembang aplikasi

Pemecahan masalah

IsuSolusi

Kesalahan akses model Amazon Bedrock

Verifikasi bahwa model Soneta Anthropic Claude 3 diaktifkan di Wilayah Anda. Buka konsol Amazon Bedrock, pilih Akses model, dan konfirmasikan bahwa Claude 3 Sonnet menunjukkan Akses yang diberikan.

Bootstrap CDK gagal

Jalankan cdk bootstrap aws://<account-id>/<region> secara manual sebelum penerapan. Verifikasi bahwa AWS CLI kredensyal Anda memiliki izin untuk, Amazon CloudFormation S3, dan IAM.

  • Tugas Fargate gagal dimulai

Periksa konsol Amazon ECS untuk detail tugas yang dihentikan. Penyebab umum termasuk izin peran IAM yang salah, akses Amazon Bedrock yang hilang, atau masalah konfigurasi VPC. Tinjau CloudWatch log untuk tugas tersebut.

Waktu pemrosesan habis (batas waktu ALB 15 menit)

Application Load Balancer memiliki batas waktu idle 15 menit. Untuk transkrip yang sangat panjang, kurangi ukuran input menjadi di bawah 50.000 karakter, atau tingkatkan batas waktu ALB dalam konfigurasi CDK.

Generasi audio gagal

Amazon Polly memiliki batas 3.000 karakter. Agen ringkasan ringkas memadatkan konten di bawah batas ini secara otomatis. Jika pembuatan audio masih gagal, verifikasi bahwa akses Amazon Polly diaktifkan di Wilayah Anda.

GitHub Penerapan tindakan gagal

Verifikasi bahwa AWS_ACCESS_KEY_ID dan rahasia AWS_SECRET_ACCESS_KEY repositori dikonfigurasi dengan benar. Periksa apakah pengguna IAM memiliki izin untuk penyebaran CDK (,CloudFormation Amazon ECS, Amazon S3, IAM).

Backend tidak terhubung (Streamlit menunjukkan terputus)

Verifikasi bahwa variabel BACKEND_URL lingkungan cocok dengan ServiceUrl dari CloudFormation tab Output. Konfirmasikan bahwa layanan Fargate berjalan dan sehat di konsol Amazon ECS.

Status Job hilang setelah kontainer restart

Aktifkan ketekunan S3-based pekerjaan Amazon dengan mengonfigurasi variabel S3_JOB_TRACKING lingkungan. Tanpa ini, status pekerjaan disimpan dalam memori saja dan hilang saat kontainer restart.

Sumber daya terkait

Referensi

Alat

Informasi tambahan

Multi-agent alur kerja pemrosesan

Solusi ini mengatur pemrosesan pertemuan melalui empat agen khusus yang berjalan secara berurutan dalam tugas Fargate. Setiap pekerjaan diberi ID pekerjaan unik dan dijalankan secara asinkron untuk skalabilitas dan isolasi kesalahan.

  1. Structured Minutes Generator (generate_structured_minutes) - Mengambil transkrip dan judul rapat mentah sebagai masukan. Menggunakan Amazon Bedrock Claude 3 Sonnet untuk menghasilkan risalah rapat yang komprehensif, termasuk informasi rapat, item agenda, ringkasan diskusi, item tindakan dengan penerima tugas dan tenggat waktu, dan langkah selanjutnya. Menyimpan output sebagai file teks biasa.

  2. Ringkasan Ringkasan Generator (concise_minutes_agent) - Mengambil menit terstruktur penuh dari Agen 1 sebagai masukan. Menggunakan Amazon Bedrock Claude 3 Sonnet untuk membuat ringkasan eksekutif di bawah 3.000 karakter untuk pembuatan audio dan pembacaan cepat.

  3. Audio Generator (audio_generator_agent) - Mengambil menit singkat dari Agen 2 sebagai input. Menggunakan speak alat Strands dengan Amazon Polly untuk menghasilkan file audio MP3 yang menceritakan ringkasan singkat.

  4. PDF Report Generator (create_comprehensive_pdf) — Mengambil menit terstruktur penuh dari Agen 1 sebagai masukan. Menggunakan ReportLab perpustakaan untuk menghasilkan laporan PDF profesional dengan gaya judul khusus, header bagian, tata letak teks yang dapat dibaca, dan metadata.

Aliran data

  1. Unggahan pengguna - Transkrip rapat diunggah melalui UI Streamlit atau panggilan API langsung.

  2. Inisialisasi Job - FastAp membuat ID pekerjaan yang unik dan segera mengembalikan untuk pemrosesan asinkron.

  3. Pemrosesan latar belakang - Alur kerja agen Strands empat langkah dijalankan secara berurutan.

  4. Manajemen file - File yang dihasilkan diunggah ke Amazon S3 dengan URL unduhan yang telah ditandatangani sebelumnya.

  5. Penyelesaian pekerjaan - Status diperbarui dengan tautan unduhan untuk semua output yang dihasilkan.

Pertimbangan peningkatan di masa depan

  • Pelacakan pekerjaan persisten dengan Amazon DynamoDB untuk keandalan lintas kontainer

  • Multi-format dukungan masukan (.docx,.pdf, file transkripsi audio)

  • Real-time WebSocket pembaruan kemajuan

End-to-End Aliran Pemrosesan

  • Solusi mengatur pemrosesan pertemuan melalui urutan terkoordinasi agen khusus yang berjalan dalam tugas Fargate.

  • Setiap pekerjaan diberi ID pekerjaan unik dan dijalankan secara asinkron untuk memastikan skalabilitas dan isolasi kesalahan.

  • Alur kerja mencakup konsumsi transkrip → pembuatan menit terstruktur → ringkasan eksekutif → narasi audio → pembuatan laporan PDF, dengan setiap langkah divalidasi dan dicatat secara real time.

Four-Step Pengolahan Agen

  1. Generator Risalah Terstruktur - menghasilkan notulen rapat terperinci.

  2. Ringkasan Ringkasan Generator — membuat ringkasan eksekutif untuk tinjauan cepat dan narasi audio.

  3. Audio Generator - menghasilkan narasi MP3 dari ringkasan.

  4. PDF Report Generator - menghasilkan laporan PDF yang dipoles dan diformat.

Manajemen File Otomatis dan Integrasi Cloud

  • Unggahan Output Otomatis: Laporan teks, audio, dan PDF terstruktur secara otomatis diunggah ke Amazon S3 dengan partisi yang tepat berdasarkan ID pekerjaan.

  • Pemeriksaan Integritas & Manajemen Siklus Hidup: Konfirmasi unggahan, validasi file, dan pembersihan dicatat untuk memastikan transparansi dan keandalan operasional.

  • Tugas latar belakang FastTapi mengelola eksekusi pekerjaan asinkron.

Integrasi & Output UI

  • UI Streamlit menampilkan koneksi backend, area input transkrip, dan Generate Minutes setelah mengunggah transkrip rapat melalui URL S3 untuk memulai pekerjaan. Pre-signed

  • Setelah pemrosesan selesai, output teks, audio, dan PDF terstruktur tersedia untuk diunduh melalui URL Pre-signed S3, dapat diakses melalui tombol yang dapat diklik di UI.