BAB 10

10 - Agentic AI Development: LangChain, CrewAI, AutoGen, dan Tool Use

Estimasi Waktu: 50 menit
Level: Advanced


Apa itu Agentic AI?

Banyak aplikasi AI awal hanyalah β€œpembaca masukan” (single-turn chatbots). Pengguna mengirim prompt, LLM langsung menjawab, selesai.

Agentic AI adalah paradigma di mana LLM bertindak sebagai otak utama yang diberi tujuan (goals), instruksi (roles), akses ke alat bantu (tools), serta memori untuk melakukan tindakan secara mandiri melalui siklus berulang (Action Loop).

                 β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                 β”‚    USER PROVIDES GOAL       β”‚
                 β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                β”‚
                                β–Ό
                       β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                 β”Œβ”€β”€β”€β”€β–Ίβ”‚  THINK & PLAN   β”‚
                 β”‚     β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                 β”‚              β”‚
                 β”‚              β–Ό
          [ Reflect ]       [ Action ] ──► Execute Tool / API
                 β”‚              β”‚
                 β”‚              β–Ό
                 β”‚     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                 └─────│     OBSERVE     │◄── Tool Output
                       β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

1. Anatomi Agen AI

Sebuah agen AI mandiri dibangun dari empat pilar utama:

  1. Planning (Perencanaan): Kemampuan memecah masalah besar menjadi sub-tugas kecil (misal menggunakan teknik ReAct, Tree of Thoughts, atau Plan-and-Solve).
  2. Memory (Memori):
    • Short-term Memory: Konteks percakapan saat ini (chat history).
    • Long-term Memory: Informasi masa lalu yang disimpan di database vektor atau database relasional untuk dibaca kembali di masa mendatang.
  3. Tools (Alat): API, database query runner, browser automation, atau kalkulator Python yang bisa dipanggil oleh LLM melalui mekanisme Function Calling.
  4. Action Loop (Siklus Tindakan): Loop eksekusi (Think-Act-Observe) yang terus berjalan sampai tujuan agen tercapai.

2. Implementasi Tool Use (Function Calling)

Function Calling adalah jembatan utama antara dunia kognitif LLM dengan dunia digital. Model tidak menjalankan kode secara langsung; ia membaca deskripsi fungsi yang kita buat, lalu memutuskan argumen apa yang harus dikirim ke fungsi tersebut.

Alur Eksekusi:

  1. Aplikasi mengirim daftar deskripsi fungsi (schema JSON) ke LLM bersama pertanyaan pengguna.
  2. LLM mendeteksi kebutuhan memanggil fungsi dan mengembalikan JSON berisi nama fungsi dan parameter input.
  3. Aplikasi lokal mengeksekusi fungsi tersebut secara lokal dan mengembalikan hasilnya ke LLM.
  4. LLM membaca hasil eksekusi fungsi dan merumuskan jawaban akhir ke pengguna.

3. Pilihan Framework Agen AI

Contoh Sederhana CrewAI:

from crewai import Agent, Task, Crew, Process

# 1. Definisikan Agent dengan Peran Khusus
peneliti = Agent(
    role="Peneliti Teknologi Senior",
    goal="Mencari tren terbaru di industri AI hingga tahun 2045",
    backstory="Seorang analis riset yang ahli mengidentifikasi terobosan teknologi baru.",
    verbose=True
)

penulis = Agent(
    role="Penulis Konten Teknis",
    goal="Menulis artikel blog yang mudah dipahami tentang tren AI",
    backstory="Penulis berbakat yang mampu mengubah data teknis rumit menjadi bacaan seru.",
    verbose=True
)

# 2. Definisikan Tugas
tugas_riset = Task(
    description="Cari 3 tren AI terbesar di masa depan dan jelaskan dampaknya.",
    expected_output="Daftar 3 tren terbesar dengan penjelasan detail per poin.",
    agent=peneliti
)

tugas_menulis = Task(
    description="Tulis postingan blog sepanjang 500 kata berdasarkan hasil riset.",
    expected_output="Artikel blog yang siap dipublikasikan dalam format Markdown.",
    agent=penulis
)

# 3. Orkestrasikan Tim (Crew)
tim = Crew(
    agents=[peneliti, penulis],
    tasks=[tugas_riset, tugas_menulis],
    process=Process.sequential
)

hasil = tim.kickoff()
print(hasil)

Latihan

  1. Rancang skema JSON untuk sebuah alat (tool) bernama hitung_diskon yang menerima parameter harga_asli dan persen_diskon.
  2. Tulis script menggunakan library agen pilihan Anda (seperti CrewAI atau LangGraph) untuk membuat asisten riset otomatis yang mengunduh data dari internet dan merangkumnya menjadi dokumen teks.

Target: Memahami cara kerja siklus ReAct (Reasoning and Acting) pada agen dan mampu merancang multi-agent system sederhana.