AI Engineering: Disiplin Baru di Era Agentic AI
AI Engineering mulai muncul sebagai disiplin baru di persimpangan antara software engineering, machine learning, dan arsitektur sistem.
Selama beberapa tahun terakhir, membangun aplikasi AI sering kali cukup sederhana: menghubungkan aplikasi ke API LLM, membuat prompt, lalu menampilkan hasilnya kepada pengguna.
Pendekatan tersebut masih berguna untuk banyak kasus.
Namun, AI kini berkembang menjadi sesuatu yang jauh lebih kompleks.
AI tidak lagi hanya menjawab pertanyaan.
AI mulai mampu menggunakan tools, membaca data, menjalankan kode, mengakses API, mengambil keputusan, dan menyelesaikan pekerjaan dalam beberapa langkah secara mandiri.
Dengan perubahan tersebut, tantangan engineering juga berubah.
Kita tidak lagi sekadar membangun software dengan AI.
Kita mulai membangun software di sekitar AI sebagai komponen aktif dalam sistem.
Dari Aplikasi LLM Menjadi Sistem AI
Generasi awal aplikasi AI biasanya memiliki arsitektur sederhana:
Pengguna
│
▼
Aplikasi
│
▼
LLM
│
▼
Respons
Aplikasi mengirimkan prompt ke model dan menampilkan hasilnya.
Namun, aplikasi AI modern semakin terlihat seperti ini:
┌──────────────┐
│ Pengguna │
└──────┬───────┘
│
▼
┌─────────────────┐
│ AI Agent │
└────────┬────────┘
│
┌────────────────┼────────────────┐
▼ ▼ ▼
Pengetahuan Tools Memori
│ │ │
▼ ▼ ▼
RAG / DB API / Kode State
│
▼
Sistem Eksternal
Model tidak lagi hanya menghasilkan teks.
Model menjadi komponen yang dapat mengambil keputusan dalam sebuah sistem software.
Dan perubahan ini membawa konsekuensi besar terhadap cara kita merancang aplikasi.
Apa Itu AI Engineering?
Belum ada satu definisi universal mengenai AI Engineering.
Namun secara praktis, AI Engineering dapat dipahami sebagai:
Disiplin untuk merancang, membangun, mengevaluasi, menjalankan, dan mengoperasikan sistem software yang sebagian perilakunya dikendalikan oleh model AI.
AI Engineering menggabungkan beberapa disiplin:
- Software engineering
- Machine learning
- Data engineering
- Distributed systems
- Infrastruktur
- Keamanan
- Observability
- Evaluasi AI
Seorang software engineer tradisional mungkin bertanya:
"Bagaimana saya membuat fungsi ini berjalan secara deterministik dan dapat diprediksi?"
AI engineer memiliki pertanyaan tambahan:
"Bagaimana saya membangun sistem di sekitar komponen yang hasilnya bersifat probabilistik?"
Perbedaan ini sangat penting.
Software Deterministik Bertemu Software Probabilistik
Software tradisional umumnya bekerja seperti ini:
Input → Fungsi → Output
Dengan input yang sama, kita biasanya mengharapkan output yang sama.
AI berbeda:
Input
│
▼
Model
│
▼
Output Probabilistik
Model dapat menghasilkan respons yang berbeda meskipun input-nya sangat mirip.
Hal ini menciptakan tantangan engineering baru.
Bayangkan sebuah sistem customer service.
Persyaratannya:
"Kembalikan uang pelanggan jika memenuhi syarat."
Pada software tradisional, aturan dapat ditulis secara eksplisit:
if order.age <= 30:
refund(order)
Namun AI agent mungkin menerima permintaan:
"Saya beli tiga minggu lalu dan kemarin barangnya tiba-tiba rusak. Apakah saya bisa mendapatkan uang saya kembali?"
Agent harus:
- Memahami permintaan.
- Mengambil kebijakan refund.
- Memeriksa informasi transaksi.
- Menentukan apakah pelanggan memenuhi syarat.
- Memanggil API refund jika diperlukan.
Masalahnya bukan lagi sekadar bagaimana menulis kode.
Masalahnya adalah bagaimana mengendalikan perilaku AI.
Lapisan AI Engineering
Sistem AI modern dapat dilihat sebagai beberapa lapisan.
┌─────────────────────────────┐
│ User Experience │
├─────────────────────────────┤
│ Agent / Workflow │
├─────────────────────────────┤
│ Tools & Integrations │
├─────────────────────────────┤
│ Memory / Context / RAG │
├─────────────────────────────┤
│ Model Layer │
├─────────────────────────────┤
│ Infrastructure & Runtime │
├─────────────────────────────┤
│ Security / Observability │
└─────────────────────────────┘
Setiap lapisan membawa masalah engineering-nya sendiri.
Model Layer
Pertanyaan yang muncul antara lain:
- Model mana yang harus digunakan?
- Seberapa besar model yang dibutuhkan?
- Apakah model dijalankan sendiri atau melalui API?
- Bagaimana menangani perubahan versi model?
- Apa yang terjadi jika provider mengubah perilaku model?
Context Layer
Model membutuhkan informasi untuk bekerja dengan baik.
Informasi tersebut bisa berasal dari:
- RAG
- Vector database
- Search
- Dokumen
- Conversation history
- Database
- API eksternal
Tool Layer
Agent semakin sering berinteraksi dengan sistem eksternal.
Misalnya:
- GitHub
- Database
- CRM
- Sistem pembayaran
- Cloud infrastructure
- Browser
- Internal API
Di sinilah AI menjadi sangat powerful sekaligus berpotensi berbahaya.
Agent Layer
Agent menentukan:
Apa yang harus saya lakukan?
↓
Tools mana yang harus digunakan?
↓
Informasi apa yang saya butuhkan?
↓
Apakah saya perlu melanjutkan?
↓
Apakah hasilnya sudah cukup baik?
Ini sangat berbeda dengan API tradisional yang hanya mengikuti alur request dan response.
AI Agent Mengubah Arsitektur Software
Aplikasi konvensional mungkin memiliki alur:
HTTP Request
↓
Business Logic
↓
Database
↓
Response
Aplikasi berbasis agent dapat memiliki alur:
Permintaan Pengguna
↓
Agent
↓
Reasoning
↓
Pemilihan Tool
↓
Eksekusi Tool
↓
Observasi
↓
Reasoning
↓
Tool Berikutnya
↓
Validasi
↓
Respons
Agent dapat menjalankan banyak langkah sebelum memberikan jawaban.
Hal ini menghasilkan kelas masalah engineering baru.
Bagaimana jika agent memilih tool yang salah?
Bagaimana jika agent memanggil API yang sama berkali-kali?
Bagaimana jika agent salah memahami instruksi?
Bagaimana jika tool mengembalikan konten berbahaya?
Bagaimana jika agent memiliki akses terhadap data yang sebenarnya tidak diperlukan?
Pertanyaan-pertanyaan tersebut bukan lagi sekadar kemungkinan.
Itu adalah bagian dari desain sistem.
AI Engineering Adalah Tentang Kontrol
Salah satu kesalahpahaman terbesar dalam pengembangan AI adalah anggapan bahwa model yang lebih pintar otomatis menghasilkan aplikasi yang lebih baik.
Tidak selalu.
Model yang sangat kuat sekalipun dapat menghasilkan aplikasi buruk jika sistem di sekelilingnya dirancang dengan buruk.
Tantangan utama AI Engineering adalah membangun kontrol di sekitar model.
Misalnya:
┌───────────────┐
│ Model │
└───────┬───────┘
│
┌──────────┴──────────┐
▼ ▼
Input Controls Output Controls
│ │
▼ ▼
Policy / Rules Validation
│ │
└──────────┬──────────┘
▼
Application
Kontrol tersebut dapat berupa:
- Validasi input
- Structured output
- Pembatasan akses tools
- Rate limit
- Guardrails
- Human approval
- Validasi output
- Sandboxing
- Logging
- Evaluasi
Model memberikan kecerdasan.
Engineering memberikan kontrol.
Munculnya AI Evaluation
Salah satu bagian terpenting dari AI Engineering juga merupakan bagian yang sering diabaikan:
evaluasi.
Software tradisional memiliki automated test.
Input → Fungsi → Expected Output
AI lebih sulit diuji karena beberapa output berbeda dapat sama-sama benar.
Misalnya:
Pertanyaan:
"Bagaimana cara mengganti password?"
Ada banyak jawaban yang benar.
Karena itu sistem AI membutuhkan kriteria evaluasi seperti:
- Akurasi
- Relevansi
- Kelengkapan
- Keamanan
- Pemilihan tool
- Kepatuhan terhadap instruksi
- Latensi
- Biaya
Siklus pengembangannya menjadi:
Build
↓
Evaluate
↓
Temukan Kegagalan
↓
Perbaiki
↓
Evaluate Lagi
Dalam AI Engineering, evaluasi semakin menjadi bagian dari proses development itu sendiri.
Observability untuk AI
Observability pada software tradisional biasanya berfokus pada:
- CPU
- Memory
- Latency
- Error
- Request
- Database performance
Sistem AI membutuhkan telemetry tambahan.
Misalnya:
Request
↓
Prompt
↓
Model
↓
Tool Call
↓
Tool Result
↓
Model Call Kedua
↓
Final Response
Engineer harus dapat memahami keseluruhan rantai tersebut.
Beberapa metrik yang penting antara lain:
- Penggunaan token
- Latensi model
- Latensi tools
- Biaya per request
- Kualitas retrieval
- Tingkat keberhasilan agent
- Jumlah tool call
- Failure rate
- Tingkat hallucination
- Jumlah intervensi manusia
Tanpa observability yang baik, mencari tahu mengapa AI melakukan sesuatu dapat menjadi sangat sulit.
Keamanan Menjadi Masalah yang Berbeda
Memberikan akses database kepada AI agent tidak sama dengan memberikan akses database kepada aplikasi biasa.
Mengapa?
Karena AI agent memahami instruksi menggunakan bahasa natural.
Hal tersebut menciptakan attack surface baru.
Misalnya:
Pengguna
↓
Agent
↓
Tool
↓
Database
Penyerang dapat mencoba memanipulasi agent agar menggunakan tool dengan cara yang tidak seharusnya.
Salah satu contoh paling terkenal adalah prompt injection.
Masalahnya semakin kompleks ketika agent dapat membaca konten eksternal.
Agent
↓
Web Page
↓
Instruksi Berbahaya
↓
Agent Menginterpretasikan Instruksi
↓
Tool Execution
Halaman web seharusnya hanya menjadi data.
Namun model dapat menginterpretasikan sebagian data tersebut sebagai instruksi.
Batas antara data dan instruksi menjadi semakin kabur.
Karena itu, security tidak bisa lagi menjadi sesuatu yang ditambahkan setelah agent selesai dibuat.
Security harus menjadi bagian dari arsitektur sejak awal.
MCP dan Ekosistem Tools untuk AI
Perkembangan lain yang penting adalah munculnya standar untuk menghubungkan AI dengan tools dan sumber data eksternal.
Salah satu yang paling banyak dibicarakan adalah Model Context Protocol (MCP).
Konsep dasarnya cukup sederhana:
AI Application
│
▼
MCP
│
┌────────────┼────────────┐
▼ ▼ ▼
Database GitHub Search
Dengan pendekatan ini, aplikasi AI dapat berinteraksi dengan berbagai tools melalui antarmuka yang lebih terstandarisasi.
Namun muncul pertanyaan baru:
Jika AI dapat terhubung ke banyak hal, siapa yang menentukan apa yang boleh diaksesnya?
Pertanyaan ini kembali membawa kita kepada prinsip utama AI Engineering:
Kemampuan harus selalu diimbangi dengan kontrol.
Peran Baru AI Engineer
Software engineer tradisional biasanya fokus pada:
Code
Architecture
Database
API
Infrastructure
Testing
AI engineer perlu memperhatikan hal-hal tambahan:
Models
Prompts
Context
Tools
Agents
Evals
Observability
Security
Cost
Human-in-the-loop
Skill yang dibutuhkan menjadi semakin luas.
Seorang AI engineer tidak harus menjadi peneliti machine learning.
Namun, ia harus memahami bagaimana model bekerja dan bagaimana membangun sistem yang dapat diandalkan di sekitarnya.
AI Engineering vs Machine Learning Engineering
Keduanya saling berhubungan, tetapi bukan hal yang sama.
| Machine Learning Engineering | AI Engineering |
|---|---|
| Melatih model | Mengintegrasikan model |
| Feature engineering | Context engineering |
| Optimasi model | Optimasi agent |
| Training pipeline | AI workflow |
| Model serving | Model + tool orchestration |
| ML metrics | AI evaluation |
| Dataset quality | Context quality |
| Model performance | System performance |
ML engineer dapat membangun model.
AI engineer membangun sistem yang menggunakan model tersebut.
Keduanya sama-sama penting.
Pergeseran Terbesar dalam Software Engineering
Perubahan terbesar mungkin bukan masalah teknis.
Melainkan cara kita memandang software.
Selama puluhan tahun, software dibangun terutama berdasarkan logika deterministik:
IF kondisi ini
THEN lakukan itu
AI memperkenalkan paradigma baru:
Dengan konteks yang tersedia,
tentukan tindakan yang paling sesuai.
Software dapat bekerja pada tingkat abstraksi yang lebih tinggi.
Developer tidak selalu perlu menentukan setiap kemungkinan jalur secara eksplisit.
Sebaliknya, developer dapat menentukan:
- Tujuan
- Constraint
- Tools
- Policy
- Context
- Evaluation criteria
Kemudian membiarkan model menentukan sebagian langkah di antaranya.
Inilah salah satu janji terbesar dari agentic software.
Namun sekaligus menjadi alasan mengapa AI Engineering menjadi semakin penting.
Stack Software Baru
Stack software di era AI kemungkinan akan semakin terlihat seperti ini:
Applications
│
▼
AI Agents
│
┌────────┴────────┐
▼ ▼
Tools Memory
│ │
└────────┬────────┘
▼
Context Layer
│
▼
AI Models
│
▼
AI Infrastructure
│
▼
Security / Evals / Observability
Model hanyalah salah satu komponen.
Produk sebenarnya adalah seluruh sistem yang dibangun di sekelilingnya.
Apa yang Perlu Dipelajari Developer?
Jika Anda seorang software engineer yang ingin masuk ke dunia AI, Anda tidak perlu mempelajari semuanya sekaligus.
Roadmap yang praktis bisa dimulai dari:
1. Memahami fundamental LLM
Pelajari:
- Token
- Context window
- Temperature
- Embedding
- Structured output
- Function/tool calling
2. Mempelajari RAG
Pahami:
- Chunking
- Embedding
- Retrieval
- Vector database
- Reranking
- Context construction
3. Belajar menggunakan tools
Hubungkan AI dengan:
- API
- Database
- Git repository
- File
- Search
- External services
4. Membangun AI agent
Pelajari:
- Tool selection
- State
- Planning
- Memory
- Agent loop
- Failure handling
5. Belajar melakukan evaluasi
Buat dataset yang merepresentasikan perilaku pengguna nyata dan ukur:
- Akurasi
- Reliability
- Safety
- Cost
- Latency
6. Mempelajari AI security
Setidaknya pahami:
- Prompt injection
- Excessive permissions
- Data leakage
- Tool abuse
- Sandboxing
- Secrets management
7. Mempelajari observability
Anda harus mampu menjawab satu pertanyaan sederhana:
"Mengapa agent melakukan itu?"
Pertanyaan tersebut akan menjadi semakin penting.
Masa Depan Ada pada System Builder
Industri AI sering kali terlalu fokus pada model.
Model mana yang paling pintar?
Model mana yang paling cepat?
Model mana yang paling murah?
Semua pertanyaan tersebut penting.
Tetapi dari perspektif engineering, ada pertanyaan yang mungkin lebih penting:
Apa yang bisa kita bangun di sekitar model tersebut?
Generasi software berikutnya mungkin tidak hanya terdiri dari aplikasi yang memiliki chatbot.
AI dapat menjadi bagian aktif dari workflow.
AI melakukan riset.
AI menulis kode.
AI menganalisis data.
AI menjalankan tools.
AI memonitor sistem.
AI berkolaborasi dengan agent lain.
Manusia secara bertahap dapat bergeser dari melakukan setiap langkah menjadi menentukan tujuan, constraint, dan pengawasan.
Di sinilah AI Engineering menjadi penting.
Keunggulan kompetitif mungkin tidak hanya ditentukan oleh siapa yang memiliki model terbaik.
Bisa jadi keunggulan justru dimiliki oleh siapa yang mampu membangun sistem paling reliable di sekitar model tersebut.
Penutup
Era AI tidak menghilangkan software engineering.
Sebaliknya, AI membuat software engineering menjadi semakin kompleks.
Kita sekarang membangun sistem di mana sebagian logikanya bersifat probabilistik, antarmukanya dapat menggunakan bahasa natural, software dapat mengambil keputusan, dan komponen otonom dapat berinteraksi dengan dunia nyata.
Inilah yang melahirkan disiplin baru:
AI Engineering.
AI Engineering bukan sekadar tentang membuat AI menjadi lebih pintar.
AI Engineering adalah tentang membuat AI menjadi:
- berguna
- dapat diandalkan
- dapat diamati
- aman
- dapat dikendalikan
Dan pada akhirnya, mungkin inilah yang membedakan antara demo AI yang mengesankan dengan software AI yang benar-benar dapat dipercaya.
Published by Nirantara
Nirantara is an Indonesian Enterprise AI company specializing in Enterprise AI, RAG, Intelligent Search, and AI Automation. Article written by jsturana.