Skip to content

2026-08-21 · 6 min read · ai-fundamentals

Apa Itu Tools? Cara Memberi AI Kemampuan Bertindak

Tools hanyalah pesan di system prompt yang menjelaskan apa yang bisa dipanggil model. Tidak ada sihir. Pahami alurnya dan kamu paham cara kerja semua AI coding assistant.


Ini pelajaran kelima dari seri Fundamental AI. Sampai di sini model kita cuma bisa bicara. Sekarang kita beri dia tangan: tools.

Bagian yang mengejutkan banyak orang: memberi tools ke model itu tidak ada sihirnya. Tools didaftarkan lewat system prompt, pesan yang sama seperti biasa. Isinya cuma daftar: "kamu punya akses ke tools berikut."

01

Tiga hal yang mendefinisikan satu tool

Setiap tool diberikan tiga hal:

  1. Nama tool, misalnya writeFile
  2. Deskripsi apa yang dilakukannya, misalnya "menulis file ke file system"
  3. Parameter yang diterima dan tipenya, misalnya path dan content

Parameter ditulis dalam JSON schema, jadi bisa menerima objek, array, dan tipe kompleks lain. Definisi-definisi ini disuntikkan ke system prompt, dan instruksi lainmu ditaruh di bawahnya. Selesai. Tidak ada mekanisme tersembunyi.

System Prompt"Kamu punya akses ke tools berikut…"writeFilepath, contentmenulis file ke diskreadFilepathmembaca fileexistspathcek file adasearchFilesglob, querycari file…instruksi lain ditulis di bawah definisi tools.
Tools didaftarkan lewat system prompt: nama, parameter, dan deskripsi. Tidak ada mekanisme tersembunyi.
02

Tool call vs eksekusi

Alur lengkapnya begini. Kamu kirim pesan user: "buat file baru bernama .gitignore." Model membalas dengan pesan assistant yang di dalamnya ada tool call: instruksi berisi nama tool dan parameternya, lengkap dengan id.

Dan di titik itu, belum terjadi apa-apa. Tidak ada file yang dibuat. Tool call cuma pesan dari model yang bilang: "tolong panggil tool ini dengan parameter ini." Eksekusinya terjadi di mesin kita, oleh fungsi di kode yang kita tulis untuk setiap tool yang kita daftarkan.

DikirimSystem:daftar tools…User:"buat file .gitignore"DiterimaAssistant calls toolid: 1writeFile( path: ".gitignore"Belum terjadi apa-apa; ini masih cuma pesan.
Model memilih tool sendiri dan mengembalikan tool call: nama tool plus parameter yang sudah diisi.
Model LLM(menghasilkan tool call)Mesin kita(fungsi di kode)tool callhasil: sukses / errorError ikut dikirim balik; tanpa itu model mengulang kesalahan yang sama.
Eksekusi terjadi di mesin kita. Hasilnya, sukses maupun gagal, dikirim balik ke model.

Setelah eksekusi selesai, kita kirim hasilnya balik ke model sebagai pesan baru dengan id yang sama: inilah yang terjadi saat tool dijalankan. Kalau berhasil, model merangkum dan lanjut. Kalau gagal, kita kirim pesan errornya juga.

03

Satu loop sederhana, aplikasi yang kuat

Rangkum alurnya sekali lagi:

1daftarkan tool2user minta3model pilih tool4eksekusi di mesin5kirim hasil balik6model merangkumulangi
Loop lengkap tools: daftarkan, minta, eksekusi, kirim hasil balik, lalu ulangi sampai selesai.

Loop sederhana ini adalah fondasi hampir semua aplikasi AI yang kamu pakai hari ini. AI coding assistant yang membuat file, chat yang mencari web, agent yang menjalankan kode: semuanya versi dari loop yang sama. Model menghasilkan pesan, kita mengeksekusi, hasilnya kembali ke model.

Konsekuensi praktisnya untuk kamu yang menilai tool AI: kualitas aplikasi itu ditentukan dua hal, seberapa pintar modelnya dan seberapa rapi tools yang didaftarkan. Deskripsi tool yang tumpang tindih atau parameter yang ambigu akan membuat model pintar sekalipun salah pilih. Dan seperti dibahas di pelajaran context window, makin banyak tool yang didaftarkan, makin banyak token yang dimakan definisinya sebelum percakapanmu dimulai.

Pelajaran terakhir merangkai semuanya: agent, dan kenapa sering kali workflow yang polos lebih baik.

Sources

  • Made Arga — TikTok @argakuka · first-hand · accessed 2026-08-21First-hand practical AI content for Indonesian audiences, drawn from real workshop and operator experience.

Next steps

Frequently asked

Apa itu tools dalam konteks LLM?

Tools adalah kemampuan yang kita daftarkan ke model lewat system prompt: nama, deskripsi, dan parameternya. Model tidak menjalankan apa pun; ia hanya menghasilkan pesan tool call. Kode kita yang mengeksekusinya dan mengirim hasilnya kembali ke model.

Apakah model benar-benar mengeksekusi tool?

Tidak. Tool call cuma instruksi: nama tool dan parameternya. Eksekusi terjadi di mesin kita, di kode yang kita tulis. Hasilnya, sukses atau gagal, dikirim balik ke model sebagai pesan baru.

Kenapa error dari tool harus dikirim balik ke model?

Karena error adalah informasi. Model yang melihat 'file sudah ada' bisa mencoba nama lain, dan model yang melihat 'path tidak valid' bisa memperbaiki parameternya. Error yang disembunyikan membuat model terus mengulang kesalahan yang sama.

Want this working inside your team?

It starts with one conversation about your workflow.