Jika Anda membangun agen AI dengan menyusun mesin status if/else raksasa, Anda tahu betapa cepatnya itu menjadi rapuh. Strands Agents mengambil pendekatan yang berlawanan: biarkan model melakukan perencanaan, dan Anda menyediakan prompt serta daftar alat. Ini adalah SDK sumber terbuka dari AWS, dirilis pada Mei 2025 di bawah Apache License 2.0, dan ini memberdayakan agen produksi di dalam tim Amazon seperti Amazon Q Developer dan AWS Glue.
Apa Sebenarnya Strands Agents
Strands Agents adalah SDK untuk membangun dan menjalankan agen AI dalam beberapa baris kode. Anda memberikan agen tiga hal: sebuah model, sebuah prompt sistem, dan serangkaian alat. Model membaca prompt, memutuskan alat mana yang akan dipanggil, menjalankannya, melihat hasilnya, dan terus berlanjut hingga tugas selesai. Siklus itulah keseluruhan produk.

Ini tersedia untuk Python dan TypeScript. Namanya merupakan kiasan untuk dua untaian yang membentuk agen: model dan alat. AWS membuatnya sumber terbuka setelah menjalankannya secara internal, sehingga desainnya mencerminkan kebutuhan produksi, bukan demo. Sejak peluncuran pratinjau, ia telah melampaui 150 ribu unduhan PyPI dan mencapai rilis 1.0 yang menambahkan primitif multi-agen dan dukungan protokol Agen-ke-Agen (A2A).
Jika Anda pernah membaca tentang SDK agen lainnya, bentuknya akan terasa akrab. Strands berada dalam kategori yang sama dengan LangGraph dan Google ADK, tetapi ia lebih mengandalkan model untuk menggerakkan alur kontrol daripada meminta Anda menggambar grafik sendiri.
Filosofi Berbasis Model vs. Orkestrasi Kode Keras
Sebagian besar kerangka kerja agen awal meminta Anda untuk menentukan alur kerja di awal. Anda akan membangun node, edge, dan kondisi, lalu mengarahkan model melaluinya. Itu berfungsi, tetapi setiap kemampuan baru berarti lebih banyak grafik untuk dipelihara.
Strands membalik tanggung jawab. Model modern sudah merencanakan, merantai penalaran, memanggil alat, dan merefleksikan hasil. Jadi, alih-alih mengkodekan logika itu secara manual, Anda menjelaskan tujuannya dan menyerahkan alat-alatnya. Model yang akan mencari tahu langkah-langkahnya.
Berikut perbedaannya dalam istilah sederhana:
| Pendekatan | Anda menentukan | Alur kontrol berada di | Biaya kemampuan baru |
|---|---|---|---|
| Orkestrasi kode keras | Node, edge, kondisi, routing | Kode grafik Anda | Edit grafik, uji ulang jalur |
| Berbasis model (Strands) | Prompt + daftar alat | Loop penalaran model | Tambahkan alat, perbarui prompt |
Ada pertukaran yang nyata. Agen berbasis model lebih cepat dibangun dan diadaptasi, tetapi Anda melepaskan sebagian determinisme. Untuk alur kerja yang harus berjalan dengan cara yang sama setiap saat, Anda masih dapat menambahkan struktur dengan pola multi-agen dan hook. Intinya bukan bahwa grafik itu salah; melainkan Anda menggunakannya saat Anda membutuhkannya, bukan secara default.
Agen Minimal
Program Strands terkecil yang berguna singkat. Anda mengimpor kelas Agent, secara opsional menentukan alat dengan dekorator @tool, dan memanggil agen seperti fungsi.
from strands import Agent, tool
@tool
def word_count(text: str) -> int:
"""Count the words in a block of text."""
return len(text.split())
agent = Agent(
system_prompt="You are a concise writing assistant.",
tools=[word_count],
)
response = agent("How many words are in this sentence?")
print(response)
Dekorator @tool mengubah fungsi Python biasa menjadi sesuatu yang dapat dipanggil oleh model. Docstring dan type hint Anda menjadi deskripsi alat dan skema input, sehingga model tahu kapan dan bagaimana menggunakannya. Tidak ada registri terpisah yang perlu dipelihara. Memanggil agent(...) menjalankan loop hingga model memutuskan bahwa itu selesai.
Alat dan Penyedia Model
Alat adalah cara agen berinteraksi dengan dunia luar. Sebuah alat bisa berupa fungsi Python yang Anda tulis, alat yang dikemas dari komunitas, atau seluruh server Model Context Protocol (MCP) yang terekspos ke agen.
Di sisi model, Strands fleksibel terhadap penyedia. Penyedia default adalah Amazon Bedrock, dan secara default agen menggunakan model Claude Sonnet di wilayah us-west-2 (ID model default yang tepat telah berpindah antar versi SDK, jadi periksa versi yang terinstal daripada mengkodekannya secara permanen). Anda dapat mengarahkannya ke tempat lain:
- Model Amazon Bedrock apa pun yang mendukung penggunaan alat dan streaming
- Keluarga Claude dari Anthropic melalui Anthropic API
- Model Llama melalui Llama API
- Ollama untuk pengembangan lokal
- Penyedia lain seperti OpenAI melalui LiteLLM
Mengganti penyedia adalah perubahan objek model, bukan penulisan ulang. Loop agen, alat Anda, dan prompt Anda tetap sama. Hal itu membuatnya praktis untuk mengembangkan dengan model Ollama lokal dan menerapkan di Bedrock.
Dukungan Multi-Agen dan MCP
Satu agen menangani banyak hal, tetapi sistem nyata seringkali membutuhkan beberapa agen. Strands 1.0 menambahkan primitif untuk aplikasi multi-agen, termasuk pola Agen sebagai Alat di mana satu agen memanggil agen lain dengan cara yang sama seperti memanggil alat apa pun, dan koordinasi gaya Swarm untuk kelompok agen yang mengerjakan suatu masalah bersama. Ini juga mendukung protokol A2A, sehingga agen Strands dapat berkomunikasi dengan agen yang dibangun di atas kerangka kerja lain.
MCP adalah warga kelas satu. Model Context Protocol adalah standar terbuka untuk menghubungkan model ke alat dan sumber data. Dengan Strands, Anda dapat terhubung ke server MCP yang dipublikasikan dan menggunakan alat-alatnya secara langsung, yang berarti ribuan integrasi yang ada menjadi tersedia tanpa kode perekat kustom. Anda mengelola koneksi melalui klien MCP dan meneruskan alat-alatnya ke agen seperti daftar alat lainnya.
Jika Anda sudah menjalankan server MCP, ini adalah cara termurah untuk memberikan kemampuan baru kepada agen. Kekurangannya adalah Anda sekarang bergantung pada perilaku server-server tersebut, yang merupakan salah satu alasan mengapa pengujian titik akhir yang mendasari itu penting.
Menerapkan Agen Strands
Strands dibangun untuk berpindah dari laptop Anda ke produksi tanpa perubahan kerangka kerja. Anda menguji secara lokal, lalu menerapkan ke target yang sesuai dengan tumpukan Anda:
- Amazon Bedrock AgentCore untuk runtime agen terkelola
- AWS Lambda untuk agen berbasis event dan berumur pendek
- AWS Fargate atau Amazon EKS untuk layanan terkontainerisasi dan berjalan lama
- Docker biasa di mana pun Anda dapat menjalankan kontainer
Karena agen adalah Python atau TypeScript biasa, pengemasannya mengikuti aturan yang sama dengan aplikasi apa pun. AWS juga mendokumentasikan hook observabilitas, sehingga Anda dapat melacak apa yang diputuskan model dan alat mana yang dipanggil setelah agen aktif.
Di Mana Apidog Berperan
Strands membangun agen. Ini tidak membangun API yang dipanggil agen Anda, dan itulah celah yang patut direncanakan. Setiap agen Strands bergantung pada dua jenis titik akhir HTTP: API penyedia LLM di belakang model, dan API REST atau alat di belakang fungsi @tool dan server MCP Anda. Jika titik akhir tersebut tidak berfungsi dengan baik, agen akan gagal dengan cara yang terlihat seperti masalah model tetapi sebenarnya bukan.

Apidog adalah tempat Anda menguji dan membuat mock API dasar tersebut sebelum agen menyentuhnya. Beberapa penggunaan konkret:
- Mock model atau titik akhir alat saat Anda mengulang pada loop, sehingga Anda tidak menghabiskan token atau mencapai batas kecepatan pada setiap eksekusi. Artikel tentang membangun alat uji agen AI dengan Apidog menunjukkan polanya.
- Menegaskan bentuk respons alat sehingga alat yang mengembalikan payload yang salah format akan tertangkap dalam pengujian, bukan di produksi. Lihat panduan penegasan API tentang cara memvalidasi field, tipe, dan kode status.
- Membangun API mock yang meniru respons layanan nyata, termasuk kasus kesalahan yang perlu ditangani agen Anda dengan anggun.
- Mengelola kunci API per lingkungan agar agen dev, staging, dan prod Anda melakukan autentikasi terhadap backend yang benar tanpa membocorkan kredensial ke dalam kode.
Agar jelas, Apidog bukanlah kerangka kerja agen dan tidak mengorkestrasi apa pun. Strands tetap menjadi otak. Apidog adalah meja kerja untuk infrastruktur di bawahnya. Anda dapat mengunduh Apidog dan menyiapkan mock untuk titik akhir alat Anda dalam beberapa menit.
Kapan Menggunakan Strands Agents
Gunakan Strands ketika Anda ingin bergerak cepat dan mempercayai model untuk merencanakan. Ini sangat cocok jika Anda menggunakan AWS dan sudah memakai Bedrock, jika Anda ingin memulai dengan satu agen dan berkembang menjadi multi-agen nanti, atau jika Anda ingin alat MCP tanpa menulis kode integrasi.
Ini kurang cocok ketika Anda membutuhkan alur yang ketat, dapat diaudit, dan deterministik di mana setiap cabang harus ditentukan sebelumnya. Anda masih bisa mencapainya dengan hook dan struktur multi-agen, tetapi kerangka kerja berbasis grafik mungkin lebih cocok secara langsung. Penjelasannya yang jujur adalah bahwa pendekatan berbasis model dan berbasis grafik menyelesaikan masalah yang berbeda, dan Strands adalah yang berbasis model.
Pertanyaan yang Sering Diajukan
Apakah Strands Agents gratis dan sumber terbuka?
Ya. Strands Agents adalah sumber terbuka di bawah Apache License 2.0, dengan kode sumbernya di GitHub. Tidak ada biaya lisensi untuk SDK ini. Anda membayar untuk model dan sumber daya cloud apa pun yang Anda gunakan, seperti inferensi Bedrock atau eksekusi Lambda, tetapi kerangka kerja itu sendiri tidak berbayar.
Apakah saya harus menggunakan Amazon Bedrock dengan Strands?
Tidak. Bedrock adalah penyedia default, tetapi Strands mendukung API Anthropic, API Llama, Ollama untuk eksekusi lokal, dan penyedia lain melalui LiteLLM. Anda cukup mengubah objek model dan menjaga sisa kode Anda. Hal itu memudahkan prototyping secara lokal dan beralih ke penyedia terkelola untuk produksi.
Apa perbedaan antara Strands dan kerangka kerja berbasis grafik?
Strands berbasis model: Anda memberikan prompt dan alat, dan model memutuskan langkah-langkahnya. Kerangka kerja berbasis grafik meminta Anda untuk mendefinisikan alur kontrol sebagai node dan edge. Strands lebih cepat dibangun dan diadaptasi; kerangka kerja grafik memberi Anda eksekusi yang lebih ketat dan dapat diprediksi. Banyak tim menggunakan keduanya untuk layanan yang berbeda.
Bagaimana cara menguji API yang diandalkan agen Strands saya?
Uji secara independen dari agen, sebelum dan selama pengembangan. Mock titik akhir LLM dan alat, tegaskan bentuk responsnya, dan jalankan pemeriksaan tersebut di CI. Alat seperti Apidog menangani mocking dan penegasan, dan panduan tentang menguji ChatGPT API dengan Apidog mencakup otentikasi, streaming, dan pengujian panggilan alat yang secara langsung memetakan ke backend agen.
Kesimpulan
Strands Agents adalah pendekatan yang bersih dalam membangun agen: definisikan model, prompt, dan alat, lalu biarkan model menjalankan loop. Ini dapat diskalakan dari satu agen ke banyak agen, mendukung MCP dan A2A, serta diterapkan di seluruh tumpukan AWS tanpa penulisan ulang. Kerangka kerja ini menangani penalaran. Tugas Anda adalah memastikan API di bawahnya kokoh, dan di situlah Apidog berperan, melakukan mocking dan menguji titik akhir yang dipanggil agen Anda sehingga kegagalan muncul dalam pengujian Anda, bukan di produksi.
