Apa Itu AI Agent? Arsitektur & Tutorial Python

Apa Itu AI Agent? Arsitektur & Tutorial Python
info Dokumentasi materi: Apa Itu AI Agent? Arsitektur & Tutorial Python

AI Agent adalah sistem perangkat lunak yang mengamati keadaan, memilih tindakan, menggunakan alat yang diizinkan, dan mengevaluasi hasil untuk mencapai tujuan. Tutorial ini menjelaskan teori, arsitektur, keamanan, dan contoh implementasi Python yang dapat diuji secara lokal.

Cover artikel AI Agent: observe, plan, use tools, evaluate
Cover artikel AI Agent: observe, plan, use tools, evaluate

Pendahuluan

Chatbot umumnya memberikan jawaban. Agen dapat melanjutkan tugas menjadi beberapa tindakan terkontrol. Contoh: permintaan “cek keterlambatan proyek dan buat laporan” memerlukan pembacaan dataset, perhitungan tenggat, pemilihan prioritas, dan penyajian hasil. Tidak semua agen bersifat otonom penuh; banyak sistem membutuhkan izin pengguna dan batas eksekusi.

Teori Intelligent Agent dan PEAS

Menurut kerangka Artificial Intelligence: A Modern Approach, agen mengamati lingkungan melalui sensor dan memengaruhinya melalui aktuator. Rational agent memilih tindakan yang diharapkan memaksimalkan ukuran kinerja berdasarkan observasi dan pengetahuannya. PEAS mencakup Performance (ketepatan laporan), Environment (file CSV proyek), Actuators (fungsi analisis dan keluaran), dan Sensors (input pengguna serta data tugas).

Agent reaktif menggunakan aturan kondisi–aksi; model-based agent menyimpan gambaran keadaan; goal-based agent mempertimbangkan tujuan; utility-based agent menimbang preferensi atau biaya; learning agent memperbaiki perilaku dari pengalaman. LLM-based agent dapat menggunakan model bahasa untuk interpretasi, perencanaan, atau pemilihan tool, tetapi tetap memerlukan mekanisme kontrol dan validasi.

Interaksi agen dengan environment: observe, state, decide, act
Interaksi agen dengan environment: observe, state, decide, act

AI Agent vs Chatbot

Perbedaan chatbot AI assistant dan AI Agent
Perbedaan chatbot AI assistant dan AI Agent
AspekChatbotAssistantAI Agent
FokusRespons dialogMembantu pekerjaanMenyelesaikan tujuan melalui tindakan
ToolOpsionalSering tersediaDipilih atau diorkestrasi sesuai tugas
State/memoryKonteks percakapanDapat persistenState tugas dan hasil tool
PlanningTidak wajibOpsionalDapat menjadi komponen inti
OtonomiRendah–bervariasiBervariasiBervariasi, dibatasi kebijakan
OversightPenggunaPenggunaPersetujuan tindakan berisiko

Agentic AI adalah istilah payung bagi sistem AI yang memiliki perilaku berorientasi tujuan dan tindakan. Multi-agent melibatkan beberapa agen yang berkoordinasi. Batas istilah tidak sepenuhnya seragam di semua publikasi atau produk.

Arsitektur Berlapis

Arsitektur AI Agent berlapis: UI, controller, model, tools, validator
Arsitektur AI Agent berlapis: UI, controller, model, tools, validator

Lapisan interaksi menerima pesan dan mengidentifikasi intent. Orchestrator mengatur state, kebijakan, batas iterasi, dan pemilihan langkah. Model keputusan dapat berupa aturan deterministik atau LLM. Tool registry menyediakan fungsi yang diizinkan; execution environment menjalankan fungsi itu dengan batas akses. Data/RAG mengambil fakta dari sumber terotorisasi; memory menyimpan state tugas; validator memeriksa keluaran; observability merekam jejak operasi.

Input dan output antar lapisan harus terstruktur. Risiko utama mencakup intent yang salah, argumen tool tidak valid, data kedaluwarsa, pengungkapan informasi, dan eksekusi berulang. Pada MVP, komponen wajib adalah input, router, tools, validator, dan output; LLM, RAG, memory persisten, dan MCP bersifat opsional.

Siklus Kerja dan Sequence

Siklus observe plan act evaluate
Siklus observe plan act evaluate

Alur: User Goal → Observe → Decide/Plan → Select Tool → Execute → Receive Result → Update State → Evaluate → Respond/Continue. Pada permintaan laporan proyek, agen membaca CSV, menentukan fungsi analisis, menghitung task terlambat, memvalidasi data, lalu menampilkan hasil. Agen berhenti ketika hasil memadai, input tidak valid, terjadi error fatal, atau batas iterasi tercapai. Tindakan destruktif harus meminta persetujuan manusia.

Sequence tool calling dari user hingga validator
Sequence tool calling dari user hingga validator

Sequence konseptual: User mengirim permintaan → Agent meminta keputusan LLM (bila diaktifkan) → Agent memanggil Tool Executor → Executor membaca Data Source → Result Validator memeriksa hasil → Agent menjawab. Catatan: kode MVP di bawah memakai routing deterministik, bukan pemilihan tool oleh LLM.

Teknologi Pendukung

Relasi state, knowledge retrieval, tool registry, dan feedback
Relasi state, knowledge retrieval, tool registry, dan feedback

ReAct memadukan penalaran dan tindakan dalam jejak interaksi. Function calling memungkinkan model mengusulkan pemanggilan fungsi dalam skema tertentu, tetapi aplikasi tetap harus memvalidasi dan mengeksekusinya. Structured output menegakkan bentuk data seperti JSON. Short-term memory menyimpan konteks sesi; long-term memory menyimpan informasi lintas sesi dengan kebijakan retensi. RAG mengambil dokumen relevan sebelum generasi. MCP menstandarkan integrasi sumber konteks dan tools; MCP bukan sinonim agen dan tidak wajib. Workflow orchestration mengatur tahapan, sedangkan multi-agent coordination membagi peran. Human-in-the-loop menyediakan persetujuan; observability dan evaluasi mengukur hasil aktual.

Framework dan Tools

TeknologiKegunaan / batasanDokumentasi
PythonRuntime, CSV, unit test; perlu desain orkestrasi sendiriPython Docs
OllamaMenjalankan model lokal; kualitas dan fitur tergantung modelOllama Docs
LangGraphWorkflow/state graph; menambah kompleksitasLangGraph
CrewAIOrkestrasi agen dan tugas; memerlukan konfigurasiCrewAI
AutoGenEksperimen multi-agent; cek status versi sebelum adopsiAutoGen
OpenAI Agents SDKAgent orchestration dan tracing; integrasi API tergantung penyediaAgents SDK
MCP Python SDKServer/client MCP; bukan framework agent lengkapMCP SDK

Untuk pembelajaran pertama, Python standar lebih mudah diaudit. Instalasi setiap framework, persyaratan versi, dan lisensi perlu diperiksa di repositori resminya sebelum digunakan dalam produk.

Studi Kasus Task Management

Arsitektur studi kasus Task Management AI Agent
Arsitektur studi kasus Task Management AI Agent

Proyek membaca enam task CSV, mengidentifikasi keterlambatan, menyusun prioritas berdasarkan priority → impact → due date, menghitung statistik, dan membuat laporan. Kode menyediakan list_tasks, overdue_tasks, priority_tasks, weekly_tasks, project_report, dan find_task. Data tidak dimodifikasi. Logging merekam tool dan argumen. Ollama opsional dipakai sebagai peringkas, bukan pemilih tool.

Tutorial Python 18 Langkah

Flowchart implementasi: load, validate, analyze, summarize, log
Flowchart implementasi: load, validate, analyze, summarize, log

Langkah 1 — Instal Python

Pasang Python 3.10+ dari python.org lalu periksa versi.

python3 --version

Checkpoint: langkah 1 berhasil jika perintah selesai tanpa error yang tidak ditangani; bila gagal, cek path, versi Python, environment, dan service yang relevan.

Langkah 2 — Instal Ollama (opsional)

Unduh dari situs resmi; jalankan service lokal.

ollama --version

Checkpoint: langkah 2 berhasil jika perintah selesai tanpa error yang tidak ditangani; bila gagal, cek path, versi Python, environment, dan service yang relevan.

Langkah 3 — Pilih model

Contoh model lokal untuk peringkasan; cek ketersediaan dan kapasitas RAM.

ollama pull qwen2.5:3b

Checkpoint: langkah 3 berhasil jika perintah selesai tanpa error yang tidak ditangani; bila gagal, cek path, versi Python, environment, dan service yang relevan.

Langkah 4 — Buat folder

Ekstrak ZIP paket dan masuk ke direktori proyek.

cd ai-agent-ariqcahya

Checkpoint: langkah 4 berhasil jika perintah selesai tanpa error yang tidak ditangani; bila gagal, cek path, versi Python, environment, dan service yang relevan.

Langkah 5 — Virtual environment

Isolasi dependensi agar tidak mengganggu proyek lain.

python3 -m venv .venv
source .venv/bin/activate

Checkpoint: langkah 5 berhasil jika perintah selesai tanpa error yang tidak ditangani; bila gagal, cek path, versi Python, environment, dan service yang relevan.

Langkah 6 — Instal dependensi

Paket contoh memakai pustaka standar; requirements tersedia untuk ekspansi.

python -m pip install -r requirements.txt

Checkpoint: langkah 6 berhasil jika perintah selesai tanpa error yang tidak ditangani; bila gagal, cek path, versi Python, environment, dan service yang relevan.

Langkah 7 — Siapkan dataset

Periksa data/tasks.csv dan kolom id,title,due_date,priority,status,owner,impact.

head -n 4 data/tasks.csv

Checkpoint: langkah 7 berhasil jika perintah selesai tanpa error yang tidak ditangani; bila gagal, cek path, versi Python, environment, dan service yang relevan.

Langkah 8 — Bangun tools

Fungsi read_tasks dan execute dalam src/agent.py memvalidasi dataset.

python -c "from src.agent import read_tasks; print(len(read_tasks()))"

Checkpoint: langkah 8 berhasil jika perintah selesai tanpa error yang tidak ditangani; bila gagal, cek path, versi Python, environment, dan service yang relevan.

Langkah 9 — Buat controller

Fungsi route mengubah permintaan menjadi tool dan argumen yang diizinkan.

python -c "from src.agent import route; print(route('cek task terlambat'))"

Checkpoint: langkah 9 berhasil jika perintah selesai tanpa error yang tidak ditangani; bila gagal, cek path, versi Python, environment, dan service yang relevan.

Langkah 10 — Integrasi model

Mode --ollama merangkum hasil tool; tidak melakukan autonomous function calling.

python -m src.agent --ollama

Checkpoint: langkah 10 berhasil jika perintah selesai tanpa error yang tidak ditangani; bila gagal, cek path, versi Python, environment, dan service yang relevan.

Langkah 11 — State dan memory

Sesi CLI menyimpan konteks input saat berjalan; tidak ada memory persisten.

python -m src.agent

Checkpoint: langkah 11 berhasil jika perintah selesai tanpa error yang tidak ditangani; bila gagal, cek path, versi Python, environment, dan service yang relevan.

Langkah 12 — Validasi

Periksa schema CSV, ID task, panjang input, dan allowlist tools.

python -m unittest discover -s tests -v

Checkpoint: langkah 12 berhasil jika perintah selesai tanpa error yang tidak ditangani; bila gagal, cek path, versi Python, environment, dan service yang relevan.

Langkah 13 — Logging dan error

Baca execution.log untuk jejak pemanggilan fungsi.

cat execution.log

Checkpoint: langkah 13 berhasil jika perintah selesai tanpa error yang tidak ditangani; bila gagal, cek path, versi Python, environment, dan service yang relevan.

Langkah 14 — Jalankan

Mulai CLI; ketik keluar untuk berhenti.

python -m src.agent

Checkpoint: langkah 14 berhasil jika perintah selesai tanpa error yang tidak ditangani; bila gagal, cek path, versi Python, environment, dan service yang relevan.

Langkah 15 — Percakapan

Coba enam pertanyaan yang ditunjukkan pada bagian berikut.

python -m src.agent

Checkpoint: langkah 15 berhasil jika perintah selesai tanpa error yang tidak ditangani; bila gagal, cek path, versi Python, environment, dan service yang relevan.

Langkah 16 — Unit/integration test

Jalankan tes; contoh ini menguji routing, perhitungan, dan keamanan allowlist.

python -m unittest discover -s tests -v

Checkpoint: langkah 16 berhasil jika perintah selesai tanpa error yang tidak ditangani; bila gagal, cek path, versi Python, environment, dan service yang relevan.

Langkah 17 — Evaluasi

Bandingkan hasil aktual dengan expected output untuk tanggal acuan.

python -m unittest discover -s tests -v

Checkpoint: langkah 17 berhasil jika perintah selesai tanpa error yang tidak ditangani; bila gagal, cek path, versi Python, environment, dan service yang relevan.

Langkah 18 — Ekspansi

Tambahkan state persisten, API, RAG, MCP, atau tool calling LLM setelah kontrol dasar stabil.

python -m src.agent

Checkpoint: langkah 18 berhasil jika perintah selesai tanpa error yang tidak ditangani; bila gagal, cek path, versi Python, environment, dan service yang relevan.

Kode inti controller (cuplikan)

def run(message, today=None, use_llm=False):
    if not message.strip():
        raise ValueError('Input kosong')
    tool, args = route(message)
    result = execute(tool, args, today)
    return {'tool': tool, 'arguments': args, 'result': result}

Implementasi lengkap dan dapat diuji tersedia di file src/agent.py dalam ZIP pendamping. Gunakan kode tersebut sebagai sumber utama, bukan cuplikan ringkas di atas.

Enam Simulasi Percakapan

Interaksi 1

Pengguna: Tampilkan seluruh task proyek dan statusnya

Interpretasi: menganalisis data proyek. Tool: list_tasks. Argumen: {}. Hasil simulasi: 6 task dengan status todo, in_progress, dan done. Keputusan dibuat oleh router berbasis aturan, kemudian hasil berasal dari fungsi Python. Ini adalah ilustrasi yang konsisten dengan dataset, bukan transkrip LLM langsung.

Interaksi 2

Pengguna: Identifikasi pekerjaan yang melewati deadline

Interpretasi: menganalisis data proyek. Tool: overdue_tasks. Argumen: {}. Hasil simulasi: Pada 31 Oktober 2026: T01, T03, T06. Keputusan dibuat oleh router berbasis aturan, kemudian hasil berasal dari fungsi Python. Ini adalah ilustrasi yang konsisten dengan dataset, bukan transkrip LLM langsung.

Interaksi 3

Pengguna: Urutkan pekerjaan berdasarkan tingkat urgensi dan dampaknya

Interpretasi: menganalisis data proyek. Tool: priority_tasks. Argumen: {}. Hasil simulasi: Urutan dimulai dari high priority dengan impact tertinggi. Keputusan dibuat oleh router berbasis aturan, kemudian hasil berasal dari fungsi Python. Ini adalah ilustrasi yang konsisten dengan dataset, bukan transkrip LLM langsung.

Interaksi 4

Pengguna: Buat rekomendasi pekerjaan yang harus diselesaikan minggu ini

Interpretasi: menganalisis data proyek. Tool: weekly_tasks. Argumen: {}. Hasil simulasi: Task aktif terlambat atau jatuh tempo ≤7 hari. Keputusan dibuat oleh router berbasis aturan, kemudian hasil berasal dari fungsi Python. Ini adalah ilustrasi yang konsisten dengan dataset, bukan transkrip LLM langsung.

Interaksi 5

Pengguna: Buat ringkasan status proyek dalam format Markdown

Interpretasi: menganalisis data proyek. Tool: project_report. Argumen: {}. Hasil simulasi: Total 6; selesai 1; aktif 5; terlambat 3. Keputusan dibuat oleh router berbasis aturan, kemudian hasil berasal dari fungsi Python. Ini adalah ilustrasi yang konsisten dengan dataset, bukan transkrip LLM langsung.

Interaksi 6

Pengguna: Tampilkan task T99

Interpretasi: mencari task spesifik. Tool: find_task. Argumen: {"id":"T99"}. Hasil simulasi: Error terstruktur: Task tidak ditemukan. Keputusan dibuat oleh router berbasis aturan, kemudian hasil berasal dari fungsi Python. Ini adalah ilustrasi yang konsisten dengan dataset, bukan transkrip LLM langsung.

Evaluasi dan Testing

Indikator evaluasi task success, tool accuracy, latency, safety
Indikator evaluasi task success, tool accuracy, latency, safety

Ukur task completion rate = tugas selesai / tugas diuji; tool selection accuracy = tool benar / seluruh keputusan; tool execution success = pemanggilan sukses / total panggilan; response correctness = jawaban benar / seluruh jawaban. Tambahkan latency p50/p95, jumlah iterasi, error recovery, reproducibility, human intervention rate, serta kelengkapan audit log.

TestExpectedMetode
Overdue pada 2026-10-31T01,T03,T06Unit test
Task T99Not foundUnit test
Tool delete_tasksDitolakUnit test
Input kosongDitolakUnit test
LLM summaryFakta sesuai JSONReview manual, belum otomatis

Misal 18 dari 20 tugas berhasil, task completion rate = 90%. Skor bahasa yang fasih tidak membuktikan bahwa tindakan tool benar; evaluasi harus memeriksa hasil eksternal dan keamanan secara terpisah.

Keamanan

Prompt injection dapat menyusup lewat dokumen atau keluaran tool; jangan jadikan konten sumber sebagai instruksi tingkat sistem. Tool misuse dan excessive permissions ditangani dengan allowlist, least privilege, dan human approval untuk tindakan destruktif. Hallucination dikurangi dengan hasil tool terstruktur dan pemeriksaan fakta. Data leakage membutuhkan redaksi, kontrol akses, serta batas penyimpanan log. Unsafe execution memerlukan sandbox dan validasi argumen. Infinite loops dicegah dengan batas langkah, timeout, serta anggaran token/biaya. Audit log harus dilindungi dari modifikasi dan kebocoran data.

Contoh proyek bersifat read-only, membatasi nama tool, dan membatasi endpoint Ollama ke localhost. Ini belum merupakan sistem enterprise yang sudah diaudit keamanan secara menyeluruh.

Pengembangan Lanjutan

Roadmap yang masuk akal: (1) SQLite/PostgreSQL untuk state persisten dan audit; (2) RAG dengan indeks dokumen proyek; (3) MCP server untuk integrasi GitHub atau task tracker; (4) workflow multi-agent dengan pemisahan planner, executor, reviewer; (5) kontrol akses organisasi, approval, dan observability; (6) task-centric intelligent interface yang menyatukan tindakan lintas aplikasi. Seluruh fitur tersebut adalah rencana pengembangan, bukan fitur MVP saat ini.

FAQ

Apakah AI Agent harus memakai LLM?

Tidak. Agen klasik dapat menggunakan aturan atau model keputusan lain.

Apakah chatbot sama dengan AI Agent?

Tidak selalu; chatbot dapat menjadi antarmuka agen, tetapi tidak otomatis menjalankan tindakan.

Apakah Ollama gratis?

Ollama dapat dijalankan lokal; periksa lisensi setiap model yang diunduh.

Apakah perlu GPU?

Tidak selalu; model kecil dapat berjalan di CPU dengan performa lebih lambat.

Apakah MCP wajib?

Tidak. MCP hanya salah satu standar integrasi.

Apa beda RAG dan memory?

RAG mengambil informasi relevan dari sumber; memory mempertahankan state atau informasi pengalaman.

Apakah contoh ini autonomous agent?

Tidak. Routing tool deterministik dan model opsional hanya merangkum.

Bagaimana mengukur keberhasilan?

Ukur hasil tugas dan pemanggilan tool, bukan hanya kualitas kalimat.

Bagaimana mengamankan agen?

Gunakan allowlist, least privilege, validasi, sandbox, batas iterasi, dan approval.

Bisakah diintegrasikan ke GitHub?

Bisa melalui API atau MCP dengan izin terkontrol; belum diimplementasikan di MVP.

Kesimpulan: AI Agent adalah pola sistem yang menghubungkan tujuan, observasi, keputusan, tindakan, dan evaluasi. Mulailah dari tools teruji dan aturan aman sebelum menambahkan otonomi LLM, RAG, atau multi-agent.

Referensi

  1. Russell & Norvig, Artificial Intelligence: A Modern Approach, 4th ed.
  2. Yao et al. (2023), ReAct: Synergizing Reasoning and Acting in Language Models
  3. Lewis et al. (2020), Retrieval-Augmented Generation
  4. Model Context Protocol — official documentation
  5. Ollama API documentation
  6. OWASP Top 10 for LLM Applications