Tampilan
Bagian 2 — Tools
Agent yang kamu bangun di Bagian 1 punya satu keterbatasan mendasar: ia hanya bisa berbicara. Ditanya cuaca, ia mengarang. Diminta mengecek status pesanan, ia mengarang dengan lebih meyakinkan. Bukan karena modelnya buruk, tapi karena ia tidak punya jalan untuk mengetahui apa pun di luar teks yang kamu kirim.
Tool adalah jalan itu. Ia mengubah agent dari sesuatu yang menjawab menjadi sesuatu yang bertindak — dan begitu agent bisa bertindak, ia bisa mengambil data nyata, mengubah keadaan sistem, dan memverifikasi jawabannya sendiri sebelum menyampaikannya kepadamu.
Tool bukan sekadar fungsi
Kalau kamu melihat createTool() dan berpikir "ini cuma pembungkus fungsi biasa", separuhnya benar. Yang membuatnya berbeda ada tiga:
- Schema-nya dibaca model. Nama field, tipe, dan deskripsinya ikut dikirim ke model supaya ia tahu tool ini untuk apa dan bagaimana memanggilnya. Ini membuat kualitas schema-mu berpengaruh langsung pada seberapa tepat tool dipanggil.
- Argumennya divalidasi sebelum fungsimu jalan. Model bisa mengirim apa saja; validasi berdiri di antaranya dan kodemu.
- Hasilnya kembali ke model, bukan ke pengguna. Tool tidak menjawab pertanyaan; ia memberi bahan kepada agent untuk menyusun jawaban.
Poin ketiga yang paling sering salah dipahami di awal, dan paling menentukan cara kamu merancang keluaran tool.
Bab di bagian ini
| Bab | Isi |
|---|---|
| 2.1 | Membuat tool dengan createTool() dan menyambungkannya ke agent |
| 2.2 | Menulis schema yang membuat tool dipanggil pada saat yang tepat |
| 2.3 | Siklus agent-tool, penanganan error, dan persetujuan manusia |
Prasyarat bagian ini
- Bagian 1 selesai
- Nyaman dengan Zod — minimal
z.object(),z.string(),z.number(), dan.describe()
Lanjut ke mana
Mulai dari 2.1 Tool Pertama.