DIPERBARUI: 2026-11-06
[A1-M1]Pemula⏱ 25 Mnt Baca + 35 Mnt Praktik

Anatomi LLM & Siklus Hidup AI Agent

Membongkar Perbedaan Fundamental antara Model Bahasa Pasif dan Agen Otonom Berulang

BAGIKAN MODUL:
💬WHATSAPP
[KONTRAK HASIL BELAJAR // A1-M1]Standar Kompetensi Industri
⏱ 25 Mnt Baca•⚡ 35 Mnt Praktik•Lulus: ≥ 80/100 Poin

01. Target Pembelajar & Prasyarat

Developer pemula-menengah dan praktisi yang ingin memahami arsitektur agen di balik antarmuka obrolan.

02. Kompetensi Konseptual (Level 1–2)

  • ✓Membedakan sifat stateless dari pemanggilan API LLM biasa dengan arsitektur loop berkeadaan (stateful agent loop).
  • ✓Menjelaskan 5 tahapan siklus hidup agen: Persepsi, Perencanaan, Tindakan, Observasi, dan Refleksi.

03. Kompetensi Praktis & Artefak Nyata (Level 3–4)

  • ✓Membangun loop eksekusi agen minimal di Node.js menggunakan array messages yang dipertahankan lintas putaran.
  • ✓Menginspeksi payload HTTP request dan response token pada setiap iterasi agen.
Artefak yang Dibangun: Skrip Node.js `minimal-agent-loop.mjs` yang menjalankan siklus penalaran hingga kondisi berhenti terpenuhi.

04. Aplikasi Nyata & Verifikasi

Penerapan Industri: Pondasi utama seluruh bot operasional, periset otomatis, dan asisten kerja terprogram.

Metode Verifikasi: Menjalankan skrip pengujian terminal dan memverifikasi jejak array messages pada setiap putaran.

[BAGIAN 01 // MASALAH & URGENSI ARSITEKTURAL]

Mengapa Subjek Ini Krusial dalam Rekayasa Nyata?

Pelajari mengapa Large Language Model (LLM) murni bersifat stateless dan bagaimana siklus Perceive–Plan–Act–Observe–Reflect mengubahnya menjadi agen otonom.

Dalam lingkungan produksi, kegagalan memahami batas-batas arsitektur sistem sering kali menyebabkan bug yang sulit dilacak, pemborosan biaya komputasi, atau antarmuka yang lambat bagi pengguna.

[BAGIAN 02 // MEKANISME DI BALIK LAYAR]

Bagaimana Sistem Sebenarnya Bekerja di Tingkat Protokol

Hakikat Prediksi Token: Mengapa LLM Bersifat Stateless

Ketika Anda berinteraksi dengan model AI melalui antarmuka apa pun, mudah sekali terbawa ilusi bahwa Anda sedang berbicara dengan entitas yang memiliki ingatan berkesinambungan. Namun di tingkat protokol jaringan, setiap kali Anda memicu pembuatan teks, yang terjadi hanyalah sebuah HTTP POST request tunggal ke endpoint seperti `/v1/chat/completions`.

Server model menerima array pesan teks, mengubahnya menjadi token angka, menghitung distribusi probabilitas token berikutnya, dan mengalirkan token kembali ke klien. Begitu respons selesai dikirim, memori GPU server model tidak menyimpan catatan apa pun tentang percakapan Anda. Jika aplikasi Anda tidak mengirimkan kembali riwayat tersebut pada request berikutnya, model akan merespons seolah-olah ia baru pertama kali bertemu Anda.

PRINSIP ARSITEKTUR // STATELESS ENGINE

Large Language Model adalah mesin inferensi murni tanpa state. Tanggung jawab manajemen konteks, persistensi riwayat, dan logika iterasi 100% berada di tangan aplikasi host Anda.

Siklus 5 Langkah: Mengubah Generator Teks Menjadi Agen

Untuk mengubah mesin prediksi token menjadi agen yang mampu menyelesaikan tugas nyata, kita membungkus LLM di dalam sebuah kontrol loop terprogram yang dikenal sebagai Siklus Otonom:

1. Persepsi (Perceive): Menerima input pengguna dan membaca lingkungan saat ini (state).

2. Perencanaan (Plan): Meminta model menyusun langkah atau memilih fungsi yang harus dijalankan.

3. Tindakan (Act): Menjalankan kode atau memanggil API eksternal berdasarkan instruksi model.

4. Observasi (Observe): Menangkap hasil dari tindakan tersebut (data, error, atau status).

5. Refleksi (Reflect): Mengevaluasi apakah tugas sudah selesai atau memerlukan putaran tindakan baru.

[DIAGRAM TEKNIS SVG INTERAKTIF // DIAG-03]

Alur Arsitektur Sistem Otonom & Runtime

LANGKAH 1 DARI 4
ENTITAS AKTIF:User -> Sistem
01
02
03
04

Pesan bahasa alami diterima melalui antarmuka web atau webhook chat.

[LIVE PAYLOAD INSPECTOR]JSON 2026
{
  "input": "Berapa estimasi biaya pembuatan landing page bisnis?"
}
[BAGIAN 03 // MATRIKS KESALAHPAHAMAN]

Koreksi Asumsi Umum vs Realitas Rekayasa

×ASUMSI KELIRU

“LLM mengingat riwayat percakapan secara mandiri di cloud.”

✓REALITAS SISTEM

LLM murni sepenuhnya stateless. Setiap putaran baru mewajibkan aplikasi kita mengirimkan ulang seluruh riwayat messages[] dari awal.

×ASUMSI KELIRU

“Chatbot biasa dan AI Agent adalah hal yang sama.”

✓REALITAS SISTEM

Chatbot biasa hanya melakukan satu kali request-response (Single-Turn). AI Agent memiliki loop yang menjalankan alat, membaca observasi, dan merencanakan langkah berikutnya secara mandiri.

[BAGIAN 04 // LABORATORIUM PRAKTIS & KODE]

Implementasi Langkah-demi-Langkah

Hasil akhir yang diharapkan: Sebuah program CLI Node.js yang mengeksekusi simulasi perburuan data hingga tujuan tercapai dalam maksimal 5 putaran.

STRUKTUR PROYEK DIREKOMENDASIKAN:
lab-a1-m1/
└── minimal-agent-loop.mjs

1Membuat Skrip Agent Loop Minimal

Kode di bawah ini mendemonstrasikan bagaimana loop `while` mengendalikan percakapan dan mengevaluasi status tujuan.

minimal-agent-loop.mjs•javascript
✓Tested Successfully
LINGKUNGAN TERUJI: Node.js v20.10.055 BARIS KODE
1// minimal-agent-loop.mjs
2// Status: ✓ Tested Successfully (Node.js v20+)
3
4async function simulasiKognisiLLM(messages) {
5 const turnCount = messages.filter(m => m.role === 'assistant').length + 1;
6 if (turnCount === 1) {
7 return {
8 role: 'assistant',
9 content: 'RENCANA: Saya perlu memeriksa status server terlebih dahulu.',
10 actionNeeded: 'CHECK_SERVER_STATUS'
11 };
12 } else if (turnCount === 2) {
13 return {
14 role: 'assistant',
15 content: 'RENCANA: Server aktif. Sekarang saya akan mengambil metrik beban CPU.',
16 actionNeeded: 'FETCH_CPU_LOAD'
17 };
18 } else {
19 return {
20 role: 'assistant',
21 content: 'SELESAI: Seluruh metrik telah dikumpulkan. Server dalam kondisi prima (CPU 14%).',
22 actionNeeded: null // Selesai
23 };
24 }
25}
26
27async function jalankanAgentLoop(tugasAwal) {
28 const MAX_TURNS = 5;
29 const messages = [
30 { role: 'system', content: 'Anda adalah agen audit infrastruktur otomatis.' },
31 { role: 'user', content: tugasAwal }
32 ];
33
34 console.log('[AGENT HOST] Memulai tugas:', tugasAwal);
35
36 for (let turn = 1; turn <= MAX_TURNS; turn++) {
37 console.log(`\n--- Putaran Kognitif #${turn} ---`);
38 const respons = await simulasiKognisiLLM(messages);
39 messages.push({ role: 'assistant', content: respons.content });
40 console.log('[AGENT ASSISTANT]:', respons.content);
41
42 if (!respons.actionNeeded) {
43 console.log('\n[AGENT HOST] Tujuan tercapai secara mandiri!');
44 return;
45 }
46
47 // Melakukan Tindakan & Observasi
48 console.log(`[WORKER ACTION] Mengeksekusi: ${respons.actionNeeded}`);
49 const hasilObservasi = `Status untuk ${respons.actionNeeded}: OK (Timestamp: ${Date.now()})`;
50 messages.push({ role: 'system', content: `OBSERVASI: ${hasilObservasi}` });
51 console.log('[HOST OBSERVATION]:', hasilObservasi);
52 }
53}
54
55jalankanAgentLoop('Periksa kesehatan server produksi Z-Automation');
KEPUTUSAN ARSITEKTURAL UTAMA:
• Membatasi eksekusi dengan MAX_TURNS = 5: Mencegah tagihan token membengkak atau konsumsi CPU tak berujung saat model mengalami hallucination loop.
PERINTAH EKSEKUSI TERMINAL:
$ node minimal-agent-loop.mjs
OUTPUT YANG DIHARAPKAN:
[AGENT HOST] Memulai tugas: Periksa kesehatan server produksi Z-Automation

--- Putaran Kognitif #1 ---
[AGENT ASSISTANT]: RENCANA: Saya perlu memeriksa status server terlebih dahulu.
[WORKER ACTION] Mengeksekusi: CHECK_SERVER_STATUS
[HOST OBSERVATION]: Status untuk CHECK_SERVER_STATUS: OK

--- Putaran Kognitif #2 ---
[AGENT ASSISTANT]: RENCANA: Server aktif. Sekarang saya akan mengambil metrik beban CPU.
[WORKER ACTION] Mengeksekusi: FETCH_CPU_LOAD
[HOST OBSERVATION]: Status untuk FETCH_CPU_LOAD: OK

--- Putaran Kognitif #3 ---
[AGENT ASSISTANT]: SELESAI: Seluruh metrik telah dikumpulkan. Server dalam kondisi prima (CPU 14%).

[AGENT HOST] Tujuan tercapai secara mandiri!
[BAGIAN 05 // PANDUAN TROUBLESHOOTING & TANTANGAN]

Mengantisipasi Masalah Umum & Tantangan Ekstensi

Pesan Error: SyntaxError: Cannot use import/export
Penyebab: Ekstensi file .js tanpa type: module di package.json
Solusi Eksak: Gunakan ekstensi file .mjs atau tambahkan "type": "module" di package.json.
⚡ TANTANGAN EKSTENSI MANDIRI:

Modifikasi fungsi simulasiKognisiLLM agar mampu menangani error acak pada tindakan FETCH_CPU_LOAD dan melakukan percobaan ulang.

[RUBRIK EVALUASI KOMPETENSI 100 POIN // A1-M1]

Uji Kompetensi Mandiri & Verifikasi Hasil

Standar kelulusan Z-Automation mewajibkan skor minimum 80 / 100 Poin dengan komponen Implementasi Praktis minimal 21 / 35 Poin (60%). Jawab soal diagnostik dan centang hasil pengujian praktis Anda.

BAGIAN A // PERTANYAAN DIAGNOSTIK KONSEPTUAL & TEKNIS (40 POIN)

01.Mengapa Large Language Model (LLM) murni disebut sebagai sistem yang 'stateless'?

02.Apa konsekuensi fatal jika sebuah program agent loop tidak memiliki batas maksimum putaran (MAX_TURNS)?

BAGIAN B // DAFTAR PERIKSA HASIL IMPLEMENTASI PRAKTIS (35 POIN — MIN. 21 POIN)

Centang item di bawah ini hanya jika Anda telah menjalankan kode di komputer Anda dan mengamati output yang benar:

Lanjutkan Menggulir
untuk Eksplorasi
Edukasi & Lab
Halaman Selanjutnya