Cara Membangun AI Agent: Tutorial Langkah demi Langkah untuk Developer

Tutorial langkah demi langkah untuk developer: pelajari cara membangun AI agent dari arsitektur hingga produksi, dengan kode yang berfungsi dan pilihan alat yang tepat untuk kemampuan dunia nyata.

by AnyCap

Diagram arsitektur loop agen AI: siklus Think, Act, Observe, Repeat

Membangun agen AI terdengar rumit — dan memang bisa rumit, jika kamu mencoba membangun semuanya dari nol. Tapi pola intinya sederhana: berikan model bahasa akses ke alat, biarkan ia memutuskan alat mana yang digunakan dan kapan, lalu ulangi sampai tujuan tercapai.

Panduan ini menjelaskan cara membangun agen AI langkah demi langkah, dari arsitektur hingga kode yang berfungsi. Pada akhirnya, kamu akan memiliki agen fungsional yang dapat mencari web, menghasilkan gambar, dan mengirimkan hasil — semuanya melalui satu CLI.


Apa Itu AI Agent?

Sebelum menulis kode, mari kita definisikan apa yang sedang kita bangun.

AI agent adalah sistem yang menerima tujuan, merencanakan serangkaian tindakan, menggunakan alat untuk menjalankan tindakan tersebut, mengamati hasilnya, dan beradaptasi. Tidak seperti chatbot yang merespons satu prompt, agen bekerja secara otonom menuju suatu tujuan — berpotensi melalui puluhan panggilan alat.

Chatbot: "Ringkas artikel ini." → Mengembalikan ringkasan. AI agent: "Riset topik ini, temukan sumber terbaik, tulis laporan, dan publikasikan." → Merencanakan, mencari, membaca, menulis, mempublikasikan.

Kekuatan agen berasal dari alat-nya — kemampuan yang dapat dipanggilnya. Tanpa alat, agen hanyalah model bahasa dengan prompt panjang. Dengan alat, ia dapat berinteraksi dengan dunia.


Arsitektur AI Agent

Setiap agen mengikuti loop fundamental yang sama:

┌─────────────────────────────────────────┐
│             LOOP AGEN                     │
│                                          │
│  1. Terima tujuan                        │
│  2. Pikir: Apa yang harus dilakukan      │
│     selanjutnya?                         │
│  3. Bertindak: Pilih dan panggil alat    │
│  4. Amati: Apa hasilnya?                 │
│  5. Putuskan: Apakah tujuan tercapai?    │
│     → Tidak? Kembali ke langkah 2.       │
│     → Ya? Kembalikan hasil.              │
└─────────────────────────────────────────┘

Ini disebut pola ReAct (Reasoning + Acting). Setiap framework agen — LangChain, CrewAI, AutoGen, OpenAI Agents SDK — mengimplementasikan versi tertentu dari loop ini.

Tiga komponen yang kamu butuhkan:

  1. Model bahasa — mesin penalaran (Claude, GPT-4o, Gemini)
  2. Seperangkat alat — apa yang dapat dilakukan agen (cari, crawl, hasilkan, simpan, publikasikan)
  3. Orkestrator — loop yang memutuskan alat mana yang akan dipanggil selanjutnya

Langkah 1: Pilih Alat Kamu

Alat menentukan apa yang dapat dicapai agen kamu. Mulailah dengan bertanya: "Apa yang perlu dilakukan agen saya di dunia nyata?"

Alat agen yang umum:

Kemampuan Mengapa Penting
Pencarian web Riset, pencarian fakta, analisis kompetitif
Web crawling Membaca mendalam halaman tertentu, ekstraksi data
Pembuatan gambar Membuat visual, diagram, aset
Penyimpanan file Output persisten, berbagi, manajemen aset
Publikasi web Mengirimkan hasil kerja sebagai halaman live
Eksekusi kode Menjalankan skrip, pemrosesan data, otomatisasi

Kesalahan yang paling sering dilakukan pemula: memberikan agen terlalu sedikit alat, lalu bertanya-tanya mengapa agen tidak bisa menyelesaikan apa pun. Agen hanya-pencarian hanya bisa mengembalikan tautan. Agen dengan pencarian + crawl + penyimpanan + publikasi bisa menghasilkan pekerjaan yang selesai dan terkirim.

Cara paling sederhana untuk menyediakan alat: gunakan lapisan kemampuan terpadu yang menggabungkan pencarian, crawl, pembuatan gambar, penyimpanan, dan publikasi di balik satu antarmuka. Alih-alih mengonfigurasi lima API terpisah dan mengelola lima set kredensial, agen kamu memanggil satu CLI dengan satu alur autentikasi. Ini menjaga loop agen tetap sederhana dan overhead token tetap rendah.


Langkah 2: Tentukan System Prompt Agen Kamu

System prompt adalah "buku panduan operasi" agen. Prompt ini memberi tahu model apa dirinya, alat apa yang dimilikinya, dan bagaimana menggunakannya.

System prompt yang baik memiliki empat bagian:

  1. Identitas: Apa agen itu
  2. Tujuan: Apa yang harus dicapai
  3. Alat: Apa yang bisa digunakan dan kapan
  4. Batasan: Apa yang tidak boleh dilakukan

Contoh:

Kamu adalah agen riset. Tujuanmu adalah meriset topik yang diberikan
secara menyeluruh dan menghasilkan laporan yang komprehensif.

Kamu memiliki akses ke alat-alat ini:
- search: Temukan informasi di web. Gunakan untuk riset luas.
- crawl: Baca halaman web tertentu secara penuh. Gunakan setelah
  menemukan sumber yang menjanjikan.
- drive upload: Simpan laporan dan aset secara persisten.
- page deploy: Publikasikan laporan akhir sebagai halaman web.

Alur kerja:
1. Mulai dengan kueri pencarian luas untuk memahami lanskap.
2. Identifikasi sumber yang paling otoritatif dan crawl sumber tersebut.
3. Sintesis temuan menjadi laporan terstruktur.
4. Unggah laporan ke Drive untuk penyimpanan aman.
5. Deploy laporan sebagai halaman yang dipublikasikan.

Batasan:
- Selalu kutip sumbermu.
- Jika satu sumber bertentangan dengan sumber lain, selidiki lebih lanjut.
- Jangan pernah mengarang informasi.

Langkah 3: Implementasikan Loop Agen

Berikut adalah loop agen minimal dalam Python. Pola ini siap produksi — pikir, bertindak, amati, ulangi:

import subprocess
import json

def call_tool(tool_name, **params):
    """Jalankan alat dan kembalikan hasilnya."""
    if tool_name == "search":
        result = subprocess.run(
            ["anycap", "search", "--prompt", params["query"]],
            capture_output=True, text=True
        )
        return json.loads(result.stdout)
    elif tool_name == "crawl":
        result = subprocess.run(
            ["anycap", "crawl", params["url"]],
            capture_output=True, text=True
        )
        return result.stdout
    elif tool_name == "drive_upload":
        subprocess.run(
            ["anycap", "drive", "upload", params["file"]],
            capture_output=True
        )
        return {"status": "uploaded", "file": params["file"]}
    elif tool_name == "page_deploy":
        result = subprocess.run(
            ["anycap", "page", "deploy", params["file"]],
            capture_output=True, text=True
        )
        return json.loads(result.stdout)

# Loop agen
def agent_loop(goal, tools, max_steps=20):
    memory = [{"role": "system", "content": SYSTEM_PROMPT}]
    memory.append({"role": "user", "content": goal})

    for step in range(max_steps):
        response = llm_call(memory, tools)

        if response.get("done"):
            return response["result"]

        tool_name = response["tool"]
        tool_params = response["params"]
        result = call_tool(tool_name, **tool_params)

        memory.append({"role": "assistant", "content": str(response)})
        memory.append({"role": "tool", "content": str(result)})

    return "Agen mencapai langkah maksimum tanpa menyelesaikan tujuan."

Langkah 4: Tangani Kegagalan

Agen bisa gagal. Pertanyaannya adalah bagaimana mereka menanganinya. Bangun perlindungan ini dari awal:

Perlindungan Timeout

Jangan biarkan agen berloop selamanya. Tetapkan jumlah langkah maksimum dan batas waktu. Jika agen melampaui salah satunya, agen harus mengembalikan apa yang sudah didapat — bukan crash diam-diam.

Pemulihan Kegagalan Alat

Ketika panggilan alat gagal — URL tidak dapat dijangkau, API mengembalikan error — agen harus menerima pesan error dan memutuskan apa yang harus dilakukan selanjutnya. Jangan sembunyikan error dari agen. Ia perlu tahu ketika sesuatu tidak berfungsi.

try:
    result = call_tool(tool_name, **tool_params)
except Exception as e:
    result = {"error": str(e), "suggestion": "Coba pendekatan alternatif"}

Kesadaran Biaya

Setiap pencarian, setiap crawl, setiap pembuatan gambar menghabiskan kredit. Berikan agen anggaran dan buat ia sadar akan biaya. Agen yang menghabiskan 100 pencarian untuk menjawab pertanyaan sederhana dirancang dengan buruk.


Langkah 5: Perbedaan Antara Demo dan Produksi

Perbedaan antara agen demo dan agen yang berguna adalah akses alat dunia nyata. Agen demo mengembalikan teks. Agen yang berguna mengembalikan laporan yang dipublikasikan, gambar yang dihasilkan, atau halaman web yang di-deploy.

Agen produksi membutuhkan lima kemampuan: mencari web, membaca halaman tertentu, menghasilkan visual, menyimpan output secara persisten, dan mempublikasikan hasil kerja. Kode agen tetap sederhana — ia hanya memanggil alat yang dibutuhkannya. Kompleksitas integrasi API, autentikasi, dan penanganan error berada di runtime, bukan di loop agen kamu.


Kesalahan Umum Saat Membangun Agen

Kesalahan 1: Tidak Ada Kondisi Keluar

Agen tanpa sinyal "selesai" yang jelas akan berloop selamanya. Definisikan keberhasilan secara eksplisit: agen selesai ketika menghasilkan output tertentu (laporan, halaman yang di-deploy) atau ketika mengonfirmasi bahwa tujuan tidak dapat dicapai.

Kesalahan 2: Terlalu Sedikit Alat

Agen "hanya pencarian" adalah mesin pencari yang dibesar-besarkan. Berikan agen kamu pipeline lengkap: temukan → baca → buat → simpan → kirim.

Kesalahan 3: Mengabaikan Hasil Alat

Agen terkadang memanggil alat dan mengabaikan outputnya, melanjutkan berdasarkan apa yang mereka asumsikan sebagai hasilnya. Paksa agen untuk memasukkan setiap hasil alat ke dalam keputusan berikutnya.

Kesalahan 4: Over-engineering Loop

Kamu tidak memerlukan framework orkestrasi kustom untuk sebagian besar kasus penggunaan. Loop ReAct sederhana dengan system prompt yang baik dan alat yang mumpuni mengungguli setup multi-agen yang kompleks untuk 80% tugas.


Dari Tutorial ke Produksi

Agen yang kamu bangun di sini adalah titik awal. Untuk membuatnya siap produksi:

  • Tambahkan logging: Catat setiap panggilan alat, hasilnya, dan penalaran agen untuk debugging.
  • Tambahkan human-in-the-loop: Untuk tindakan berisiko tinggi (mempublikasikan, mengirim email), perlukan persetujuan manusia.
  • Tambahkan monitoring: Lacak tingkat keberhasilan, rata-rata langkah per tugas, dan distribusi panggilan alat untuk mengidentifikasi bottleneck.
  • Iterasi system prompt: Prompt adalah otak agen. Sesuaikan berdasarkan pola penggunaan nyata.

Membangun agen AI bukan tentang arsitektur yang kompleks. Ini tentang memberikan mesin penalaran alat yang tepat dan tujuan yang jelas. Mulailah sederhana: satu model, 3-5 alat, loop dasar. Tambahkan kompleksitas hanya ketika versi sederhana mulai bermasalah.