Gunakan ChatDev ChatChain untuk komunikasi agen di IBM watsonx.ai

Penyusun

Vanna Winland

AI Advocate & Technology Writer

Dalam tutorial ini, kami mendemonstrasikan cara membangun sistem AI kolaboratif dengan menggunakan kerangka kerja ChatDev dan menjelajahi struktur komunikasi agen berbasis perannya, ChatChain. ChatDev menggunakan agen AI dengan peran yang ditugaskan untuk menyimulasikan perusahaan perangkat lunak virtual. Setiap agen cerdas berkolaborasi dengan agen lain melalui komunikasi terstruktur, mengikuti alur kerja berurutan berdasarkan fase-fase dalam siklus hidup pengembangan perangkat lunak.

Untuk mendukung agen ini, kami mengintegrasikan antarmuka pemrograman aplikasi (API) IBM watsonx.ai sebagai backend model. Dengan memanfaatkan integrasi watsonx.ai dengan Hugging Face, kami telah mengonfigurasi kerangka kerja untuk menggunakan Llama-4-Maverick guna menghasilkan solusi perangkat lunak sederhana. Contoh ini berfungsi sebagai dasar untuk menjelajahi ChatChain dan mekanisme komunikasi agen internal lainnya yang memandu perilaku agen dan pengambilan keputusan di seluruh alur kerja. 

Pada akhir tutorial ini, Anda harus memiliki pengalaman langsung mengatur dan menjalankan ChatDev, dan pemahaman yang lebih jelas tentang bagaimana protokol komunikasi agen memungkinkan kolaborasi multiagen yang efektif dan andal.

AI kolaboratif: Sistem kecerdasan buatan yang dirancang untuk bekerja bersama manusia atau agen AI, seringkali dengan menggunakan pembelajaran mendalam atau teknik canggih lainnya untuk memungkinkan kerja sama, pengambilan keputusan bersama, dan pemecahan masalah bersama untuk mencapai tujuan bersama. 

Kolaborasi multi-agen: Beberapa agen otonom yang berbagi informasi dan berkoordinasi untuk mencapai tujuan bersama. Agen-agen ini dapat memiliki tingkat pengetahuan, kemampuan, dan perspektif yang bervariasi, dan kolaborasi mereka sering melibatkan negosiasi, perencanaan, dan tindakan terkoordinasi.

Agen bermain peran: Agen AI yang menyimulasikan peran atau persona tertentu untuk berinteraksi dan berkolaborasi dengan cara yang berbasis tujuan. Peran-peran ini dapat mencerminkan profesi atau karakter di dunia nyata, memungkinkan interaksi yang lebih sesuai konteks dan berorientasi pada tujuan. 

Protokol komunikasi agen: Standar atau kerangka kerja yang menentukan bagaimana agen AI berinteraksi satu sama lain dengan bertukar pesan data terstruktur. Protokol-protokol ini mengatur format, makna, dan aturan komunikasi untuk agen-agen yang berkoordinasi dalam sistem multiagen.

AI kolaboratif di Chatdev

ChatDev adalah implementasi berbasis peran dari AI kolaboratif, di mana agen-agen individu mengambil peran khusus untuk bekerja menuju tujuan bersama. Desain ini mencerminkan prinsip-prinsip kecerdasan kolektif—pada dasarnya kolaborasi yang efektif—dan menempatkan ChatDev sebagai sumber daya berharga untuk mempelajari dan mengembangkan bidang ini.

ChatDev adalah kerangka kerja multiagen sumber terbuka yang dikembangkan oleh OpenBMB, sebuah inisiatif berbasis penelitian yang berfokus memajukan alat AI dan kecerdasan umum buatan (AGI). Kerangka kerja ini menggunakan proses pengembangan perangkat lunak sebagai domain praktis untuk mempelajari agen AI kolaboratif. Setiap agen didukung oleh Model Bahasa Besar (LLM) dan diberi prompt untuk mengambil peran spesifik seperti CEO, CTO, Desainer, Penguji, dan Programmer.1

Mulai dari input pengguna yang singkat dan deskriptif, agen-agen ini bekerja sama untuk merancang, mengimplementasikan, dan menguji secara berulang-ulang sebuah proyek perangkat lunak yang lengkap. Setiap agen diimplementasikan sebagai class Python yang berkomunikasi secara berurutan menggunakan prompt bahasa alami yang terstruktur. Prompt-prompt ini mengikuti templat yang telah ditentukan sebelumnya, yang mencakup peran agen, instruksi spesifik tugas, dan konteks relevan dari interaksi sebelumnya. Strategi ini membantu memastikan kesinambungan dan kohesi dengan menanamkan identitas peran dan memori bersama dalam prompt itu sendiri.

Tim ChatDev yang terdiri dari agen-agen khusus bekerja sama untuk mengembangkan solusi perangkat lunak sederhana berdasarkan input pengguna berupa satu kalimat yang menggambarkan ide mereka. 

Masukan pengguna: ‘Buat aplikasi daftar tugas’ → CEO mendelegasikan ke CTO → CTO menugaskan ke Pengembang → Pengembang menulis kode → Pengembang memvalidasi

Cara kerja ChatDev

Interaksi agen diatur oleh ChatChain, logika koordinasi khusus dalam kerangka kerja ChatDev. Komunikasi antara agen terjadi melalui dialog yang berjalan beberapa kali atau sistem pertukaran pesan, di mana agen secara berurutan bertukar pesan JSON yang terstruktur. Pesan-pesan ini mewakili output dan pembaruan konteks, serta berfungsi sebagai buffer memori bersama, memungkinkan agen-agen untuk membangun berdasarkan output satu sama lain di seluruh fase pengembangan.

Arsitektur ini memfasilitasi komunikasi yang konsisten dan kolaborasi yang sesuai konteks dengan menggabungkan bahasa alami dan bahasa pemrograman untuk menyelesaikan proyek secara menyeluruh. Proses ini bergantung pada komunikasi multiagen terkoordinasi, dengan mekanisme internal bertindak sebagai protokol untuk mengatur komunikasi agen AI yang efektif untuk menyelesaikan setiap fase. 

Pengguna dapat memantau dan meninjau alur kerja agen dengan menggunakan alat Visualizer ChatDev, antarmuka web berbasis Flask yang mendukung analisis pasca-operasi dan pemantauan real-time. Visualizer menyediakan beberapa mode, seperti Log Viewer untuk memeriksa interaksi agen secara real-time, Replay Viewer untuk memvisualisasikan log percakapan multiagen yang disimpan, dan ChatChain Viewer untuk menganalisis alur koordinasi tugas. Antarmuka interaktif ini memungkinkan pengguna untuk melakukan debugging, bereksperimen, dan mempelajari kolaborasi multi-agen melalui lingkungan terstruktur menggunakan browser lokal.

Catatan tentang kompatibilitas model dan variabilitas output

Tutorial ini menggunakan versi khusus ChatDev yang diadaptasi khusus untuk IBM® watsonx.ai API. Meskipun ChatDev inti mendukung beberapa penyedia model, versi ini telah dimodifikasi dengan menggunakan pendekatan pragmatis "vibecoding", sehingga fungsional namun belum diuji secara menyeluruh di semua skenario.

Adaptasi utama meliputi:

  • Melakukan wrapping terhadap API IBM watsonx.ai untuk menyesuaikan dengan antarmuka LLM yang diharapkan ChatDev.

  • Menyesuaikan templat prompt agar berfungsi dengan token IBM watsonx.ai API dan persyaratan pemformatan

  • Memodifikasi logika pemilihan model untuk mendukung IBM watsonx.ai sebagai opsi backend model.

Implementasi ini menunjukkan bagaimana ChatDev dapat diperluas untuk mendukung penyedia LLM alternatif. Penyedia model lain (misalnya OpenAI, Ollama) belum diuji dengan versi ChatDev yang disesuaikan ini dan memerlukan penyesuaian pada tingkat kode.

Seperti banyak alur kerja AI generatif, output dapat bervariasi antar proses. Sementara agen umumnya menghasilkan kode dan dokumentasi yang koheren dan terstruktur dengan baik, aplikasi yang dihasilkan mungkin memerlukan penyempurnaan manual agar berfungsi penuh. Faktor-faktor seperti desain prompt, kompleksitas tugas, dan variabilitas bawaan respons LLM semuanya berkontribusi pada ketidakpastian ini.

Tutorial ini berfungsi sebagai pengenalan praktis tentang sistem multiagen kolaboratif, dengan fokus pada cara agen berkomunikasi dan berkoordinasi di dalam ChatDev. Ini tidak dimaksudkan sebagai solusi siap produksi, melainkan sebagai landasan untuk belajar, bereksperimen, dan menjelajahi kolaborasi agen yang didorong oleh LLM. Kami mengucapkan terima kasih kepada para peneliti di ChatDev atas keputusan mereka untuk menyediakan karya mereka sebagai sumber terbuka, yang memungkinkan eksplorasi semacam ini.

Langkah

Langkah 1. Siapkan lingkungan kerja Anda

Meskipun ChatDev dirancang untuk dapat digunakan di berbagai platform, pengguna mungkin mengalami masalah yang spesifik untuk platform tertentu selama proses pengaturan atau eksekusi. Misalnya, PowerShell di Windows mungkin memerlukan penyesuaian perintah shell yang ditujukan untuk sistem berbasis Unix. Variasi dalam OS, versi Python dan arsitektur CPU juga dapat memengaruhi kinerja atau perilaku. Untuk memastikan pengaturan dan penggunaan yang lancar, pengguna disarankan untuk membaca dokumentasi resmi ChatDev dan panduan instalasi untuk pemecahan masalah dan petunjuk khusus lingkungan.

Dengan mengingat hal itu, mari kita mulai dengan menyiapkan lingkungan untuk menjalankan aplikasi. Anda dapat mengikuti langkah-langkah berikut dalam file Markdown di dalam folder proyek di GitHub atau dengan mengikuti langkah-langkah di sini. 

  1.  Pastikan bahwa Python 3.11 sudah diinstal pada sistem Anda.
    > Anda dapat memeriksa versi Python Anda dengan menggunakan perintahpython3 –-version
  2. Kloning repositori GitHub.
    > Untuk langkah-langkah terperinci tentang cara mengkloning repositori, lihat dokumentasi GitHub
  3. Verifikasi bahwa struktur proyek menyerupai berikut ini:
tutorials/projects/chatdev_watsonx/ 
   
├── camel/ 
│   ├── model_backend.py  # Unified interface for interacting with multiple AI models 
│   ├── typing.py         # Defines various type classes including supported AI models  
│   ├── configs.py        # Defines the model parameters based on model interface 
│   ├── utils.py          # Various utility functions including model token limit configuration 
│   └── ... 
├── Visualizer/ 
│   └──app.py             # Runs a Flask application in a local web browser to view logs and ChatChain  
├── WareHouse             # Where the generated software is saved  
├── run.py                # Application entry point 
└── chatdev_watsonx.md    # A markdown version of this tutorial

Langkah 2. Dapatkan kredensial watsonx API

  1. Masuk ke watsonx.ai dengan menggunakan akun IBM® Cloud Anda.
  2. Buat proyek watsonx.ai. >Catat ID proyek Anda di bagian project > Manage > General > Project ID. 
    Anda akan memerlukan ID ini untuk tutorial ini.
  3. Buat instance layanan waktu proses watsonx.ai (pilih paket Lite, yang merupakan instance gratis).
  4. Buat Kunci API watsonx.
  5. Kaitkan layanan waktu proses watsonx.ai ke proyek yang Anda buat di watsonx.ai

Langkah 3. Buat lingkungan virtual

Dari direktori proyek tutorial, buat lingkungan virtual dengan menggunakan Python 3.11:

  python3.11 -m venv venv 
  source venv/bin/activate

Langkah 4. Instal file requirements.txt

Kode ini menginstal dependensi proyek.

  pip install -r requirements.txt 

Langkah 5. Tetapkan variabel lingkungan untuk integrasi LLM

Variabel diatur untuk sesi terminal saat ini (menutup terminal akan mengatur ulang mereka).

Meskipun tutorial ini menggunakan IBM watsonx.ai sebagai backend model, kerangka kerja yang mendasari ChatDev awalnya dirancang untuk mendukung beberapa penyedia LLM, termasuk OpenAI sebagai defaultnya. Beberapa bagian dari basis kode (misalnya, logika pemilihan model atau antarmuka bersama) masih mereferensikan OPENAI_API_KEY sebagai variabel lingkungan. Untuk mencegah kesalahan waktu proses, nilai dummy diperlukan bahkan jika OpenAI tidak digunakan. 

export OPENAI_API_KEY="your_openai_api_key_or_dummy_value" 
export WATSONX_URL="https://us-south.ml.cloud.ibm.com" 
export WATSONX_APIKEY="your_watsonx_api_key" 
export WATSONX_PROJECT_ID="your_watsonx_project_id"

Langkah 6. (Opsional) Jalankan aplikasi Visualizer untuk antarmuka ChatDev

Anda dapat memilih untuk menjalankan Visualizer ChatDev, GUI berbasis Flask yang memungkinkan Anda memeriksa log agen secara real-time, menjelajahi alur kerja, atau memutar ulang dialog agen yang disimpan. Alat ini berguna untuk mendebug, memantau, atau mempelajari interaksi agen, tetapi tidak diperlukan untuk menjalankan alur kerja multiagen inti ChatDev.

Untuk meluncurkan Visualizer, pertama instal Flask:

pip install flask

 

Kemudian, jalankan aplikasi: 

python visualizer/app.py

 

Setelah berjalan, buka browser dan buka: https://127.0.0.1:8000/

Langkah 7. (Opsional) Konfigurasi LLM

Catatan: Tutorial ini menggunakan versi ChatDev yang telah dikonfigurasi sebelumnya untuk menggunakan IBM Watsonx.ai API sebagai backend model. Tidak ada pengaturan tambahan atau perubahan pada konfigurasi model yang diperlukan agar tutorial berfungsi dengan benar. Meskipun dapat disesuaikan, memodifikasi konfigurasi LLM dapat menghasilkan output yang tidak lengkap, salah, dan bervariasi.

ChatDev dibangun berdasarkan kerangka kerja CAMEL, yang mengelola peran agen, tugas, dan interaksi dengan model bahasa. Implementasi asli menggunakan OpenAI API sebagai backend model untuk berinteraksi dengan model ChatGPT seperti GPT-4 dan menggunakan GPT-3.5-turbo secara default. Proyek sumber terbuka juga dirancang untuk mendukung beberapa model penyedia LLM melalui antarmuka model terpadu.

Lewati langkah ini jika Anda berencana untuk menggunakan konfigurasi IBM watsonx.ai default. Untuk eksperimen, jenis model, parameter, dan batas token dapat disesuaikan agar bekerja dengan IBM watsonx.ai API.

  • Jenis model

Untuk mencoba berbagai jenis model, perbarui entriWATSONX diModelType enum incamel/typing.py

# camel/typing.py 

class ModelType(Enum):
WATSONX = "meta-llama/llama-4-maverick-17b-128e-instruct-fp8" # Model identifier used by the Watsonx APIThe model parameters can be configured within camel/configs.py under the WatsonxConfig data class.

 

  • Parameter model

Parameter model dapat dikonfigurasi di dalamcamel/configs.py  di bawah class data WatsonxConfig  .

# camel/configs.py 
 
@dataclass(frozen=True) 
class WatsonxConfig: 
     """Defines the parameters for generating completions using watsonx.ai models.""" 
   
     temperature: float = 0.3 
     top_k: int = 100 
     top_p: float = 0.0

 

  • Batas token

Batas token untuk model dapat dikonfigurasi dicamel/utils.py file.

# camel/utils.py 
 
def get_model_token_limit(model: ModelType) -> int: 
     if model == ModelType.WATSONX: 
         return 128000  # Token limit for Watsonx.ai models

Langkah 8. Jalankan skrip untuk menghasilkan aplikasi

Langkah ini menjalankan alur kerja inti ChatDev. Saat Anda menjalankan skrip ini, agen akan menyimulasikan proses pengembangan perangkat lunak kolaboratif berdasarkan input Anda. Kode yang dihasilkan, dokumentasi, dan artefak terkait akan disimpan di direktori WareHouse proyek. Anda dapat memeriksa log atau memutar ulang percakapan dengan menggunakan Visualizer.

Skrip menggunakan argumen berikut:

  • –-task : Deskripsi solusi perangkat lunak yang diinginkan

  • –-name : Nama aplikasi atau proyek

  • –-model : Model AI yang akan digunakan (harus diatur keWATSONX untuk tutorial ini)

Contoh skrip:

python3 run.py --task "Build a simple website using Flask for a local bookstore called 'Turn the Page'. The website should include a homepage, an about page, and a product page. " --name "bookstore-site" --model "WATSONX"

Catatan: Meskipun arsitektur ChatDev dapat diperluas, versi tutorial ini hanya berfungsi dengan andal bersamaWATSONX . Memperluasnya untuk menggunakan penyedia LLM lain memerlukan modifikasi antarmuka dan logika konfigurasicamel/model_backend.py terkait.

Contoh output

Produk piranti lunak akhir disimpan diWarehouse folder di bawah subdirektori dinamai sesuai proyek, nama organisasi default, dan stempel waktu.

Output umumnya mungkin terlihat seperti ini:

├── WareHouse/ 
└── bookstore-site_DefaultOrganization_20250506162935/ 
     ├── templates/      # Web page templates 
     │   └── about.html 
     │   └── index.html 
     │   └── products.html 
     ├── manual.md      # The project’s README with instructions to run the software 
     ├── main.py        #The main application file for the website 
     ├── requirements.txt          # Project dependencies 
     ├── ChatChainConfig.json      # System design for collaborative agent workflows 
     ├── RoleConfig.json       # System prompts for agent roles 
     ├── PhaseConfig.json      # System prompts for phases 
     └── bookstore-site_DefaultOrganization_20250506162935.log  # Log of the agent dialogue

Output dapat bervariasi antara proses karena sifat probabilistik alat AI generatif.

Direktori ini berisi proyek perangkat lunak lengkap yang dihasilkan oleh agen AI. Bersamaan dengan kode aplikasi dan dokumentasi, Anda akan menemukan file konfigurasi yang mendefinisikan:

  • Peran agen (RoleConfig.json)

  • Fase pengembangan (PhaseConfig.json)

  • Alur kerja agen (ChatChainConfig.json)

  • Log dialog yang dapat diisi ulang di Visualizer ChatDev

Untuk menjalankan aplikasi, ikuti petunjuk dimanual.md file.

Tangkapan layar yang menunjukkan layar "Chatdev"

Cara ChatDev mengelola komunikasi agen

Interoperabilitas agen merujuk pada kemampuan agen otonom untuk memahami, berkomunikasi, dan berkolaborasi secara efektif dengan menggunakan protokol atau standar yang sama. Kemampuan ini sangat penting untuk menskalakan sistem AI agen di seluruh tugas, mengintegrasikan kumpulan data dan memecahkan masalah kompleks secara kooperatif.

Sistem multi-agen sering menggunakan protokol komunikasi agen (ACPs), yang menyediakan standar untuk komunikasi antar agen dengan menggunakan mekanisme komunikasi internal seperti bahasa komunikasi agen (ACLs), seperti KQML atau FIPA-ACL. Hal ini mendefinisikan tindakan komunikasi standar (misalnya, memberi informasi, meminta, menanyakan) untuk memfasilitasi dialog terstruktur dan koordinasi dalam lingkungan dinamis.

ChatDev, bagaimanapun, mengambil pendekatan yang berbeda. Hal ini dicapai melalui interoperabilitas agen menggunakan ChatChain, sebuah mekanisme komunikasi yang menyusun alur kerja koordinasi agen. ChatChain mengelola aliran informasi berbasis giliran dan sinkron antara agen-agen di seluruh tahap proses pengembangan perangkat lunak. Meskipun tidak didasarkan pada ACL formal, ChatChain memfasilitasi pertukaran seperti protokol dengan menggunakan konvensi yang dioptimalkan LLM.

Komunikasi agen ChatDev bergantung pada:

  • Pembuatan templat prompt: Pada awal setiap fase, agen-agen yang berpartisipasi masing-masing menerima prompt yang terstruktur dengan peran, tugas saat ini, dan riwayat percakapan yang relevan. ChatDev menggunakan teknik prompting inception untuk menyematkan informasi ini langsung ke dalam prompt, membantu menjaga konsistensi dan keselarasan tujuan sepanjang interaksi.

  • Format pesan terstruktur: Agen berkomunikasi melalui pesan JSON terstruktur yang mengenkode output dan pembaruan konteks. Hal ini memungkinkan pertukaran data yang konsisten dan keterlacakan di seluruh alur kerja.

  • Pengondisian peran: Setiap agen diinisialisasi dengan prompt yang memperkuat peran yang ditugaskan, termasuk tanggung jawab, tujuan, dan harapan perilaku—strategi kunci dalam dehalusinasi komunikatif.

Bersama-sama, mekanisme ini membentuk kerangka kerja yang ringan dan dapat diskalakan yang memungkinkan ChatDev untuk secara kolaboratif menghasilkan perangkat lunak dari prompt. Ini menggambarkan bagaimana kolaborasi berbasis LLM terstruktur dapat mendorong alur kerja multiagen tradisional.

ChatChain

ChatChain adalah mekanisme komunikasi inti di ChatDev, mengatur urutan interaksi agen di seluruh alur kerja pengembangan perangkat lunak. Proses ini menyusun kolaborasi menjadi proses berulang yang berantai, terdiri dari fase-fase yang terpisah, masing-masing dengan tujuan spesifik dan pola komunikasi yang khas.

Selama setiap fase, ChatChain memulai dialog agen ganda antara dua agen dengan peran khusus (misalnya, CEO dan CTO, Programmer dan Reviewer). Yang satu biasanya bertindak sebagai instruktur, yang lain sebagai asisten. Pertukaran informasi yang terstruktur dan bertahap ini memperlancar pengambilan keputusan kolaboratif sambil tetap menjaga kejelasan dalam peran dan tanggung jawab yang telah ditetapkan dengan jelas. Prompt untuk setiap fase menyematkan instruksi tugas, identitas peran, dan konteks yang relevan untuk memandu interaksi.

Alur kerja keseluruhan ChatDev mengikuti model waterfall yang dimodifikasi, sebuah metodologi rekayasa perangkat lunak tradisional yang membagi tugas menjadi tiga fase berurutan: desain, pengodean, dan pengujian. Fase pengodean dan pengujian dibagi lagi menjadi subtugas untuk mencerminkan proses pengembangan berulang.

Secara default, ChatChain membagi alur kerja menjadi langkah-langkah otomatis yang diurutkan sebagai berikut:

  1. Analisis permintaan: Menentukan struktur aplikasi dan komponen kunci. 

  2. Pemilihan bahasa pemrograman: Menentukan bahasa pemrograman yang akan digunakan untuk mengembangkan dan menjalankan perangkat lunak.

  3. Pengodean: Agen menulis kode untuk membangun aplikasi.

  4. CodeCompleteAll: Menyelesaikan kode termasuk fungsi atau class yang hilang.

  5. CodeReview: Meninjau dan mengubah kode untuk fungsionalitas.

  6. Uji Coba: Menjalankan perangkat lunak dan modifikasi kode berdasarkan laporan uji coba.

  7. EnvironmentDoc: Mendokumentasikan lingkungan.

  8. Manual: Mendokumentasikan dan menulis petunjuk untuk aplikasi.

Setiap fase ditentukan oleh objek konfigurasi yang menentukan atribut yang menentukan perilaku dan propertinya. Misalnya,need_reflect memicu refleksi pasca-fase di mana agen menganalisis dan menyempurnakan hasil interaksi sebelumnya.

Tangkapan layar yang menunjukkan Diagram Chatchain

Inception prompting

Untuk memandu komunikasi yang tepat antara agen, ChatDev menggunakan inception prompting sebagai strategi inisialisasi agen sebelum setiap putaran subtugas. Inception prompting adalah teknik rekayasa prompt yang dapat digunakan untuk menanamkan peran, tujuan, dan tanggung jawab untuk komunikasi agen yang efektif.

Mari kita lihat contoh bagaimana percepatan awal memandu dua agen untuk memulai, mempertahankan, dan menyimpulkan subtugas. 

Contoh inception prompting dalam ChatDev

Sebelum setiap subtugas, setiap agen menerima prompt sebagai parameter yang mendefinisikan instruksi, karakteristik, tanggung jawab, dan tujuan spesifik untuk setiap peran. Dua contoh termasukassistant_role_prompt danuser_role_prompt Parameter-parameter ini menentukan peran dan tanggung jawab yang diberikan kepada setiap agen yang berpartisipasi dalam percakapan, berdasarkan konteks tugas yang sedang dijalankan.

Berikut adalah prompt peran sistem berdasarkan peran agen untuk instruktur dan asisten agen pada fase LanguageChoose:

// RoleConfig.json 
 

   "Chief Executive Officer": [ 
     "{chatdev_prompt}", 
     "You are Chief Executive Officer. Now, we are both working at ChatDev and we 
     share a common interest in collaborating to successfully complete a task 
     assigned by a new customer.", 
     "Your main responsibilities include being an active decision-maker on users' 
     demands and other key policy issues, leader, manager, and executor. Your 
     decision-making role involves high-level decisions about policy and strategy; 
     and your communicator role can involve speaking to the organization's 
     management and employees.", 
     "Here is a new customer's task: {task}.", 
     "To complete the task, I will give you one or more instructions, and you 
     must help me to write a specific solution that appropriately solves the 
     requested instruction based on your expertise and my needs." 
   ], 
   "Chief Technology Officer": [ 
     "{chatdev_prompt}", 
     "You are Chief Technology Officer. we are both working at ChatDev. We share 
     a common interest in collaborating to successfully complete a task assigned 
     by a new customer.", 
     "You are very familiar to information technology. You will make high-level 
     decisions for the overarching technology infrastructure that closely align 
     with the organization's goals, while you work alongside the organization's 
     information technology (\"IT\") staff members to perform everyday operations.", 
     "Here is a new customer's task: {task}.", 
     "To complete the task, You must write a response that appropriately solves 
     the requested instruction based on your expertise and customer's needs." 
   ],

 

Kedua petunjuk ini menginisialisasi perilaku agen yang diinginkan dengan menggambarkan peran, keahlian, dan tanggung jawab mereka. Strategi prompt juga memandu perilaku dan respons dari masing-masing peran selama interaksi dengan memberikan instruksi yang disesuaikan tentang cara menyelesaikan tugas yang diberikan.

Komunikasi antara agen dipandu secara efektif melalui prompt yang cermat untuk memastikan bahwa kedua pihak memiliki ekspektasi yang jelas dan dapat berkolaborasi dengan efektif.

Dehalusinasi komunikatif

Untuk mengatasi potensi halusinasi pengodean (pembuatan kode yang tidak lengkap atau salah) ChatDev menggunakan pola komunikasi yang disebut dehalusinasi komunikatif. Pola ini penting untuk menyusun percakapan selama proses peninjauan kode.

Proses ulasan kode melibatkan dua fase,CodeReviewComment danCodeReviewModification . Agen Code Review dan Programmer melakukan iterasi antara dua fase ini hingga dua perubahan berturut-turut tidak mengalami perubahan, atau setelah 10 putaran. Mari kita lihat contoh dehalusinasi komunikatif dari log proyek.

Contoh dehalusinasi komunikatif dalam ChatDev

Dalam contoh ini, agen Code Review mendeteksi kesalahan dalam output agen Programmer dan memberitahukannya, bersama dengan saran untuk memperbaiki masalah dalam kode sumber. Agen Programmer kemudian mengoreksi output aslinya berdasarkan masukan itu.

Berikut adalah bagian dari output agen Code Review selama fase iterasi CodeReviewComment :

/* bookstore-site_DefaultOrganization_20250506162935.log */ 
... 
 
## Step 7: Highest Priority Comment 
A high-priority comment is that the templates directory needs to be created, and 
the HTML files should be placed inside it for the application to find and render 
them correctly. Without this setup, running `app.py` will result in a 
`TemplateNotFound` error because Flask looks for templates in a `templates` 
folder by default. 
 
## Step 8: Instructions for Fixing 
To fix this, create a new directory named `templates` in the same directory 
where `app.py`

 

Agen Programmer merespons dengan kode yang dikoreksi selama fase CodeReviewModification berikutnya :

/* bookstore-site_DefaultOrganization_20250506162935.log */ 
 
Here is the list of your developed codes: main.py, index.html, about.html, products.html. 
 
### main.py 
```python 
... 
 
### templates/index.html 
 
```html 
<!-- 
Homepage template for Turn the Page bookstore website. 
Provides navigation links to other pages. 
--> 
... 
 
</html> 
### templates/about.html 
```html 
<!--  About page template for Turn the Page bookstore website. 
Provides information about the bookstore and navigation links. --> 
… 
</html>

 

Code Reviewer dan Programmer dapat terus menyempurnakan kode hingga 10 iterasi atau hingga kesepakatan tercapai setelah dua fase modifikasi berturut-turut yang identik.

Pola dehalusinasi dalam komunikasi membantu memastikan bahwa kode akhir akurat, lengkap, dan sesuai dengan persyaratan yang dimaksud melalui penyempurnaan berulang, sambil juga memfasilitasi penyelesaian subtugas secara efektif.

Kesimpulan

Dalam tutorial ini, kami menjelajahi bagaimana ChatDev mengaktifkan AI kolaboratif dengan menyimulasikan perusahaan perangkat lunak virtual yang terdiri dari agen AI berbasis peran. Menggunakan IBM watsonx.ai API sebagai backend model, ChatDev memandu agen melalui siklus hidup pengembangan perangkat lunak dengan menggunakan komunikasi terstruktur dalam bahasa alami dan pemrograman.

Meskipun ChatDev tidak menggunakan protokol komunikasi agen formal, ChatDev mencapai interoperabilitas agen melalui kemampuan alami LLM dengan teknik komunikasi agen seperti ChatChain, prompting inisiasi, dan dehalusinasi komunikatif. Hal ini menyoroti pentingnya mengoordinasikan komunikasi agen yang efektif untuk kolaborasi yang sukses dan meningkatkan output. 

Dengan alat visualisasi bawaan untuk memantau dan memutar ulang interaksi agen, ChatDev menyediakan platform yang kuat untuk mempelajari alur kerja multiagen dan dinamika kerja tim yang didukung oleh LLM. Ini menunjukkan potensi dunia nyata dari AI kolaboratif dalam pembuatan perangkat lunak dan seterusnya.

Solusi terkait
Pengembangan agen AI IBM 

Bantu pengembang untuk membangun, menerapkan, dan memantau agen AI dengan studio IBM watsonx.ai.

 

Jelajahi watsonx.ai
Solusi kecerdasan buatan (AI)

Gunakan AI di bisnis Anda dalam perpaduan antara keahlian AI terdepan di industri dari IBM dan portofolio solusi Anda.

Jelajahi solusi AI
Konsultasi dan layanan AI

Temukan kembali alur kerja dan operasi yang penting dengan menambahkan AI untuk memaksimalkan pengalaman, pengambilan keputusan secara real-time, dan nilai bisnis.

Jelajahi layanan AI
Ambil langkah selanjutnya

Baik Anda memilih untuk menyesuaikan aplikasi dan keterampilan yang dibangun sebelumnya atau membangun dan menerapkan layanan agen khusus menggunakan studio AI, platform IBM watsonx siap membantu Anda.

Menjelajahi watsonx Orchestrate Jelajahi watsonx.ai