AutoGen: Framework Multi-Agent Conversation dari Microsoft

# AutoGen: Framework Multi-Agent Conversation dari Microsoft AutoGen adalah framework open-source dari Microsoft Research yang memungkinkan pengembangan aplikasi berbasis Large Language Model (LLM) m...

By Ruby Abdullah · · tutorial
AutoGenMulti-AgentMicrosoftLLMPython

AutoGen: Framework Multi-Agent Conversation dari Microsoft

AutoGen adalah framework open-source dari Microsoft Research yang memungkinkan pengembangan aplikasi berbasis Large Language Model (LLM) menggunakan arsitektur multi-agent conversation. Dengan AutoGen, Anda dapat membuat beberapa agen AI yang saling berkomunikasi, berkolaborasi, dan menyelesaikan tugas kompleks secara otomatis.

Dalam tutorial ini, kita akan mempelajari cara menggunakan AutoGen mulai dari instalasi, membuat berbagai jenis agen, membangun percakapan multi-agen, hingga membangun tim pengembangan software virtual yang terdiri dari planner, coder, dan tester.

Mengapa AutoGen?

Sebelum kita mulai, mari pahami mengapa AutoGen menjadi pilihan populer untuk membangun sistem multi-agent:

  • Multi-Agent Conversation: Agen dapat berkomunikasi satu sama lain secara natural
  • Customizable: Setiap agen dapat dikonfigurasi dengan perilaku, tools, dan LLM yang berbeda
  • Human-in-the-Loop: Mendukung intervensi manusia dalam alur percakapan
  • Code Execution: Agen dapat menulis dan mengeksekusi kode secara otomatis
  • Teachable Agents: Agen dapat belajar dari interaksi sebelumnya
  • Nested Chats: Mendukung percakapan bertingkat untuk alur kerja kompleks

Instalasi

Prasyarat

Pastikan Anda memiliki Python 3.8 atau lebih baru terinstal di sistem Anda.

Instalasi Dasar

pip install pyautogen

Instalasi dengan Fitur Tambahan

# Dengan dukungan Docker untuk code execution

pip install pyautogen[docker]

Dengan dukungan teachable agents

pip install pyautogen[teachable]

Instalasi lengkap

pip install pyautogen[docker,teachable]

Konfigurasi LLM

AutoGen membutuhkan akses ke LLM. Buat file konfigurasi OAICONFIGLIST:

[

{

"model": "gpt-4",

"apikey": "sk-your-openai-api-key"

},

{

"model": "gpt-3.5-turbo",

"apikey": "sk-your-openai-api-key"

}

]

Atau gunakan environment variable:

import os

os.environ["OPENAIAPIKEY"] = "sk-your-openai-api-key"

Konsep Dasar Agen

ConversableAgent

ConversableAgent adalah kelas dasar untuk semua agen di AutoGen. Setiap agen yang dapat berkomunikasi mewarisi kelas ini.
import autogen

configlist = autogen.configlistfromjson("OAICONFIGLIST")

llmconfig = {

"configlist": configlist,

"temperature": 0,

}

Membuat ConversableAgent dasar

agent = autogen.ConversableAgent(

name="basicagent",

llmconfig=llmconfig,

systemmessage="Kamu adalah asisten yang membantu.",

humaninputmode="NEVER",

)

Parameter penting humaninputmode:

  • "ALWAYS": Selalu meminta input manusia sebelum merespons
  • "NEVER": Tidak pernah meminta input manusia
  • "TERMINATE": Meminta input hanya saat percakapan akan berakhir

AssistantAgent

AssistantAgent adalah agen yang dirancang untuk menjadi asisten AI. Secara default, ia menggunakan LLM untuk menghasilkan respons.
assistant = autogen.AssistantAgent(

name="assistant",

llmconfig=llmconfig,

systemmessage="""Kamu adalah asisten AI yang membantu menyelesaikan tugas.

Berikan solusi yang jelas dan terstruktur.

Balas dengan 'TERMINATE' ketika tugas selesai."""

)

UserProxyAgent

UserProxyAgent bertindak sebagai proxy untuk pengguna manusia. Ia dapat mengeksekusi kode dan meneruskan input dari manusia.
userproxy = autogen.UserProxyAgent(

name="userproxy",

humaninputmode="TERMINATE",

maxconsecutiveautoreply=10,

isterminationmsg=lambda x: x.get("content", "").rstrip().endswith("TERMINATE"),

codeexecutionconfig={

"workdir": "coding",

"usedocker": False, # Set True untuk keamanan

},

)

Artikel Terkait

Tutorial CrewAI: Membangun Multi-Agent AI Framework

CrewAI - Framework AI Multi-Agen Daftar Isi Pendahuluan Prasyarat Instalasi dan Pengaturan Konsep Dasar 5...

Tutorial Lengkap LangGraph: Membangun AI Agents yang Kompleks

Tutorial Lengkap LangGraph: Membangun AI Agents yang Kompleks LangGraph adalah library dari LangChain untuk membangun st...

Tutorial TRL: Post-Training LLM dengan SFT, DPO, dan Reward Modeling

Post-Training LLM dengan TRL: SFT, Reward Modeling, dan DPO Setelah sebuah base language model selesai dipretraining, mo...

Tutorial Axolotl: Fine-Tuning LLM Berbasis Konfigurasi YAML

Fine-Tuning LLM Berbasis Konfigurasi dengan Axolotl Kebanyakan proyek fine-tuning dimulai dengan cara yang sama: seseora...