Kursus
AI modern dimulai dengan Model Bahasa Besar (LLM), kemudian hadir function calling untuk keluaran terstruktur, dilanjutkan pengembangan agen dan alat, yang mengarah pada terciptanya server MCP. Saat ini, fokusnya adalah pada sistem multi-agen. Perusahaan sedang mencari solusi untuk membangun sistem otomatis cerdas menggunakan berbagai alat, dengan AutoGen sebagai yang paling populer di antaranya.
Dalam tutorial ini, kita akan membahas AutoGen, ekosistemnya, berbagai use case-nya, dan cara menggunakan setiap komponen di dalam ekosistem tersebut. Perlu dicatat bahwa AutoGen bukan sekadar alat orkestrasi model bahasa seperti LangChain; kemampuannya jauh melampaui itu.
Jika Anda baru mengenal AI, mohon ikuti jalur keterampilan AI Fundamentals terlebih dahulu sebelum melanjutkan tutorial ini. Anda juga dapat mempelajari Agentic AI dalam artikel terpisah.
Apa itu AutoGen?
AutoGen adalah kerangka kerja open-source yang dirancang untuk membuat aplikasi AI multi-agen yang dapat beroperasi secara semi-otomatis maupun sepenuhnya otomatis. Kerangka ini menyediakan alat bagi pengembang untuk membangun sistem di mana banyak agen AI dapat berkomunikasi, bekerja sama, dan menyelesaikan tugas bersama.
AutoGen mendukung beragam use case, termasuk alur kerja otomatis, kolaborasi multi-agen, dan penyelesaian tugas dinamis. Ini memungkinkan pengembang membuat sistem di mana agen dapat berinteraksi melalui bahasa alami, mengeksekusi kode, mengambil informasi, dan beradaptasi dengan alur kerja yang kompleks.
Ekosistem AutoGen dibagi menjadi empat komponen utama:
- AutoGen Studio: Antarmuka grafis tanpa kode untuk membangun dan menguji alur kerja multi-agen.
- AutoGent AgentChat: API yang disederhanakan untuk membangun aplikasi percakapan satu dan multi-agen.
- AutoGen Core: API fondasi untuk membangun sistem AI multi-agen yang dapat diskalakan.
- AutoGen Extension: Pustaka ekstensi pihak pertama dan ketiga yang memperluas kapabilitas kerangka kerja.
Sumber: microsoft/AutoGen
Keunggulan AutoGen terletak pada kemampuannya untuk:
- Menyederhanakan orkestrasi dan optimasi alur kerja LLM yang kompleks.
- Meningkatkan kinerja LLM sambil mengatasi keterbatasannya.
- Memungkinkan pembuatan sistem multi-agen secara mulus yang mengintegrasikan LLM, alat, dan masukan manusia.
Sifatnya yang dapat diperluas dan modular menjadikannya alat yang kuat bagi pengembang lintas industri, dari keuangan dan kesehatan hingga pendidikan dan robotika.
Baca Memahami Agen AI: Masa Depan Sistem Otonom untuk mempelajari cara memanfaatkan agen AI demi inovasi dan efisiensi dalam proyek Anda.
Mulai Menggunakan Ekosistem AutoGen
Di bagian ini, kita akan menelusuri empat komponen utama ekosistem AutoGen dengan memasang dan menjalankannya secara lokal.
1. AutoGen Studio
AutoGen Studio adalah antarmuka low-code yang dirancang untuk membantu Anda membuat prototipe agen AI dengan cepat. Ia menyediakan antarmuka drag-and-drop yang ramah pengguna untuk membuat sistem multi-agen dan mengujinya secara real time.
1. Untuk memasang Studio, gunakan perintah pip.
pip install -U AutoGenstudio
2. Setelah terpasang, Anda dapat meluncurkan UI AutoGen Studio dengan menentukan port dan direktori aplikasi tempat semua agen dan templat akan disimpan.
AutoGenstudio ui --port 8080 --appdir ./app
Setelah menjalankan perintah, Anda akan melihat keluaran berikut di terminal:
INFO [alembic.runtime.migration] Context impl SQLiteImpl.
INFO [alembic.runtime.migration] Will assume non-transactional DDL.
2025-05-09 15:15:22.825 | INFO | AutoGenstudio.web.app:lifespan:39 - Application startup complete. Navigate to http://127.0.0.1:8080
3. Buka http://127.0.0.1:8080 di peramban Anda untuk mengakses dasbor AutoGen Studio.
Setelah aplikasi berjalan, Anda akan disambut dengan antarmuka pengguna yang bersih dan intuitif.
AutoGen Studio menyediakan beberapa fitur utama untuk membantu Anda membangun dan mengelola alur kerja multi-agen:
- Team Builder: Antarmuka drag-and-drop untuk membuat tim agen.
- Playground: Lingkungan interaktif untuk menguji dan menjalankan alur kerja agen.
- Gallery: Pusat untuk menemukan dan mengimpor komponen buatan komunitas.
- Labs: Fitur eksperimental di AutoGen Studio yang memungkinkan pengguna mengeksplorasi alur kerja lanjutan dan membuat prototipe ide mutakhir.
- Deploy: Mengekspor dan menjalankan alur kerja agen sebagai kode Python.

AutoGen Studio adalah aplikasi low-code, artinya Anda dapat membangun alur kerja dengan penulisan kode minimal. Namun, ia juga memberi fleksibilitas untuk menyesuaikan agen dan alur kerja menggunakan kode Python.

2. AutoGen AgentChat
AgentChat adalah kerangka kerja tingkat tinggi untuk membuat alur kerja percakapan multi-agen. Ini menyederhanakan proses membangun aplikasi di mana banyak agen (AI, alat, atau manusia) berkolaborasi untuk menyelesaikan tugas.
Pertama, pasang paket yang diperlukan:
pip install -U "AutoGen-agentchat" "AutoGen-ext[openai]"
Selanjutnya, kita akan menyiapkan tiga agen—seorang pengguna, seorang coder, dan eksekutor kode—yang berkolaborasi dalam group chat round-robin untuk menghasilkan, mengeksekusi, dan menarasikan kode Python. Sistem ini dirancang untuk memfasilitasi pembuatan dan eksekusi kode dinamis sambil memungkinkan interaksi manusia dan kondisi penghentian.
Untuk contoh ini, kita menggunakan model gpt-4.1-mini untuk pembuatan kode, CodeExecutorAgent untuk eksekusi kode di command line, dan UserProxyAgent untuk menjaga manusia tetap dalam loop.
import asyncio
from pathlib import Path
from AutoGen_agentchat.agents import AssistantAgent, CodeExecutorAgent, UserProxyAgent
from AutoGen_agentchat.conditions import TextMentionTermination
from AutoGen_agentchat.teams import RoundRobinGroupChat
from AutoGen_agentchat.ui import Console
from AutoGen_ext.code_executors.local import LocalCommandLineCodeExecutor
from AutoGen_ext.models.openai import OpenAIChatCompletionClient
async def main() -> None:
model_client = OpenAIChatCompletionClient(model="gpt-4.1-mini")
coder = AssistantAgent(
"coder",
model_client=model_client,
system_message=(
"You are a senior engineer. Think step-by-step, then output ONLY runnable "
"Python inside ```pythonthon``` blocks—no commentary."
),
)
executor = CodeExecutorAgent(
"executor",
model_client=model_client, # lets it narrate results
code_executor=LocalCommandLineCodeExecutor(work_dir=Path.cwd() / "runs"),
)
user = UserProxyAgent("user") # human in the loop
termination = TextMentionTermination("exit", sources=["user"])
team = RoundRobinGroupChat(
[user, coder, executor], termination_condition=termination
)
try:
await Console(
team.run_stream()
)
finally:
await model_client.close()
if __name__ == "__main__":
asyncio.run(main())
Simpan kode di atas dalam berkas chat_app.py, dan jalankan dengan:
python chat_app.py
Kita meminta aplikasi Agen untuk menghasilkan kode yang mencetak bintang dalam bentuk segitiga, lalu mengeksekusi kode tersebut.
Aplikasi berhasil menghasilkan dan mengeksekusi kode, sekaligus menawarkan opsi tambahan. Pengguna dapat mengetik “exit” untuk keluar atau mengajukan pertanyaan lanjutan untuk pengalaman percakapan.
Keluaran:
Enter your response: Write a Python script that prints stars and run it.
---------- TextMessage (user) ----------
Write a Python script that prints stars and run it.
---------- TextMessage (coder) ----------
# Print a simple star pattern
for i in range(1, 6):
print('*' * i)
---------- CodeGenerationEvent (executor) ----------
# Print a simple star pattern
for i in range(1, 6):
print('*' * i)
---------- CodeExecutionEvent (executor) ----------
*
**
***
****
*****
---------- TextMessage (executor) ----------
The star pattern has been printed successfully. If you'd like a different pattern or further modifications, just let me know!
Enter your response:
3. AutoGen Core
AutoGen Core adalah kerangka kerja tingkat rendah yang menyediakan cara kuat untuk membuat dan mengelola sistem multi-agen.
Dalam contoh ini, kita akan membuat dua agen: Echo Agent yang membalik isi pesan dan Printer Agent yang mencetak isi pesan ke konsol.
pip install "autogen-core"
Komponen yang digunakan dalam aplikasi ini:
- Struktur pesan: Kelas
Textadalah struktur data sederhana yang menyimpan konten pesan.
- Echo Agent: Agen
Echomembalik isi pesan apa pun yang diterimanya dan memublikasikan pesan yang sudah dibalik ke topik default menggunakanpublish_message.
- Printer Agent: Agen
Printermendengarkan pesan dan mencetak isinya ke konsol.
- Runtime:
SingleThreadedAgentRuntimedigunakan untuk mengelola siklus hidup agen dan menangani perutean pesan.
import asyncio
from dataclasses import dataclass
from AutoGen_core import (
AgentId,
DefaultTopicId,
MessageContext,
RoutedAgent,
SingleThreadedAgentRuntime,
default_subscription,
message_handler,
)
@dataclass
class Text:
content: str
@default_subscription
class Echo(RoutedAgent):
def __init__(self) -> None:
super().__init__("echo")
@message_handler
async def handle(self, message: Text, ctx: MessageContext) -> None: # param must be named 'message'
await self.publish_message(Text(message.content[::-1]), DefaultTopicId())
@default_subscription
class Printer(RoutedAgent):
def __init__(self) -> None:
super().__init__("printer")
@message_handler
async def handle(self, message: Text, ctx: MessageContext) -> None: # param must be named 'message'
print(message.content)
async def main() -> None:
rt = SingleThreadedAgentRuntime()
await Echo.register(rt, "echo", lambda: Echo())
await Printer.register(rt, "printer", lambda: Printer())
rt.start()
await rt.send_message(Text("DataCamp"), AgentId("echo", "default"))
await rt.stop_when_idle()
if __name__ == "__main__":
asyncio.run(main())
Simpan kode dalam berkas core_app.py, dan jalankan dengan:
python core_app.py
Alur Pesan:
- Sebuah pesan dengan konten "DataCamp" dikirim ke agen Echo.
- Agen Echo membalik pesan menjadi "pmaCataD" dan memublikasikannya.
- Agen Printer menerima pesan yang sudah dibalik dan mencetaknya ke konsol.
Keluaran:
pmaCataD
4. AutoGen Extensions
Kerangka kerja AutoGen Extensions menyediakan ekstensi pihak pertama dan pihak ketiga yang memperluas kapabilitas kerangka kerja.
Dalam contoh ini, kita akan mendemonstrasikan cara menggunakan agen MultimodalWebSurfer, yang dapat berinteraksi dengan halaman web, melakukan pencarian, dan mengekstrak informasi.
Sebelum menjalankan contoh, pastikan Anda memasang Playwright:
playwright install
Cara kerja kodenya:
- Inisialisasi agen: Sebuah agen
MultimodalWebSurferdibuat, yang menggunakan modelgpt-4.1-minidari OpenAI untuk pengambilan keputusan dan sebuah peramban (melalui Playwright) untuk interaksi web. - Penyiapan tim: Agen ditambahkan ke tim
RoundRobinGroupChat, yang mengelola alur kerja agen dan membatasi tugas hingga 3 giliran. - Eksekusi tugas: Tim diinstruksikan untuk melakukan tugas: "Buka Google dan cari tentang Abid Ali Awan." Agen membuka peramban, menavigasi ke Google, melakukan pencarian, dan mengekstrak informasi yang relevan.
- Streaming keluaran: Aksi agen (misalnya menavigasi ke halaman, mengeklik tautan, mengekstrak metadata) dialirkan ke konsol secara real time.
- Pembersihan: Setelah tugas selesai, peramban ditutup untuk melepaskan sumber daya.
import asyncio
from AutoGen_agentchat.ui import Console
from AutoGen_agentchat.teams import RoundRobinGroupChat
from AutoGen_ext.models.openai import OpenAIChatCompletionClient
from AutoGen_ext.agents.web_surfer import MultimodalWebSurfer
async def main() -> None:
# Define an agent
web_surfer_agent = MultimodalWebSurfer(
name="MultimodalWebSurfer",
model_client=OpenAIChatCompletionClient(model="gpt-4.1-mini"),
)
# Define a team
agent_team = RoundRobinGroupChat([web_surfer_agent], max_turns=3)
# Run the team and stream messages to the console
stream = agent_team.run_stream(task="Navigate to Google and search about Abid Ali Awan.")
await Console(stream)
# Close the browser controlled by the agent
await web_surfer_agent.close()
asyncio.run(main())
Simpan kode dalam berkas, web_ext_app.py, dan jalankan dengan:
python web_ext_app.py
Saat Anda menjalankan aplikasi, interaksi berikut akan terjadi:
---------- TextMessage (user) ----------
Navigate to Google and search about Abid Ali Awan.
---------- MultiModalMessage (MultimodalWebSurfer) ----------
I typed 'https://www.google.com' into the browser address bar.
The web browser is open to the page [Google](https://www.google.com/).
The viewport shows 100% of the webpage, and is positioned at the top of the page
The following text is visible in the viewport:
Gmail
Images
Sign in
Google offered in:
اردو
پښتو
سنڌيPakistan
About
Advertising
Business
How Search works
Privacy
Terms
Settings
Google recommends using Chrome
Try a fast, secure browser with updates built in
Don't switch
Yes
The following metadata was extracted from the webpage:
{
"microdata": [
{
"itemType": "http://schema.org/WebPage",
"image": "/images/branding/googleg/1x/googleg_standard_color_128dp.png"
}
],
"meta_tags": {
"referrer": "origin"
}
}
Here is a screenshot of the page.
<image>
---------- MultiModalMessage (MultimodalWebSurfer) ----------
I clicked 'Sign in'.
The web browser is open to the page [Sign in - Google Accounts](https://accounts.google.com/v3/signin/identifier?continue=https%3A%2F%2Fwww.google.com%2F&ec=futura_exp_og_so_72776762_e&hl=en&ifkv=ASKV5MhAzFZnwDH-Aw10tuqQN1ppsY8OZ2-OJ3YavFHXMDlX9iTddg1d_k78ZZ0SogFUivcY7Td0Hg&passive=true&flowName=GlifWebSignIn&flowEntry=ServiceLogin&dsh=S1980923188%3A1746809726624486).
The viewport shows 100% of the webpage, and is positioned at the top of the page
The following text is visible in the viewport:
Sign inUse your Google AccountEmail or phone
Forgot email?
Not your computer? Use a private browsing window to sign in.
Learn more about using Guest modeNext
Create account
English (United States)
Help
Privacy
Terms
Sign in Use your Google Account
The following metadata was extracted from the webpage:
{
"meta_tags": {
"referrer": "origin",
"chrome": "nointentdetection",
"viewport": "width=device-width, initial-scale=1",
"description": ""
}
}
Here is a screenshot of the page.
<image>
---------- TextMessage (MultimodalWebSurfer) ----------
Please provide the email or phone number you want to use to sign in, or let me know if you want to create a new account or need help with something else on this page.
Mirip dengan AutoGen, CrewAI juga merupakan kerangka kerja favorit untuk membangun alur kerja agentic. Ikuti tutorial CrewAI: Panduan dengan Contoh Sistem Multi Agen AI untuk mempelajari lebih lanjut.
Use Case AutoGen
AutoGen membuka banyak kemungkinan untuk menciptakan sistem cerdas multi-agen. Berikut beberapa use case paling menonjol dari ekosistem AutoGen:
- Pembuatan, eksekusi, dan debugging kode: Mengotomatiskan tugas pengodean, mengurangi kesalahan, dan meningkatkan efisiensi.
- Kolaborasi multi-agen: Memungkinkan kerja tim antaragen untuk menyelesaikan tugas kompleks.
- Percakapan multi-agen berurutan: Mengelola urutan tugas terstruktur agar tuntas secara efisien.
- Percakapan bersarang: Menangani tugas rumit melalui percakapan berlapis yang terperinci.
- Penggunaan alat: Memperluas fungsionalitas agen dengan mengintegrasikan alat seperti penelusuran web dan kueri SQL.
- Keterlibatan manusia: Mengikutsertakan umpan balik manusia untuk meningkatkan alur kerja.
- Pengajaran dan pembelajaran agen: Meningkatkan keterampilan dan pengetahuan agen.
- Percakapan multi-agen dengan OpenAI Assistants: Menggabungkan kapabilitas OpenAI dengan AutoGen untuk tugas tingkat lanjut.
- Agen multimodal: Menangani teks, gambar, dan media lain untuk interaksi yang lebih kaya.
- Penanganan konteks panjang: Menjaga koherensi dalam percakapan yang panjang.
Kesimpulan
Ada alasan mengapa AutoGen mendapat begitu banyak perhatian dan pengakuan, menjadikannya salah satu kerangka Agentic dengan bintang terbanyak di GitHub.
Ini adalah kerangka kerja komprehensif yang cocok untuk semua kalangan, mulai dari pengembang profesional hingga pemrogram kasual, bahkan individu tanpa pengalaman coding sebelumnya.
Dengan AutoGen, Anda dapat dengan cepat membuat prototipe alur kerja menggunakan AutoGen Studio, membangun aplikasi andal dengan kerangka Core dan Extensions, serta menerapkannya ke cloud secara mulus. Ini benar-benar solusi serba ada untuk membuat dan mengelola sistem multi-agen yang cerdas.
Ikuti kursus Build Dynamic LangChain Agents dan pelajari cara membangun aplikasi agen AI pertama Anda menggunakan kerangka LLM populer.
Sebagai data scientist tersertifikasi, saya bersemangat memanfaatkan teknologi mutakhir untuk menciptakan aplikasi machine learning yang inovatif. Dengan latar belakang kuat di pengenalan ucapan, analisis dan pelaporan data, MLOps, conversational AI, dan NLP, saya mengasah keterampilan dalam mengembangkan sistem cerdas yang berdampak nyata. Selain keahlian teknis, saya juga komunikator andal yang mampu menyederhanakan konsep kompleks menjadi bahasa yang jelas dan ringkas. Karena itu, saya menjadi blogger yang dicari di bidang data science, membagikan wawasan dan pengalaman kepada komunitas profesional data yang terus berkembang. Saat ini, saya berfokus pada pembuatan dan penyuntingan konten, bekerja dengan large language model untuk mengembangkan konten yang kuat dan menarik agar membantu bisnis dan individu memaksimalkan data mereka.


