Apa Itu Agen AI? Cara Kerjanya, Dengan Agent Loop Sederhana yang Dapat Anda Jalankan

  1. Beranda
  2. Blog
  3. Kecerdasan Buatan

Kecerdasan Buatan

Apa Itu Agen AI? Cara Kerjanya, Dengan Agent Loop Sederhana yang Dapat Anda Jalankan

Agen AI tidak hanya sekedar menjawab. Dibutuhkan tujuan, memilih tindakan, memeriksa hasil dan terus berjalan. Pelajari apa yang ada di dalamnya, jalankan loop kecil dengan Python, dan pahami risikonya sebelum Anda memercayainya.

9 menit baca
Apa itu agen AI? Cara kerjanya, dengan loop agen sederhana yang dapat Anda jalankan

Poin penting

  • Agen AI biasanya merupakan model bahasa yang berjalan dalam satu lingkaran, dengan alat dan tujuan.
  • Perulangannya sederhana: putuskan, bertindak, amati hasilnya, dan ulangi hingga selesai.
  • Model hanya menyarankan tindakan. Kode Anda menjalankannya, di situlah Anda menegakkan aturan.
  • Agen dapat mengulang atau menyalahgunakan alat, jadi tetapkan batas langkah dan minta persetujuan untuk tindakan berisiko.

Tanyakan kepada chatbot tentang pesanan yang terlambat, dan itu akan memberi Anda beberapa saran. Tanyakan kepada agen AI, dan agen tersebut dapat mencari pesanan, memeriksa penundaan, menerapkan voucher, dan melaporkan kembali. Perbedaannya adalah agen dapat mengambil tindakan dan bereaksi terhadap apa yang terjadi, dibandingkan hanya menghasilkan satu balasan.

Istilah ini meluas dalam pemasaran, jadi panduan ini mengacu pada cara kerja sistem ini. Untuk membuatnya lebih konkret, kami membuat loop agen kecil di Python 3.13 dan menjalankannya, dan output di bawah ini berasal dari proses tersebut. “Model” kami adalah fungsi skrip, bukan model AI sebenarnya, sehingga loop dapat dijalankan dan diuji oleh siapa pun. Ini menunjukkan struktur kendali, bukan kecerdasan. Baru mengenal dasar-dasarnya? Baca apa yang dimaksud dengan model bahasa besar terlebih dahulu.

Apa itu agen AI?

Tidak ada definisi tunggal yang disepakati. Dalam praktik saat ini, agen AI adalah perangkat lunak yang mencapai tujuan dengan berulang kali memutuskan apa yang harus dilakukan selanjutnya, menggunakan alat untuk bertindak dan melakukan penyesuaian berdasarkan hasil. Biasanya pengambilan keputusan berasal dari model bahasa yang besar.

Pikirkan perbedaan antara orang yang memberi arahan dan orang yang menjalankan tugas. Jawaban pertama sekali. Yang kedua keluar, menemukan tokonya tutup, mencoba toko lain dan hanya kembali setelah pekerjaannya selesai.

Chatbot, alur kerja atau agen?

Ketik Siapa yang menentukan langkah-langkahnya? Bisakah itu bertindak? Contoh
bot obrolan Pengguna mengemudi setiap belokan Biasanya tidak Menjawab pertanyaan dari teks
Memperbaiki alur kerja Pengembang, sebelumnya Ya, di jalur yang ditentukan Ringkaslah setiap tiket, lalu rutekan
Agen AI Modelnya, pada saat dijalankan Ya, dalam batasan Menyelidiki dan menyelesaikan tiket

Ini ada dalam suatu spektrum, dan banyak sistem yang berguna merupakan campuran. Pertanyaan kuncinya adalah seberapa banyak jalur yang diputuskan pada saat run time.

Apa yang ada di dalam agen

Bagian Peran
Model Memutuskan langkah selanjutnya, berdasarkan tujuan dan apa yang telah terjadi sejauh ini
instruksi Tujuan, aturan dan batasan yang harus diikuti
Alat Fungsi yang dapat diminta, seperti mencari atau memanggil API
Memori Apa yang diketahuinya dari langkah sebelumnya atau sesi sebelumnya
Lingkaran kontrol Kode biasa yang menjalankan alat dan menerapkan batasan

Lingkaran agen

  1. Putuskan. Model melihat tujuan dan riwayat, lalu memilih suatu tindakan atau memutuskan bahwa tindakan tersebut telah selesai.
  2. Bertindak. Kode Anda menjalankan alat yang diminta.
  3. Amati. Hasilnya ditambahkan ke riwayat.
  4. Ulangi, hingga tujuan tercapai atau batas tercapai.

Itu adalah inti dari sebagian besar agen. Kecanggihannya terutama terletak pada model, alat, dan perlindungan di sekitar lingkaran ini.

Sebuah loop yang bisa Anda jalankan

Agen kecil kami menangani pesanan yang tertunda. Ia memiliki dua alat, dan salah satunya memerlukan persetujuan manusia karena memerlukan biaya:

ORDERS = {
    "A100": {"status": "delayed", "days_late": 6},
    "B200": {"status": "shipped", "days_late": 0},
}

def get_order(order_id):
    return ORDERS.get(order_id, {"error": "order not found"})

def issue_voucher(order_id, amount):
    return {"voucher": f"V-{order_id}", "amount": amount}

TOOLS = {"get_order": get_order, "issue_voucher": issue_voucher}
NEEDS_APPROVAL = {"issue_voucher"}

Dan inilah loopnya sendiri. Ini adalah kode biasa, dan setiap aturan keselamatan ada di sini, bukan di model:

def run_agent(goal, model, approve, max_steps=5):
    history = []
    for step in range(1, max_steps + 1):
        decision = model(goal, history)
        if "finish" in decision:
            return decision["finish"]

        name, args = decision["tool"], decision["args"]
        if name in NEEDS_APPROVAL and not approve(name, args):
            result = {"denied": True}
        else:
            result = TOOLS[name](**args)

        history.append({"tool": name, "result": result})
    return None   # stopped: step limit reached

Untuk menggunakan model nyata, Anda akan mengganti fungsi model dengan panggilan ke API LLM, meneruskan tujuan, riwayat, dan deskripsi alat Anda ke dalamnya. Lingkarannya tetap hampir sama.

Apa yang terjadi dalam perjalanan kami

Kami mencoba lima situasi dengan fungsi keputusan tertulis, dan mencatat setiap langkah.

Pesanan tertunda, dengan voucher disetujui

step 1: get_order({'order_id': 'A100'}) -> {'status': 'delayed', 'days_late': 6}
step 2: issue_voucher({'order_id': 'A100', 'amount': 200}) -> {'voucher': 'V-A100', 'amount': 200}
step 3: finish -> Sorry for the delay. Voucher V-A100 issued.

Setiap langkah menggunakan hasil dari langkah sebelumnya. Voucher hanya dipertimbangkan setelah penundaan dikonfirmasi.

Perintah yang sama, dengan persetujuan ditolak

step 2: issue_voucher({'order_id': 'A100', 'amount': 200}) -> {'denied': True}
step 3: finish -> Your order is late. A person will review compensation.

Manusia menjawab tidak, alat tersebut tidak pernah berjalan, dan agen menyesuaikan jawabannya.

Perintah yang tidak diketahui

step 1: get_order({'order_id': 'Z999'}) -> {'error': 'order not found'}
step 2: finish -> I could not find that order.

Memberikan alat pesan kesalahan yang jelas membantu. Seorang model sejati dapat membacanya dan merespons dengan bijaksana, daripada hanya menebak-nebak.

Sebuah model yang terjebak

Kami juga menukar fungsi keputusan yang salah yang mengulangi tindakan yang sama selamanya:

step 1: get_order({'order_id': 'B200'}) -> {'status': 'shipped', 'days_late': 0}
step 2: get_order({'order_id': 'B200'}) -> {'status': 'shipped', 'days_late': 0}
step 3: get_order({'order_id': 'B200'}) -> {'status': 'shipped', 'days_late': 0}
stopped: step limit reached

Agen benar-benar dapat terjebak dalam lingkaran seperti ini, dan setiap langkah dengan model nyata memerlukan biaya. Tanpa max_steps, ini tidak akan pernah berakhir.

Cara kerja alat

Ini adalah bagian yang paling disalahpahami. Model bahasa tidak dapat menjalankan apapun dengan sendirinya. Ini menghasilkan teks terstruktur yang menyatakan alat mana yang diinginkan, dengan argumen apa. Kode Anda memutuskan apakah akan menjalankannya. Itulah sebabnya loop adalah tempat yang tepat untuk izin, validasi, dan logging.

Penyedia model menawarkan alat atau fungsi yang memerlukan hal ini. Model Context Protocol (MCP) adalah standar terbuka untuk menghubungkan model ke alat dan data, dan artikel kami di Playwright MCP menunjukkan salah satu kegunaannya. Tuliskan nama dan deskripsi alat yang jelas, karena model bergantung pada alat tersebut untuk memilih dengan benar.

Kiat: Mulailah dengan alat hanya-baca. Agen yang hanya dapat mencari sesuatu jauh lebih berbahaya dibandingkan agen yang dapat mengirim, menghapus, atau membayar. Tambahkan akses tulis alat satu per satu, setelah Anda melihat perilakunya.

Memori

Ketik Tahan Contoh
Jangka pendek Riwayat tugas saat ini Daftar history di loop kami
Jangka panjang Fakta disimpan di antara sesi Preferensi pengguna dalam database
Pengetahuan Dokumen yang diambil saat dibutuhkan RAG menggunakan penyematan

Tugas yang panjang dapat melampaui jendela konteks model, sehingga sistem sering kali merangkum langkah-langkah lama. Ringkasan bisa kehilangan detailnya, yang merupakan salah satu alasan mengapa agen yang sudah berjalan lama bisa keluar jalur.

Sistem multi-agen

Beberapa sistem membagi pekerjaan antara beberapa agen khusus, seperti perencana, peneliti, dan peninjau. Ini dapat membantu tugas-tugas besar yang terbagi dengan rapi. Hal ini juga menambah biaya, lebih banyak kemungkinan kegagalan, dan proses debug yang lebih sulit. Cobalah agen tunggal dengan alat yang bagus terlebih dahulu, dan pisahkan hanya jika ada alasan yang jelas.

Risiko dan batasan

  • Tindakan yang salah. Kesalahan chatbot adalah kalimat yang buruk. Kesalahan agen mungkin berupa email terkirim atau catatan yang dihapus.
  • Injeksi segera. Halaman web atau email yang dibaca agen mungkin berisi instruksi tersembunyi. Perlakukan semua keluaran alat sebagai data yang tidak tepercaya, bukan sebagai perintah.
  • Kesalahan yang bertambah. Kesalahan kecil di awal dapat membawa setiap langkah selanjutnya ke arah yang salah.
  • Biaya dan latensi. Setiap langkah dapat menjadi panggilan model lain, sehingga suatu tugas mungkin jauh lebih lambat dan lebih mahal daripada satu perintah.
  • Inkonsistensi. Sasaran yang sama dapat mengambil jalur yang berbeda pada setiap proses, sehingga membuat pengujian menjadi lebih sulit.
  • Akuntabilitas. Orang-orang tetap bertanggung jawab atas apa yang dilakukan sistem, jadi simpanlah catatan.

Pagar pembatas itu penting

  1. Hak istimewa paling kecil. Berikan setiap agen hanya alat dan akses yang diperlukan.
  2. Persetujuan manusia untuk segala hal yang merugikan, tidak dapat diubah, atau bersifat eksternal, seperti yang dilakukan demo kami.
  3. Batasan keras pada langkah, waktu, dan pengeluaran.
  4. Validasi input alat dalam kode, dan jangan mengandalkan instruksi pada model.
  5. Catat setiap langkah, sehingga Anda dapat mengetahui alasan terjadinya sesuatu. Lihat pemantauan vs kemampuan observasi.
  6. Uji dengan skenario nyata, termasuk kegagalan. Periksa hasil akhir serta balasan individu. Panduan kami untuk praktik terbaik agen AI membahas lebih jauh tentang penerapan.

Kapan menggunakan agen

Gunakan agen kapan Gunakan sesuatu yang lebih sederhana saat
Langkah-langkahnya tidak bisa diketahui sebelumnya Langkah-langkahnya selalu sama
Tugas ini memerlukan beberapa alat Satu perintah dapat melakukan pekerjaan itu
Hasil mengubah apa yang terjadi selanjutnya Alur kerja tetap akan berhasil
Kesalahan itu murah, atau dapat ditinjau Kesalahan itu mahal dan sulit untuk diperbaiki

Asisten pengkodean adalah salah satu contoh paling matang saat ini, karena mereka dapat membaca file, menjalankan pengujian, melihat kegagalan, dan mencoba lagi, dengan manusia meninjau hasilnya. Rangkaian pengujian memberi mereka sinyal kesuksesan yang jelas. Panduan kami untuk rekayasa cepat juga berlaku untuk menulis instruksi agen yang baik. Mulailah dengan hal paling sederhana yang bisa berhasil, karena satu panggilan yang dilakukan dengan cepat sering kali mengalahkan agen yang rumit.

Penutup

Agen AI tidak se-misterius kedengarannya: model, beberapa alat, dan lingkaran dengan batasan. Bagian tersulitnya adalah kepercayaan, bukan kodenya. Untuk mempelajari perilakunya, ambil loop kecil kami, sambungkan ke model nyata dengan alat hanya-baca, dan lihat log saat berfungsi. Anda akan segera melihat di mana ia bersinar dan di mana ia membutuhkan manusia.

Pertanyaan yang sering diajukan

Apa itu agen AI dengan kata sederhana?

Ini adalah perangkat lunak yang bekerja untuk mencapai suatu tujuan dengan memilih tindakan, menggunakan alat, dan memeriksa hasil dalam satu putaran, daripada hanya memberikan satu balasan.

Apa perbedaan antara chatbot dan agen AI?

Chatbot terutama merespons setiap pesan. Agen dapat merencanakan beberapa langkah, memanggil alat, dan mengubah arah berdasarkan apa yang terjadi selama prosesnya.

Apakah agen AI memerlukan model bahasa yang besar?

Kebanyakan perusahaan modern menggunakan LLM untuk mengambil keputusan, meskipun gagasan yang lebih luas tentang agen perangkat lunak sudah lebih tua dan dapat menggunakan aturan atau metode AI lainnya.

Apakah agen AI aman?

Hal ini membawa risiko nyata, termasuk tindakan yang salah dan pemberian suntikan yang cepat. Batasi izin mereka, minta persetujuan untuk langkah-langkah berisiko, tetapkan batasan ketat, dan catat semuanya.

Bisakah agen AI menggantikan pengembang atau penguji?

Tidak hari ini secara umum. Mereka dapat menangani banyak tugas yang terdefinisi dengan baik, namun orang-orang masih perlu menetapkan tujuan, meninjau keluaran dan bertanggung jawab atas hasilnya.

Teruslah belajar

Bekerja dengan Stack Quora

Butuh bantuan dengan pengujian, WordPress atau SEO?

Kami membantu tim mengirimkan perangkat lunak yang lebih baik dan mengembangkan situs mereka. Beritahu kami apa yang sedang Anda kerjakan dan kami akan menyarankan langkah selanjutnya yang jelas.

Teruslah membaca

Panduan lebih lanjut tentang pengujian, AI & pengembangan modern

Menikmati artikel ini? Pilih topik dan langsung masuk ke tutorial terbaru kami.

Kecerdasan buatan

Penjelasan Halusinasi AI: Mengapa Model Bahasa Memperbaiki Masalah dan Cara Menguranginya

Halusinasi AI menjelaskan: apa itu, mengapa model bahasa memproduksinya, tipe umum, cara menguranginya dengan landasan dan petunjuk, dan pemeriksaan…

Baca artikel →
DevOps

Penjelasan Variabel Lingkungan: File .env, Rahasia, dan Konfigurasi Dilakukan dengan Benar

Variabel lingkungan dijelaskan dengan contoh Python yang kami jalankan: membaca dan mengaturnya, mengapa setiap nilai berupa string, file .env, pewa…

Baca artikel →
Pengembangan perangkat lunak

Penjelasan Pembatasan Kecepatan API: Algoritma, Header, dan Penanganan 429 Kesalahan

Pembatasan laju API dijelaskan dengan simulasi yang kami jalankan: keranjang token, jendela tetap, jendela geser, respons 429, header batas laju, pe…

Baca artikel →
Otomatisasi pengujian

Mengejek dengan Python: unittest.mock, patch dan Kesalahan yang Membuat Tes Berbohong

Mengejek dengan Python dengan unittest.mock, menguji: Mock dan return_value, side_effect, menambal di mana nama digunakan, spesifikasi dan autospec,…

Baca artikel →
Pengujian perangkat lunak

Penjelasan Cakupan Kode: Cakupan Jalur vs Cabang dan Apa Arti 100% Sebenarnya

Cakupan kode dijelaskan dengan coverage.py yang sebenarnya dijalankan: cakupan garis, cabang dan kondisi, membaca laporan, mengapa cakupan 100% masi…

Baca artikel →
Basis data & SQL

DELETE vs TRUNCATE vs DROP dalam SQL: Perbedaan, Rollback dan Kapan Menggunakan Masing-Masing

DELETE vs TRUNCATE vs DROP dijelaskan dengan SQL yang diuji: apa yang dihapus, rollback, pemicu, reset identitas, kecepatan, dan perbedaan PostgreSQ…

Baca artikel →
Basis data & SQL

Penjelasan Tampilan SQL: Membuat, Menggunakan, dan Menghindari Kesalahan, Dengan Contoh

Tampilan SQL dijelaskan dengan kueri yang kami jalankan: membuat tampilan, hasil langsung, menyembunyikan kolom, kinerja, tampilan yang dapat diperb…

Baca artikel →
Pengembangan perangkat lunak

Antarmuka TypeScript vs Tipe: Perbedaan Nyata, Diuji Dengan Kompiler

Antarmuka TypeScript vs tipe, diperiksa dengan kompiler sebenarnya: apa yang bisa dilakukan keduanya, apa yang hanya bisa dilakukan satu orang, peng…

Baca artikel →
Pengembangan perangkat lunak

Penjelasan Python *args dan **kwargs: Fungsi Fleksibel Dengan Contoh Jelas

Python *args dan **kwargs dijelaskan dengan kode yang kami jalankan: pengepakan dan pembongkaran, urutan parameter, argumen hanya kata kunci dan pos…

Baca artikel →
Pengembangan perangkat lunak

Fungsi Python Lambda: Sintaks, Kegunaan Sebenarnya, dan Kapan Tidak Digunakan

Fungsi python lambda dijelaskan dengan kode yang kami jalankan: sintaksis, pengurutan dengan kunci, peta dan filter, penutupan, jebakan pengikatan a…

Baca artikel →
Kecerdasan buatan

Apa Itu Agen AI? Cara Kerjanya, Dengan Agent Loop Sederhana yang Dapat Anda Jalankan

Apa itu agen AI? Panduan sederhana tentang loop agen, alat, memori, dan pagar pembatas, dengan loop Python kecil yang kami jalankan, risiko nyata da…

Baca artikel →
DevOps

Pemantauan vs Observabilitas: Perbedaan Nyata, Dengan Log, Metrik, dan Jejak

Penjelasan pemantauan vs observabilitas: kegagalan yang diketahui dan tidak diketahui, log, metrik dan jejak, penelusuran insiden checkout, sinyal e…

Baca artikel →
DevOps

Volume Docker vs Bind Mounts: Pertahankan Data Kontainer dengan Cara yang Benar

Volume Docker vs pengikatan pengikat dijelaskan: mengapa data kontainer menghilang, volume yang diberi nama, pengikatan pengikatan, tmpfs, contoh Tu…

Baca artikel →
Otomatisasi pengujian

TDD vs BDD: Perbedaan Utama, Satu Fitur Dibangun dengan Dua Cara dan Kapan Menggunakan Masing-masing

TDD vs BDD dijelaskan dengan satu fitur diskon yang dibuat dengan dua cara: refactor merah-hijau dengan kode yang kami jalankan, skenario Mengingat-…

Baca artikel →
Pengembangan perangkat lunak

Git merge vs rebase: perbedaan, contoh, dan kapan memakai masing-masing

Git merge vs rebase dijelaskan dengan keluaran log nyata, tabel perbandingan, aturan emas rebase, dan alur kerja tim yang aman.

Baca artikel →
Pengembangan perangkat lunak

List Comprehension Python: Sintaks, Contoh, dan Kapan Harus Dihindari

List comprehension Python dijelaskan: sintaks, filter, if-else, perulangan bersarang, waktu yang diukur, dan kapan perulangan for biasa lebih baik.

Baca artikel →
Basis data & SQL

Penjelasan SQL JOIN dengan Contoh (Inner, Left, Right, Full)

Pahami SQL JOIN langkah demi langkah dengan tabel dan query contoh: INNER, LEFT, RIGHT, FULL, CROSS, dan SELF, plus kesalahan umum dan tips performa.

Baca artikel →