Agen AI dengan Hugging Face smolagents
Adel Nehme
VP of AI Curriculum, DataCamp



agent = CodeAgent(
tools=[document_search_tool],
model=model,
planning_interval=3,
max_steps=12
)
planning_interval=3: Agen berhenti setiap 3 langkah."Rencanakan liburan keluarga 2 minggu ke Eropa dengan situs bersejarah untuk dewasa dan aktivitas menyenangkan untuk anak-anak, dengan anggaran di bawah $5000."
[Langkah 1] Cari "hotel di Paris" -> Ditemukan hotel mewah (~$4000 total)
[Langkah 2] Cari "atraksi keluarga di Paris" -> Ditemukan Menara Eiffel, Louvre, tiket taman hiburan
[Langkah 3] Berhenti dan berpikir ulang (interval perencanaan) Hotel terlalu mahal -> anggaran terlampaui. Saya harus mencari opsi lebih murah + aktivitas ramah anak.
[Langkah 4] Cari "hotel keluarga terjangkau di Eropa" -> Ditemukan opsi menengah di beberapa kota

def callback_function(agent_step, agent):
# Lakukan sesuatu dengan langkah agen atau agen itu sendiri
pass
agent_step: detail tentang langkah (rencana, nomor langkah, dll.) agent: objek agen lengkap (status + metode)def planning_callback(agent_step, agent):
print("PERENCANAAN AGEN")
print("=" * 50)
print(agent_step.plan[:300])
if len(agent_step.plan) > 300:
print("\n... (rencana terpotong)")
print("=" * 50)
PERENCANAAN AGEN
==================================================
Cari hotel terjangkau + aktivitas anak
Kemudian buat rencana perjalanan seimbang...
... (rencana terpotong)
==================================================
def action_callback(agent_step, agent):
step_num = agent_step.step_number
print(f"Langkah {step_num}: Melakukan aksi")
if agent_step.is_final_answer:
total_tokens = agent_step.token_usage.total_tokens
print(f"Total token digunakan: {total_tokens}")
Langkah 2: Melakukan aksi!
Langkah 3: Melakukan aksi!
Langkah 4: Melakukan aksi!
Total token digunakan: 4,218
from smolagents import ActionStep, PlanningStep
agent = CodeAgent(
tools=[document_search_tool],
model=model,
step_callbacks={PlanningStep: planning_callback, ActionStep: action_callback}
)
Agen AI dengan Hugging Face smolagents