OpenAI Memperkenalkan Swarm: Framework Eksperimental untuk Agen AI dan Potensi Dampaknya

Kukuh T Wicaksono
7 min readOct 15, 2024

--

OpenAI, yang dikenal sebagai perusahaan di balik chatbot ChatGPT, baru saja merilis framework baru yang disebut Swarm. Framework ini dirancang untuk mengoptimalkan bagaimana beberapa agen AI dapat berinteraksi dan bekerja sama. Swarm dapat menjadi panduan bagi para pengembang dalam membangun jaringan agen AI yang terstruktur untuk menangani berbagai tugas secara otomatis.

Meskipun Swarm bukanlah produk resmi OpenAI, peneliti OpenAI, Shyamal Anadkat, menjelaskan bahwa Swarm lebih mirip “buku resep” daripada produk siap pakai. “Ini adalah kode eksperimental untuk membangun agen sederhana. Swarm tidak dimaksudkan untuk produksi dan tidak akan dipelihara oleh kami,” jelasnya dalam sebuah posting di platform X.

Apa Itu Swarm?

Swarm berfokus pada membuat koordinasi dan eksekusi agen AI menjadi ringan, sangat terkontrol, dan mudah diuji. Framework ini menggunakan dua abstraksi utama, yaitu agen dan handoff. Agen AI mencakup instruksi dan alat, dan kapan saja dapat menyerahkan percakapan atau tugas ke agen AI lainnya. Primitif ini cukup kuat untuk mengekspresikan dinamika yang kaya antara alat dan jaringan agen, memungkinkan pengembang membangun solusi yang dapat diskalakan tanpa menghadapi kurva pembelajaran yang curam.

Mengapa Menggunakan Swarm?

Swarm dirancang untuk situasi di mana terdapat banyak instruksi dan kemampuan independen yang sulit dikodekan dalam satu prompt. Framework ini cocok untuk sistem multi-agen yang ringan, dapat diskalakan, dan sangat dapat disesuaikan. Berbeda dengan API Assistants yang sepenuhnya dihosting dengan manajemen memori bawaan, Swarm lebih bersifat edukasional dan dijalankan sepenuhnya di sisi klien, tanpa menyimpan status antar panggilan.

Apa Itu Agen AI?

Agen AI adalah unit otonom yang dirancang untuk menjalankan tugas tertentu berdasarkan serangkaian instruksi atau aturan yang telah ditetapkan. Agen ini bisa diibaratkan sebagai “pekerja digital” yang mampu menyelesaikan tugas secara mandiri, tanpa campur tangan manusia. Agen AI bisa sangat bervariasi, mulai dari chatbot yang memberikan dukungan pelanggan hingga sistem yang melakukan pengolahan data kompleks atau otomatisasi proses bisnis.

Dalam framework Swarm, agen AI tidak hanya bertugas melakukan tugas tunggal, tetapi juga dapat diatur untuk berkolaborasi dengan agen lain melalui proses yang disebut handoff. Handoff adalah mekanisme di mana satu agen menyerahkan kendali atau tugas kepada agen lain yang lebih tepat menangani langkah berikutnya. Misalnya, jika ada satu agen AI yang bertanggung jawab untuk mengumpulkan informasi awal dari pelanggan, agen tersebut dapat “menyerahkan” tugas ke agen lain yang bertugas memproses data dan memberikan solusi.

Instalasi Swarm

Swarm membutuhkan Python 3.10 ke atas. Anda dapat menginstalnya dengan salah satu perintah berikut:

pip install git+https://github.com/openai/swarm.git
pip install git+ssh://git@github.com/openai/swarm.git

from swarm import Swarm, Agent

client = Swarm()

def transfer_to_agent_b():
return agent_b

agent_a = Agent(
name="Agent A",
instructions="Anda adalah agen yang membantu.",
functions=[transfer_to_agent_b],
)

agent_b = Agent(
name="Agent B",
instructions="Hanya berbicara dalam bentuk Haiku.",
)

response = client.run(
agent=agent_a,
messages=[{"role": "user", "content": "Saya ingin berbicara dengan agen B."}],
)

print(response.messages[-1]["content"])

Dalam contoh di atas, agen A bertindak sebagai agen awal yang akan mentransfer tugas kepada agen B yang hanya berbicara dalam bentuk Haiku. Framework ini memungkinkan agen untuk berpindah tugas dengan mudah, mencerminkan konsep handoff.

Agen dan Fungsinya

Agen AI dalam Swarm mencakup satu set instruksi dan fungsi. Agen dapat memanggil fungsi Python secara langsung dan, jika diperlukan, mentransfer eksekusi ke agen lain. Fungsi agen dapat mengakses variabel konteks yang diberikan saat panggilan klien, membuat eksekusi menjadi lebih dinamis dan interaktif.

Misalnya, berikut adalah contoh agen yang memanggil fungsi untuk menyapa pengguna:

def greet(context_variables, language):
user_name = context_variables["user_name"]
greeting = "Hola" jika bahasa.lower() == "spanish" else "Hello"
print(f"{greeting}, {user_name}!")
return "Selesai"

agent = Agent(
functions=[greet]
)

client.run(
agent=agent,
messages=[{"role": "user", "content": "Gunakan greet() tolong."}],
context_variables={"user_name": "John"}
)

Agen juga bisa memperbarui variabel konteks dan mengalihkan eksekusi ke agen lain menggunakan objek Result yang dapat berisi nilai, agen, dan variabel konteks yang diperbarui.

Schema Fungsi di Swarm

Swarm secara otomatis mengonversi fungsi Python ke dalam JSON Schema yang dapat digunakan dalam alat Chat Completions. Tujuannya adalah agar fungsi-fungsi yang didefinisikan oleh agen AI dapat dipahami dan dieksekusi oleh sistem secara terstruktur. Berikut adalah detail bagaimana konversi ini dilakukan:

1. Docstrings Menjadi Deskripsi Fungsi

Setiap fungsi Python yang memiliki docstring akan mengonversi docstring tersebut menjadi deskripsi untuk JSON Schema. Deskripsi ini berguna untuk memberikan konteks kepada agen AI tentang apa yang dilakukan oleh fungsi tersebut dan bagaimana cara kerjanya.

Contoh:

def greet(name, age: int, location: str = "New York"):
"""Menyapa pengguna. Pastikan untuk mendapatkan nama dan usia pengguna sebelum memanggil fungsi ini.

Args:
name: Nama pengguna.
age: Usia pengguna.
location: Tempat terbaik di dunia.
"""
print(f"Halo {name}, senang bertemu denganmu yang berusia {age} di {location}!")

Dalam contoh ini, deskripsi docstring akan digunakan sebagai deskripsi fungsi dalam JSON Schema

{
"name": "greet",
"description": "Menyapa pengguna. Pastikan untuk mendapatkan nama dan usia pengguna sebelum memanggil fungsi ini.\n\nArgs:\n name: Nama pengguna.\n age: Usia pengguna.\n location: Tempat terbaik di dunia."
}

2. Parameter yang Tidak Memiliki Nilai Bawaan Diatur sebagai Diperlukan

Setiap parameter yang tidak memiliki nilai default akan diatur sebagai parameter yang diperlukan (required) dalam JSON Schema. Sebaliknya, parameter dengan nilai default akan dianggap opsional. Hal ini memastikan bahwa argumen penting harus disertakan saat fungsi dipanggil.

Contoh dalam fungsi greet:

  • name dan age tidak memiliki nilai default, jadi keduanya wajib ada.
  • location memiliki nilai default, sehingga bersifat opsional.

Ini akan diterjemahkan ke dalam JSON Schema sebagai berikut:

{
"parameters": {
"type": "object",
"properties": {
"name": {"type": "string"},
"age": {"type": "integer"},
"location": {"type": "string"}
},
"required": ["name", "age"]
}
}

3. Penentuan Tipe Berdasarkan Type Hints

Swarm menggunakan type hints dalam fungsi Python untuk menentukan tipe parameter dalam JSON Schema. Jika tidak ada type hint yang diberikan, tipe parameter secara default akan dianggap sebagai string.

Dalam contoh fungsi greet:

  • name bertipe string karena tidak memiliki type hint yang eksplisit, sehingga tipe default-nya adalah string.
  • age diberi type hint sebagai int sehingga akan diterjemahkan sebagai tipe integer dalam JSON Schema.
  • location diberi type hint sebagai str, sehingga akan dipetakan sebagai string.

Ini diwakili dalam schema seperti ini:

{
"type": "object",
"properties": {
"name": {"type": "string"},
"age": {"type": "integer"},
"location": {"type": "string"}
}
}

4. Per-Parameter Deskripsi (Tidak Didukung Secara Eksplisit)

Deskripsi per parameter tidak didukung secara eksplisit dalam Swarm, tetapi dapat ditambahkan dalam docstring fungsi. Di masa mendatang, parsing argumen docstring mungkin akan ditambahkan untuk mendukung deskripsi per parameter.

Dalam contoh fungsi greet, penjelasan tentang setiap parameter ada dalam docstring:

"""
Args:
name: Nama pengguna.
age: Usia pengguna.
location: Tempat terbaik di dunia.
"""

5. Fungsi JSON Schema Lengkap

Berikut adalah JSON Schema lengkap yang dihasilkan untuk fungsi greet:

{
"type": "function",
"function": {
"name": "greet",
"description": "Menyapa pengguna. Pastikan untuk mendapatkan nama dan usia pengguna sebelum memanggil fungsi ini.\n\nArgs:\n name: Nama pengguna.\n age: Usia pengguna.\n location: Tempat terbaik di dunia.",
"parameters": {
"type": "object",
"properties": {
"name": {"type": "string"},
"age": {"type": "integer"},
"location": {"type": "string"}
},
"required": ["name", "age"]
}
}
}

Dengan menggunakan JSON Schema, Swarm mengonversi fungsi Python menjadi format yang dapat dimengerti oleh agen AI dalam skenario multi-agen. Konversi ini memungkinkan agen AI untuk memahami cara memanggil fungsi, apa yang diperlukan, dan bagaimana mengelola respons yang dihasilkan.

Implementasi Swarm dalam Berbagai Contoh

Swarm memberikan beberapa contoh implementasi sederhana yang dapat membantu pengembang memahami cara kerja koordinasi multi-agen, seperti:

  • Triage Agent: Agen yang mengalihkan tugas ke agen yang tepat.
  • Weather Agent: Agen sederhana yang memanggil fungsi cuaca.
  • Airline Service: Pengaturan multi-agen yang menangani permintaan layanan pelanggan maskapai.
  • Support Bot: Bot layanan pelanggan dengan agen yang mengoperasikan antarmuka pengguna dan pusat bantuan.

Evaluasi Swarm

Evaluasi sangat penting untuk memastikan bahwa sistem multi-agen bekerja dengan baik. OpenAI mendorong pengembang untuk membawa suite evaluasi mereka sendiri dalam menguji kinerja Swarm.

Implementasi Agen AI dalam Dunia Nyata

Framework Swarm OpenAI memberikan panduan bagi pengembang dalam membangun dan mengelola jaringan agen AI. Beberapa contoh implementasi agen AI yang dapat dibangun menggunakan framework ini antara lain:

1. Dukungan Pelanggan Otomatis
Agen AI dapat diprogram untuk menangani pertanyaan umum dari pelanggan secara otomatis, memberikan jawaban berdasarkan database yang telah ditentukan. Jika pertanyaan tersebut terlalu kompleks, agen AI dapat menyerahkannya ke agen lain atau bahkan ke manusia yang lebih berpengalaman.

2. Pemasaran Otomatis
Agen AI dapat digunakan untuk merancang dan menjalankan kampanye pemasaran, mulai dari pengumpulan data pelanggan, analisis perilaku konsumen, hingga penyusunan strategi pemasaran yang disesuaikan dengan preferensi audiens.

3. Pengolahan Data dan Analisis
Perusahaan dapat memanfaatkan agen AI untuk menganalisis data secara otomatis, dari proses pengumpulan hingga pengolahan data menjadi informasi yang relevan. Misalnya, perusahaan ritel dapat menggunakan agen AI untuk menganalisis perilaku pembelian konsumen dan merancang kampanye yang lebih efektif berdasarkan hasil analisis tersebut.

4. Sistem Penjualan dan Prospek Otomatis
Agen AI bisa digunakan untuk mengidentifikasi prospek penjualan berdasarkan pola perilaku pengguna dan mengotomatisasi seluruh proses hingga agen manusia dapat mengambil alih pada tahap negosiasi akhir.

5. Otomatisasi Proses Internal
Di dalam perusahaan, agen AI bisa digunakan untuk mengelola tugas-tugas internal, seperti pengaturan inventaris, otomatisasi dokumen, atau manajemen logistik. Dengan mengotomatiskan proses ini, perusahaan bisa meningkatkan efisiensi dan mengurangi beban kerja manusia pada tugas-tugas rutin.

Mengapa Swarm Memicu Kekhawatiran?

Framework Swarm yang dirilis oleh OpenAI telah memicu perdebatan tentang dampak otomatisasi berbasis AI pada pekerjaan manusia. Salah satu kekhawatiran utama adalah pengurangan tenaga kerja, terutama di sektor pekerjaan kantoran. Karena agen AI dapat melakukan banyak tugas secara otomatis, beberapa pihak khawatir ini dapat menyebabkan pengurangan besar-besaran tenaga kerja manusia, terutama dalam pekerjaan yang bersifat rutin.

Selain itu, jaringan agen AI yang beroperasi secara otonom juga dapat berisiko mengalami malfungsi atau pengambilan keputusan yang bias jika tidak diawasi dengan baik. Hal ini bisa menimbulkan masalah etika dan keamanan, terutama jika keputusan yang diambil agen AI memiliki dampak besar pada bisnis atau masyarakat. OpenAI telah mengingatkan pengembang untuk selalu melakukan evaluasi terhadap sistem multi-agen mereka guna mencegah bias atau kesalahan yang tidak diinginkan.

Dengan framework Swarm, OpenAI telah membuka jalan bagi pengembangan lebih lanjut dari jaringan agen AI yang mampu bekerja sama untuk menyelesaikan tugas-tugas kompleks. Meskipun potensi ini sangat besar, kekhawatiran mengenai dampak sosial dan etika tidak boleh diabaikan. Seiring perkembangan teknologi, penting untuk memastikan bahwa sistem-sistem ini dikelola dengan baik, aman, dan etis.

Framework Swarm menawarkan peluang besar bagi perusahaan yang ingin memanfaatkan AI untuk otomatisasi, tetapi dengan itu datang tanggung jawab untuk memastikan sistem multi-agen ini bekerja dengan benar dan tidak menimbulkan dampak negatif bagi manusia.

--

--

No responses yet