Bekerja dengan Agen Multi-Langkah

Agen AI dengan Hugging Face smolagents

Adel Nehme

VP of AI Curriculum, DataCamp

Agen AI dengan Hugging Face smolagents

Contoh: Asisten Perjalanan

Agen AI dengan Hugging Face smolagents

Interval Perencanaan: Membantu Agen Berpikir Ulang

agent = CodeAgent(
    tools=[document_search_tool],
    model=model,
    planning_interval=3,
    max_steps=12
)
  • planning_interval=3: Agen berhenti setiap 3 langkah.
Agen AI dengan Hugging Face smolagents

Jalankan Agen dengan Interval Perencanaan

"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

Agen AI dengan Hugging Face smolagents

Callback: Kait ke Proses Agen

Agen AI dengan Hugging Face smolagents

Fungsi Callback Dasar

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)
Agen AI dengan Hugging Face smolagents

Callback Langkah Perencanaan

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)
==================================================
Agen AI dengan Hugging Face smolagents

Callback Langkah Aksi

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
Agen AI dengan Hugging Face smolagents

Menambahkan Callback ke Agen

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

Apa yang Dapat Dilakukan dengan Callback?

  • Catat pencarian untuk memahami apa yang paling dicari pengguna
  • Tambahkan titik pemeriksaan persetujuan manusia
  • Kirim pembaruan kemajuan ke dasbor atau aplikasi
  • Sesuaikan perilaku agen di tengah jalan berdasarkan kinerja
  • Dan lainnya...
Agen AI dengan Hugging Face smolagents

Ayo berlatih!

Agen AI dengan Hugging Face smolagents

Preparing Video For Download...