Pernahkah kamu membayangkan membangun sistem AI yang tidak hanya menjawab pertanyaan, tetapi juga bisa merencanakan langkahnya, menggunakan alat, mengingat konteks, dan bahkan mengkritik pekerjaannya sendiri? Dalam artikel ini, kami akan menunjukkan How to Build an Advanced Agentic AI System menggunakan OpenAI API. Kami akan membahas setiap komponen penting, mulai dari arsitektur dasar hingga integrasi alat yang canggih.
Sistem agentik yang kami bangun ini dirancang sebagai pipeline kecil dengan peran-peran khusus. Tujuannya adalah memisahkan antara strategi, aksi, dan kontrol kualitas. Ada tiga peran utama di dalamnya: perencana (planner), pelaksana pengguna alat (tool-using executor), dan kritikus (critic).
Fondasi Teknis dan Alat yang Terintegrasi
Untuk memulai, kami menginstal OpenAI SDK dan hanya mengimpor komponen yang diperlukan agar notebook tetap ringan dan dapat direproduksi di Google Colab. Kunci API diambil menggunakan getpass(), memastikan kerahasiaannya dan tidak muncul di output notebook. Setelah itu, kami membuat klien OpenAI dan mengatur string model sekali agar seluruh sistem dapat menggunakannya secara konsisten.
Kami juga mendefinisikan "basis pengetahuan" internal berukuran kecil. Ini berfungsi untuk mensimulasikan playbook atau dokumentasi tim yang dapat dikonsultasikan oleh agen melalui panggilan alat. Alat-alat yang kami terapkan dirancang untuk mengembalikan kamus terstruktur, menjadikan output alat mudah dibaca mesin dan kokoh. Kami menyertakan beberapa alat penting:
- Kalkulator Aman: Untuk perhitungan yang andal.
- Pencarian Basis Pengetahuan Berbasis Kata Kunci: Untuk mengambil panduan.
- Ekstraktor JSON: Untuk parsing output yang terstruktur.
- Penulis File: Untuk menyimpan hasil akhir sebagai artefak.
Kami mendaftarkan alat Python ini dalam sebuah pemetaan. Ini memungkinkan kami memanggilnya berdasarkan nama saat fungsi dipanggil. Kami juga mendeklarasikan skema alat agar model dapat memanggil alat dengan struktur argumen yang benar.
Otak dan Memori Agent
Kami mendefinisikan AgentState untuk menyimpan tujuan, memori, dan jejak panggilan alat. Dengan ini, kami dapat memeriksa apa yang terjadi dan melakukan debug perilaku agen. Selain itu, kami menerapkan wrapper chat() yang aman. Wrapper ini hanya menyertakan tool_choice ketika alat disediakan, mencegah terjadinya error 400.
Memisahkan Tanggung Jawab dengan Peran Spesialis
Untuk memastikan pembagian tugas yang jelas, kami mendefinisikan tiga prompt peran yang berbeda. Setiap peran memiliki tanggung jawabnya sendiri:
- Perencana (Planner): Bertanggung jawab menghasilkan rencana yang terstruktur.
- Pelaksana (Executor): Melaksanakan tugas dan menggunakan alat sesuai kebutuhan.
- Kritikus (Critic): Bertugas meninjau dan memperbaiki hasil akhir.
Kami menerapkan rencana untuk meminta JSON yang ketat. Kemudian, ada loop yang menjalankan panggilan model, mendeteksi panggilan alat, mengeksekusinya dalam Python, dan kemudian memberi umpan balik outputnya kembali ke model. Ini menciptakan agen yang benar-benar menggunakan alat, bukan hanya penghasil teks satu kali.
Siklus Hidup Agent: Dari Rencana ke Eksekusi dan Kritik
Fase kritik dirancang untuk meninjau draf dan menghasilkan respons akhir yang lebih baik. Kritik menggunakan alat Jejak (Trace tool) sebagai bukti tambahan untuk debugging dan akuntabilitas. Kami menerapkan fungsi run_agent() untuk mengatur seluruh loop: menginisialisasi status, merencanakan, melaksanakan dengan alat, lalu mengkritik, dan menyelesaikan output.
Sebagai demo, kami memberikan tujuan yang mendorong deliverable realistis. Agen diminta untuk menghasilkan ringkasan, item tindakan terstruktur dalam format JSON, email tindak lanjut, dan menyimpan output ke file menggunakan alat write_file.
Kesimpulan dan Pengembangan Masa Depan
Kami telah berhasil mengimplementasikan arsitektur agentik yang praktis. Arsitektur ini memisahkan secara jelas perencanaan, eksekusi alat, dan penyempurnaan berbasis kritik. Kami menghubungkan model ke alat nyata dengan skema yang ketat, merekam jejak alat yang transparan untuk debugging, dan menghasilkan artefak dengan menyimpan output akhir ke file.
Dengan struktur ini, agen dapat diperluas ke alur kerja tingkat produksi yang lebih kompleks. Beberapa peningkatan di masa depan termasuk penambahan kebijakan coba ulang alat, sub-agen paralel, memori yang lebih kaya (vektor dan simbolik), serta harness evaluasi untuk mengukur seberapa baik agen merencanakan, menggunakan alat, dan meningkatkan output dari waktu ke waktu.
