Mengelola Memori Agen

Agen AI dengan Hugging Face smolagents

Adel Nehme

VP of AI Curriculum, DataCamp

Agen AI dengan Hugging Face smolagents

Tanpa Status Secara Default

Setiap panggilan .run() adalah awal baru.

  • Contoh:
career_advisor.run("Keterampilan karier apa yang harus saya tonjolkan?")
Anda harus menonjolkan Python, SQL, visualisasi data, 
dasar-dasar pembelajaran mesin, dan keterampilan komunikasi yang disesuaikan dengan hasil bisnis.
career_advisor.run("Bisakah Anda memformat keterampilan tersebut sebagai poin-poin?")
Maaf, saya tidak yakin keterampilan mana yang Anda maksud. Bisakah Anda memperjelas?
Agen AI dengan Hugging Face smolagents

Menyimpan Memori Antara Interaksi

career_advisor.run("Keterampilan karier apa yang harus saya tonjolkan?")
Anda harus menonjolkan Python, SQL, visualisasi data, 
dasar-dasar pembelajaran mesin, dan keterampilan komunikasi yang disesuaikan dengan hasil bisnis.
  • Lewatkan reset=False:
career_advisor.run("Bisakah Anda memformat keterampilan tersebut sebagai poin-poin?", reset=False)
Tentu! Berikut keterampilan tersebut dalam bentuk poin:
- Python
- SQL
- Visualisasi data
...
Agen AI dengan Hugging Face smolagents

Memori Membantu Anda Memperbaiki Kesalahan

Pengguna: Berapa gaji yang diharapkan?
Agen: $80,000
Pengguna: Tunggu, itu sepertinya salah...
Agen: Maaf, saya tidak yakin apa yang Anda maksud

Periksa apa yang terjadi dalam jalannya agen:

  • Meninjau semua kode yang dihasilkan agen
  • Melacak penalaran, tindakan, dan penggunaan alatnya
  • Memperbaiki jawaban yang salah atau logika yang rusak
Agen AI dengan Hugging Face smolagents

Kode Apa yang Dijalankan Agen?

Metode .return_full_code() memungkinkan Anda melihat semua kode yang dijalankan.

executed_code = career_advisor.memory.return_full_code()
print(executed_code)
# ...langkah lain dihilangkan untuk ringkasan

salary = 80000  # <- hardcoded?

# skrip berlanjut...
Agen AI dengan Hugging Face smolagents

Apa yang Dipikirkan Agen?

conversation_steps = career_advisor.memory.get_succinct_steps()
print(conversation_steps[5])
{
  "step_number": 5,
  "tool_calls": [
    {"function": {"name": "python_interpreter"}},
    {"function": {"name": "web_search"}}
  ],
  "code_action": "import requests\nskills = requests.get('api.jobsearch.com').json()",
  "observations": "resume_agent menemukan 15 keterampilan relevan untuk transisi",
  "token_usage": {"total_tokens": 334},
  ...
}
Agen AI dengan Hugging Face smolagents

Simpan Sesi Agen untuk Analisis

import json

def save_agent_memory(agent):
    with open("agent_memory.json", "w") as f:
        json.dump(agent.memory.get_succinct_steps(), f, indent=2, default=str)

# Simpan memori ke file
save_agent_memory(career_advisor)

Log dapat membantu dengan:

  • Analisis pasca-fakta
  • Pengujian regresi
  • Meningkatkan perilaku agen seiring waktu
Agen AI dengan Hugging Face smolagents

Memperbaiki Kegagalan Agen: Apa yang Harus Disesuaikan

  • Masalah memori: Gunakan reset=False atau reset dengan sengaja
  • Masalah penalaran: Coba model yang lebih kuat
  • Perilaku tidak konsisten: Perbaiki prompt sistem
  • Kebingungan alat: Perjelas docstring alat
Agen AI dengan Hugging Face smolagents

Ayo berlatih!

Agen AI dengan Hugging Face smolagents

Preparing Video For Download...