Project: agen sysadmin — 3 tool, batas loop, log langkah
A1 — Loop & Tool Calling
Bangun agen-sysadmin/ di agent-lab: CLI yang menjawab pertanyaan tentang proyek/kode lokal menggunakan tool nyata — inilah agen pertama yang melakukan aksi, bukan sekadar bicara.
Yang dibangun
- Loop read→think→act dengan
MAX_STEPS=6dan pesan batas yang ramah (pakai pola a1-loop-batas). - Tool
baca_file(path)— hanya file teks ≤ 50 KB dalam allowlist direktori (guard path traversal: resolve + cek prefix). - Tool
daftar_dir(path)— list file+ukuran; guard yang sama. - Tool
hitung_token(teks)— estimasi token (char/4); untuk melihat model "menghitung" dengan tool bukan tebakan. - Log setiap langkah: steps n, tool, durasi, perkiraan token — ke stdout dan ke
log.txt. - Error tool (file tidak ada, path di luar allowlist) kembali ke model sebagai hasil.
Kriteria selesai
- Pertanyaan "berapa besar file di src?" terselesaikan dengan 2+ tool call dalam batas steps.
- Path traversal (mis.
../../etc/passwd) ditolak dan model merespons dengan penjelasan. log.txtmemuat jejak lengkap satu sesi: steps, tool, durasi.- README: skema 3 tool + contoh sesi (salin dari log).
Langkah pengerjaan
- Loop dengan MAX_STEPS=6 + pesan batas ramah
- Tool baca_file dengan allowlist + guard path traversal
- Tool daftar_dir + hitung_token
- Log langkah (steps/tool/durasi/token) ke stdout + log.txt
- Uji: pertanyaan multi-tool + percobaan path traversal
- README: skema tool + contoh sesi
A1