AI Class

Cara Bangun AI Agent Auto-Generate Dokumentasi API dengan n8n + GPT (Tanpa Coding Berat)

· 3 menit baca

Cara Bangun AI Agent Auto-Generate Dokumentasi API dengan n8n + GPT (Tanpa Coding Berat)

Pain point: Tim developer sering terjebak menghabiskan waktu berjam‑jam menulis dokumentasi API yang selalu "out‑of‑date". Padahal dokumentasi yang up‑to‑date adalah kunci onboarding developer baru, integrasi partner, dan mengurangi tiket support.

Kenapa Pakai AI Agent + n8n?

  • n8n menyediakan orchestration visual yang mudah di‑extend dengan custom node atau HTTP request.
  • GPT (atau model LLM lain) mengerti struktur OpenAPI, bisa men‑generate deskripsi, contoh request/response, dan bahkan contoh kode dalam berbagai bahasa.
  • Gabungan keduanya memberi pipeline otomatis: setiap kali ada perubahan pada endpoint (misalnya push ke repo), AI Agent memperbarui dokumentasi dan meng‑publish ke SwaggerHub atau GitHub Pages.

Arsitektur Workflow

GitHub Push → Webhook → n8n Trigger (GitHub) →
  1. Extract diff OpenAPI (Node.js script)
  2. Call OpenAI GPT‑4o (Prompt: "Generate markdown docs for these changed paths")
  3. Merge ke file docs/README.md (File node)
  4. Commit & Push kembali (Git node)
  5. Deploy ke SwaggerHub (HTTP node) atau Netlify (Deploy node)

Diagram:

Workflow diagram

Langkah‑langkah Praktis

  1. Setup n8n
    • Deploy n8n via Docker atau Railway (free tier cukup).
    • Buat credential GitHub Personal Access Token dengan scope repo dan workflow.
    • Tambahkan credential OpenAI API Key.
  2. Buat Trigger GitHub
    • Pilih Event push pada branch main atau develop.
    • Pastikan webhook URL n8n dapat diakses publik (gunakan ngrok saat lokal).
  3. Extract perubahan OpenAPI
    • Gunakan Execute Command node dengan script Node.js singkat yang membaca git diff antara HEAD~1 dan HEAD lalu men‑filter file openapi.yaml atau *.json.
    • Output JSON berisi changedPaths (array string).
  4. Generate documentation via GPT
    • Prompt contoh:
      "Berikan dokumentasi markdown lengkap (deskripsi, parameter, contoh request & response, dan contoh kode curl) untuk endpoint berikut: {{ $json.changedPaths }}. Gunakan style yang singkat tapi jelas. Sertakan heading H3 untuk tiap endpoint."
      
    • Gunakan node OpenAI dengan model gpt-4o-mini (lebih murah) dan temperature 0.2 untuk konsistensi.
  5. Merge ke file docs
    • Gunakan Read Binary File untuk load docs/API.md.
    • Append hasil GPT ke bagian hingga .
    • Simpan kembali dengan Write Binary File.
  6. Commit & Push
    • Node Git – action commit dengan message doc: update API docs (auto).
    • Node Git – action push.
  7. Publish
    • Jika pakai SwaggerHub: HTTP POST ke https://api.swaggerhub.com/apis/{owner}/{api}/versions/{version} dengan body JSON {"swagger":"2.0","info":...} (hasil dari GPT).
    • Jika pakai static site: gunakan Deploy node ke Netlify/ Vercel.

Contoh Use Case Real

Startup e‑commerce “ShopEasy” memiliki layanan /orders, /products, dan /customers. Setiap kali tim menambah endpoint /orders/{id}/track, workflow otomatis:

  • Mendeteksi perubahan file openapi.yaml.
  • GPT men‑generate markdown:
    ### GET /orders/{id}/track
    **Deskripsi**: Mengambil status pengiriman untuk order tertentu.
    **Parameter**: `id` – UUID order.
    **Response**: `200` – `{ "status": "shipped", "eta": "2024-05-12" }`
    **Curl**:
    ```bash
    curl -X GET "https://api.shopeasy.com/orders/12345/track" -H "Authorization: Bearer $TOKEN"
    ```
  • Dokumen di‑commit otomatis, kemudian Swagger UI di‑refresh dalam hitungan detik.

Insight & Strategi

  • Prompt engineering is the secret sauce. Sertakan contoh output dalam prompt agar GPT meniru format yang diinginkan.
  • Guard rails. Tambahkan langkah validasi schema (JSON Schema validator) sebelum commit untuk menghindari dokumen yang tidak valid.
  • Cost control. Gunakan model gpt-4o-mini atau claude-3-haiku dan batch endpoint yang berubah agar token usage tetap rendah (< 0.01 USD per run).
  • Versioning. Simpan setiap generate sebagai commit terpisah, sehingga tim bisa rollback kalau ada error.
  • Human‑in‑the‑loop. Tambahkan optional approval step (Slack approval) untuk perubahan kritis sebelum push.

Penutup & Call to Action

Dengan kombinasi n8n visual orchestration dan AI Agent berbasis GPT, dokumentasi API tidak lagi menjadi beban manual. Mulailah dari setup minimal di atas, lalu iterasi dengan menambah validasi, notifikasi, atau multi‑language docs.

Ayo coba sekarang: deploy n8n, buat workflow sederhana, dan lihat dokumentasi Anda ter‑update otomatis dalam hitungan menit. Share hasilnya di komunitas JIPRAKS Classroom, siapa tahu ada yang mau kontribusi template workflow lainnya!

Artikel terkait