Membuat AI Agent yang Bisa Bekerja Otomatis

Membuat AI Agent yang Bisa Bekerja Otomatis

Membuat AI Agent yang Bisa Bekerja Otomatis

Pendahuluan

AI Agent merupakan program yang dapat memproses input, menghasilkan keputusan, dan mengeksekusi aksi tanpa intervensi manusia. Tutorial ini menjelaskan cara membangun agen otomatis berbasis model bahasa besar (LLM) dan menghubungkannya dengan layanan AI populer seperti ChatGPT Plus, Claude Pro, atau Gemini Advanced. Arsitektur singkat:

User Input → LLM (ChatGPT/Claude/Gemini) → Decision Engine → Action Executor (API/Webhook) → Result

Prasyarat & Persiapan

Langkah Demi Langkah

Step 1 – Siapkan Lingkungan Virtual

# Clone repository contoh
git clone https://github.com/jartekindo/ai-agent-template.git
cd ai-agent-template

# Buat dan aktifkan virtualenv
python3 -m venv venv
source venv/bin/activate

# Install dependencies
pip install -r requirements.txt

Step 2 – Konfigurasi API Key

Buat file .env di root proyek dengan format berikut:

LLM_PROVIDER=chatgpt   # pilihan: chatgpt, claude, gemini
CHATGPT_API_KEY=your_chatgpt_api_key
CLAUDE_API_KEY=your_claude_api_key
GEMINI_API_KEY=your_gemini_api_key
WEBHOOK_URL=https://example.com/webhook

Pastikan file .env tidak di‑commit ke repository (git add .gitignore).

Step 3 – Implementasi Decision Engine

File engine.py berisi logika keputusan. Contoh sederhana menggunakan prompt engineering:

import os
import openai  # untuk ChatGPT
from dotenv import load_dotenv

load_dotenv()

def get_response(prompt: str) -> str:
    provider = os.getenv("LLM_PROVIDER")
    if provider == "chatgpt":
        client = openai.ChatCompletion()
        resp = client.create(
            model="gpt-4o",
            messages=[{"role": "user", "content": prompt}],
            temperature=0.2,
        )
        return resp.choices[0].message.content.strip()
    # Tambahkan cabang untuk Claude & Gemini sesuai dokumentasi masing‑masing
    raise ValueError(f"Provider {provider} tidak didukung")

def decide_action(user_input: str) -> dict:
    prompt = (
        "Kamu adalah AI Agent yang membantu mengelola tugas harian. "
        "Berikan JSON dengan dua field: 'action' (create_ticket, send_email, atau noop) dan 'payload' (objek terkait). "
        f"Input pengguna: '{user_input}'"
    )
    raw = get_response(prompt)
    try:
        return json.loads(raw)
    except Exception as e:
        # fallback ke noop jika parsing gagal
        return {"action": "noop", "payload": {}}

Step 4 – Eksekusi Aksi via Webhook

import requests

def execute(action: dict):
    url = os.getenv("WEBHOOK_URL")
    response = requests.post(url, json=action)
    response.raise_for_status()
    return response.json()

if __name__ == "__main__":
    user_input = input("Masukkan perintah: ")
    decision = decide_action(user_input)
    result = execute(decision)
    print("Result:", result)

Step 5 – Deploy ke Production

  1. Dockerize aplikasi:
FROM python:3.11-slim
WORKDIR /app
COPY . /app
RUN pip install --no-cache-dir -r requirements.txt
ENV PYTHONUNBUFFERED=1
CMD ["python", "engine.py"]
  1. Push ke registry dan jalankan di VPS atau layanan kontainer (DigitalOcean App Platform, AWS ECS, dll.).
  2. Gunakan HTTPS pada WEBHOOK_URL dan aktifkan autentikasi token.

Tips Optimasi & Keamanan

Troubleshooting Error Umum

Error Penyebab Solusi
401 Unauthorized pada LLM API API key tidak valid atau kadaluarsa Periksa kembali nilai di .env, regen API key di dashboard layanan.
json.decoder.JSONDecodeError LLM mengembalikan teks bukan JSON Tambahkan instruksi eksplisit di prompt: "Berikan output dalam format JSON yang valid".
requests.exceptions.ConnectionError Webhook tidak reachable Pastikan URL mengarah ke endpoint yang dapat diakses publik, periksa firewall/VPC.
Latency > 5 s Model terlalu besar atau jaringan lambat Ganti ke model yang lebih ringan (mis. gpt-3.5-turbo) atau gunakan Perplexity Pro sebagai fallback.

Kesimpulan

Tutorial ini menunjukkan cara membangun AI Agent otomatis dengan Python, menghubungkan ke layanan LLM terkemuka, dan menyiapkan pipeline produksi yang aman serta dapat di‑scale. Dengan menambahkan caching, monitoring, dan CI/CD, agen siap di‑integrasikan ke workflow bisnis apa pun.

🏷️ Topik Terkait: