Bangun Agen AI yang Berfungsi: Glosarium Praktis
Apa itu agen AI sebenarnya, bagaimana perbedaannya dari chatbot, dan komponen yang kamu butuhkan untuk membangun satu yang bekerja.
Agen AI adalah program yang menerima tujuan, memutuskan urutan tindakan, dan menjalankan tindakan tersebut menggunakan tools hingga tujuan tercapai atau menyerah. Itu berbeda dari chatbot, yang hanya merespons pesan. Agen merencanakan, memanggil fungsi, memeriksa hasil, dan menyesuaikan. Jika kamu hanya pernah menggunakan ChatGPT melalui browser, membangun agen pertamamu adalah saat model berhenti menjadi generator teks dan mulai menjadi komponen dalam sistem yang lebih besar.
Loop inti
Setiap agen, tidak peduli bagaimana dipasarkan, menjalankan beberapa versi dari loop yang sama: amati, pikirkan, bertindak, ulangi. Secara konkret:
- Agen menerima tugas ("temukan penerbangan termurah ke Lisbon bulan depan dan buat ringkasan email").
- Agen memanggil LLM dengan tugas plus deskripsi tools yang tersedia.
- Model mengembalikan jawaban akhir atau panggilan tool, seperti
search_flights(destination="Lisbon", month="2025-06"). - Kode kamu menjalankan fungsi tersebut, mendapat hasil nyata, dan memasukkannya kembali ke konteks model.
- Model memutuskan apa yang harus dilakukan selanjutnya: memanggil tool lain, meminta klarifikasi, atau menyelesaikan.
Pola ini sering disebut loop ReAct (reason plus act), dan ini adalah tulang punggung framework seperti agent executors LangChain, agents LlamaIndex, dan function-calling API OpenAI. Kamu bisa mengimplementasikan semuanya sendiri dalam kurang dari 100 baris Python dengan hanya LLM API dan while loop — framework menambah kenyamanan, bukan keajaiban.
Tools adalah yang membuatnya menjadi agen
Model tanpa tools hanya bisa berbicara. Berikan fungsi dan itu bisa bertindak. Tools biasanya fungsi Python biasa yang dibungkus dengan schema yang menjelaskan nama, parameter, dan tujuan mereka, sehingga model tahu kapan dan bagaimana memanggilnya. Contoh:
def get_weather(city: str) -> str:
"""Return current weather for a given city."""
resp = requests.get(f"https://api.weather.example/v1/{city}")
return resp.json()["summary"]
Dengan function-calling OpenAI, kamu meneruskan schema JSON bersama fungsi ini, dan model mengeluarkan panggilan terstruktur seperti {"name": "get_weather", "arguments": {"city": "Lisbon"}} alih-alih teks bebas. Kode kamu menguraikan itu, menjalankan fungsi nyata, dan mengembalikan hasilnya sebagai pesan baru dalam percakapan. Ulangi sampai model memiliki cukup informasi untuk menjawab.
Memori dan state
Satu panggilan API tidak memiliki memori di luar jendela konteksnya. Agen membutuhkan state eksplisit: daftar pesan yang berjalan (riwayat percakapan), dan sering kali penyimpanan terpisah untuk fakta jangka panjang. Untuk tugas pendek, list Python dari dicts yang mewakili percakapan sudah cukup. Untuk agen yang perlu mengingat hal-hal di seluruh sesi, kamu akan memilih vector database (Chroma, Pinecone, Qdrant) untuk menyimpan dan mengambil informasi masa lalu yang relevan melalui embeddings.
Jangan over-engineer ini lebih awal. Jumlah proyek "agen" yang mengejutkan gagal bukan karena LLM lemah tetapi karena state management tidak rapi: pesan duplikat, pertumbuhan konteks yang tak terbatas, atau kehilangan jejak panggilan tool mana yang milik hasil mana.
Contoh kerja minimal
Ini adalah bentuk agen bare-bones menggunakan OpenAI API, tanpa framework:
messages = [{"role": "user", "content": "What's the weather in Lisbon?"}]
while True:
response = client.chat.completions.create(
model="gpt-4o",
messages=messages,
tools=[weather_tool_schema],
)
msg = response.choices[0].message
if msg.tool_calls:
for call in msg.tool_calls:
result = get_weather(**json.loads(call.function.arguments))
messages.append(msg)
messages.append({
"role": "tool",
"tool_call_id": call.id,
"content": result,
})
else:
print(msg.content)
break
Itu adalah agen yang nyata dan berfungsi. Semuanya — strategi perencanaan, koordinasi multi-agen, pipeline retrieval — dibangun di atas loop ini.
Di mana itu gagal
Agen gagal dengan cara yang dapat diprediksi: loop panggilan tool tak terbatas saat model tidak bisa mengatakan berhasil, argumen fungsi yang terhalu, dan biaya yang melonjak dari memanggil ulang tools yang mahal. Lindungi terhadap loop dengan batas iterasi keras (katakanlah, 10 langkah) dan catat setiap panggilan tool selama pengembangan. Validasi argumen sebelum menjalankan apa pun yang menyentuh sistem nyata — agen yang bisa mengirim email atau menjalankan perintah shell membutuhkan sanitasi input yang sama dengan kode yang menghadap pengguna, karena LLM, pada dasarnya, adalah pengguna yang tidak tepercaya menghasilkan input itu.
Ke mana selanjutnya
Setelah loop bekerja, masalah menarik dimulai: memilih antara desain single-agent dan multi-agent, memutuskan berapa banyak autonomy yang akan diberikan, dan menguji agen dengan andal saat outputnya tidak deterministik. Track AI dan Python Korra Studio mencakup retrieval-augmented generation, desain prompt, dan pola tool-calling dengan lebih mendalam jika kamu ingin terus membangun dari sini.
Ditulis dengan bantuan AI, ditinjau dan dipublikasikan oleh Michal Pilch (CISSP), Korra Studio.
Ini satu catatan dari basis pengetahuan Korra Studio — platform ini memasangkan setiap topik dengan bimbingan privat.
Mulai gratisarrow_forward