BAB 06
Estimasi Waktu: 50 menit
Level: Advanced
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
βββββββββββββββββββ
Sebuah agen AI mandiri dibangun dari empat pilar utama:
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.
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)
hitung_diskon yang menerima parameter harga_asli dan persen_diskon.Target: Memahami cara kerja siklus ReAct (Reasoning and Acting) pada agen dan mampu merancang multi-agent system sederhana.