Episode pembuka: skill dasar AI agent, JSON-RPC & HTTP/SSE, dan discoverability ala OpenAPI yang wajib dikuasai. Sekaligus setup Node.js/Python, A2A SDKs, Google ADK opsional, dan environment untuk menjalankan dua agent lokal secara bersamaan.

Selamat datang di series Belajar A2A! Selama 23 episode ke depan, kita akan membongkar A2A (Agent2Agent Protocol) — open protocol dari Google yang kini berada di bawah Linux Foundation — mulai dari konsep dasar, Agent Card, sampai deployment multi-agent yang production-grade.
Episode 0 ini murni fondasi. Tujuannya satu: memastikan lingkungan kalian siap sebelum berpraktik. Kita akan memastikan runtime terpasang, SDK resmi terinstal, dan environment lokal mampu menjalankan minimal dua agent sekaligus. Materi teknis yang sesungguhnya dimulai di episode 1.
A2A menghubungkan antar agent, jadi kalian harus paham dulu bagaimana satu agent bekerja. Dua konsep kunci: tool calling — kemampuan model meminta fungsi eksternal dijalankan (misal query database), dan orchestration — cara agent memecah pekerjaan menjadi langkah-langkah yang dieksekusi berurutan atau paralel. Tanpa pemahaman ini, kita akan tersesat membedakan "agent" dengan "tool".
Seluruh komunikasi A2A dibangun di atas JSON-RPC 2.0 — protokol remote procedure call yang ringan, tidak bergantung pada HTTP method atau REST convention. Kalian juga perlu paham SSE (Server-Sent Events), kanal streaming satu arah yang dipakai agent untuk mengirim hasil parsial secara real-time. Jangan khawatir jika belum hafal detail; episode 5 akan membedah keduanya secara mendalam.
SDK resmi A2A paling matang tersedia untuk Python dan TypeScript. Pilih salah satu yang paling nyaman; seluruh contoh di series ini menggunakan keduanya. Prasyarat ini bukan pilihan berat — kalian cukup terbiasa menulis fungsi, class, dan async handler, karena di situlah hidupnya SDK.
Sebelum memanggil API apa pun, client perlu tahu bentuknya. Di dunia REST ada OpenAPI spec; di dunia A2A ada Agent Card — metadata JSON yang mendeskripsikan kemampuan sebuah agent. Konsep ini yang membuat sebuah agent bisa "ditemukan" dan dipahami oleh agent lain, persis seperti OpenAPI membantu client memahami REST API.
Gunakan versi modern: Node.js 20 ke atas dan Python 3.11 ke atas. Verifikasi versi yang sudah terpasang:
node --version
python --versionKeluaran v20.x.x dan Python 3.11.x berarti sudah siap. Untuk mengelola versi Node.js yang berubah-ubah antar proyek, gunakan nvm — manajer versi Node paling populer — dengan nvm install --lts. Untuk Python, pertimbangkan pyenv atau uv agar versi interpreter terkunci per proyek.
Ekosistem resmi A2A menyediakan SDK untuk Python, TypeScript, Go, Java, dan .NET. Kita instal dua yang paling penting untuk seri ini.
pip install a2a-sdknpm install @a2a-js/sdkimport a2a
print(a2a.__version__)Catatan untuk tim yang memakai bun: pip install a2a-sdk cukup dijalankan di lingkungan Python; sedangkan untuk JavaScript, perintah bun add @a2a-js/sdk menggantikan npm install. SDK Go, Java, dan .NET bisa diambil dari registry resmi masing-masing — fungsinya sama, hanya bahasanya yang beda.
ADK (Agent Development Kit) adalah framework agent dari Google yang memiliki dukungan native terhadap A2A. Tidak wajib, tetapi sangat membantu karena satu framework bisa dipakai untuk membangun agent sekaligus mengeksposnya ke protokol A2A.
pip install google-adkKita akan memakai ADK di episode 12 untuk integrasi framework. Untuk sekarang, cukup pasang saja — atau tunda jika ingin fokus ke inti protokol dulu.
Latihan di series ini sering membutuhkan minimal dua agent berjalan bersamaan: satu bertindak sebagai client, satu sebagai remote agent. Siapkan struktur folder proyek:
mkdir -p ~/belajar-a2a/agent-a ~/belajar-a2a/agent-b
cd ~/belajar-a2aNanti agent-a berjalan di port 8080 dan agent-b di port 8081, keduanya di mesin yang sama. Karena A2A berjalan di atas HTTP, kalian bisa menguji komunikasi antar agent dengan curl dari folder ini:
curl -s http://localhost:8080Info
Dalam mode pengembangan, jangan ragu menjalankan agent di localhost. Namun pahami perbedaan utama nanti: di production, client agent dan remote agent biasanya berada di jaringan yang berbeda, sehingga discovery melalui Agent Card menjadi kritis.
Sebelum lanjut, pastikan empat hal berikut berfungsi:
node --version mengeluarkan 20 ke atas, dan python --version 3.11 ke atas.pip show a2a-sdk menampilkan metadata SDK Python.npm ls @a2a-js/sdk menampilkan SDK TypeScript tanpa error.~/belajar-a2a siap dengan dua subfolder agent.Jika semua hijau, environment kalian resmi siap untuk seri ini.
Episode 0 selesai. Inilah yang wajib kalian bawa pulang:
nvm atau pyenv/uv.a2a-sdk untuk Python dan @a2a-js/sdk untuk TypeScript; ADK opsional.Selanjutnya, di episode 1 kita menjawab pertanyaan terpenting sebelum menulis kode: kenapa protokol ini lahir, dari mana asal usulnya, dan masalah apa yang sebenarnya dipecahkan A2A. Sampai jumpa!