Zum Hauptinhalt springen
YouTube Security VideosGolemDE: Wie gut ist Deutschlands neuer Kampfjet wirklich?(03.10.2026 um 09:30 Uhr)
•••••••••
Sichere ProgrammierungHacktoberfest Weekend Challenge: Build for a Friend — SpeakMate AI(03.10.2026 um 09:25 Uhr)
•
YouTube Security VideosGolemDE: Wie gut ist Deutschlands neuer Kampfjet wirklich?(03.10.2026 um 09:30 Uhr)
•••••••••
Sichere ProgrammierungHacktoberfest Weekend Challenge: Build for a Friend — SpeakMate AI(03.10.2026 um 09:25 Uhr)
•
Intelligence View
⚡ tsecurity.de Intelligence

Cara Menguji Aplikasi LLM: Panduan Lengkap Promptfoo (2026)

TL;DR Promptfoo adalah framework evaluasi dan red-teaming LLM open-source yang membantu developer melakukan pengujian aplikasi AI secara sistematis. Mendukung…

Beitrag
0
Seite
0
↗ Quelle (dev.to)
Social ReaktionenReagiere als Erste:r — dein Feedback zählt!




TL;DR



Promptfoo adalah framework evaluasi dan red-teaming LLM open-source yang membantu developer melakukan pengujian aplikasi AI secara sistematis. Mendukung 90+ provider model, tersedia 67+ plugin serangan keamanan, dan berjalan 100% lokal untuk privasi. Sudah diunduh 1,6 juta kali di npm dan digunakan di produksi oleh perusahaan dengan 10 juta+ user—menjadi standar pengujian LLM. Mulai dengan:




npm install -g promptfoo
promptfoo init --example getting-started






Coba Apidog hari ini






Pendahuluan



Mungkin Anda sudah menghabiskan berminggu-minggu membangun chatbot customer support berbasis AI. Selama development, semua jawaban terlihat sempurna. Begitu di-launch, user mulai menemukan celah—membocorkan data sensitif, bypass limitasi keamanan, atau mendapatkan output yang tidak konsisten.



Hal ini sering terjadi. Tim sering meluncurkan aplikasi LLM hanya dengan uji manual dan feeling, baru sadar ada issue besar di production. Biaya perbaikan setelah deploy bisa 100x lipat dibanding jika ditemukan saat development.



Promptfoo hadir untuk membawa pengujian otomatis yang sistematis ke aplikasi LLM. Anda bisa evaluasi prompt di banyak model sekaligus, menjalankan penilaian red team, dan deteksi regresi sebelum user terkena dampaknya.



Saya sudah mengulas source code promptfoo (v0.121.2) dan menguji fitur utamanya. Artikel ini akan membimbing Anda: cara setup evaluasi, menjalankan security scan, integrasi dengan CI/CD, dan menghindari error umum.



Setelah mengikuti panduan ini, Anda akan punya test suite untuk aplikasi LLM sendiri dan siap deploy dengan percaya diri.




💡 Jika Anda juga menguji API atau perlu validasi perilaku API selain LLM, Apidog menyediakan platform terintegrasi untuk desain, pengujian, dan dokumentasi API. Gunakan bersama: promptfoo untuk evaluasi LLM, Apidog untuk validasi layer API.







Apa Itu Promptfoo & Mengapa Anda Butuh



Promptfoo adalah CLI tool dan library Node.js untuk evaluasi dan red-teaming aplikasi LLM. Anggap saja seperti framework pengujian khusus AI generatif.



Promptfoo



Alat pengujian konvensional gagal di LLM karena output-nya non-deterministik. Tidak bisa pakai string match eksak—prompt yang sama bisa menghasilkan jawaban berbeda. Promptfoo mengatasi dengan:





  • Assert semantik: cek makna, bukan string literal.


  • Evaluasi dinilai LLM: model lain menilai output model target.


  • Multi-model comparison: uji prompt di GPT-4, Claude, dsb.


  • Plugin security: otomatis scan kerentanan.



Promptfoo berjalan lokal. Data dan prompt pengujian Anda tidak dikirim keluar, kecuali jika Anda mengaktifkan fitur cloud. Cocok untuk data sensitif.






Problem yang Diselesaikan Promptfoo



Mayoritas tim masih uji aplikasi LLM manual. Kirim beberapa prompt, cek hasil, nilai sendiri. Tiga masalah besar:





  1. Tidak ada deteksi regresi—update model bisa rusak tanpa disadari.


  2. Cakupan tidak lengkap—manual testing kerap melewatkan edge case dan input berbahaya.


  3. Tidak ada metrik—tidak bisa tracking improvement atau bandingkan model secara objektif.



Promptfoo menggantikan itu dengan evaluasi otomatis setiap ada perubahan. Anda tentukan test case sekali, bisa dijalankan di model apapun. Hasil meliputi success rate, perbandingan cost, dan latency.






Siapa yang Pakai Promptfoo



Sudah 1,6 juta unduhan npm dan dipakai di aplikasi LLM dengan 10 juta+ user. Use case:




  • Chatbot customer support yang butuh konsistensi dan akurasi.

  • Content pipeline yang harus menjaga tone brand.

  • Aplikasi health/fintech yang wajib compliant.

  • Sistem security-sensitive yang tidak boleh bocor data atau kena serangan.



Per Maret 2026, Promptfoo diakuisisi OpenAI — tetap open-source (MIT) dan aktif dikembangkan.






Memulai: Install & Jalankan Evaluasi Pertama



Promptfoo bisa install global, atau via npx tanpa install.






Instalasi






# Install global (direkomendasikan)
npm install -g promptfoo

# Atau langsung pakai npx
npx promptfoo@latest

# Pengguna macOS: Homebrew
brew install promptfoo

# Python user
pip install promptfoo






Set API key Anda sebagai environment variable:




export OPENAI_API_KEY=sk-abc123
export ANTHROPIC_API_KEY=sk-ant-xxx









Buat Evaluasi Pertama



Inisialisasi contoh project:




promptfoo init --example getting-started
cd getting-started






Akan dibuat file promptfooconfig.yaml berisi contoh prompt, provider, dan test case.



Jalankan evaluasi:




promptfoo eval






Lihat hasil di UI web:




promptfoo view






Browser terbuka di localhost:3000—tampilkan side-by-side output tiap model, status pass/fail per assertion.






Struktur File Konfigurasi



Contoh promptfooconfig.yaml:




description: "Rangkaian Evaluasi Pertama Saya"

prompts:
- prompts/greeting.txt
- prompts/farewell.txt

providers:
- openai:gpt-4o
- anthropic:claude-sonnet-4-5

tests:
- vars:
input: "Hello"
assert:
- type: contains
value: "Hi"
- type: latency
threshold: 3000








  • prompts: file/teks yang diuji.


  • providers: model-model target (90+ didukung).


  • tests: test case dengan variable & assertion.



Skalakan hingga ratusan test case. Simpan config di version control dan jalankan otomatis di CI.






Fitur Inti Promptfoo






1. Evaluasi Otomatis



Definisikan test case + expected result, jalankan ke model pilihan.






Jenis Assertion



Promptfoo menyediakan 30+ assertion:




















































Penegasan Tujuan
contains Output mengandung substring
equals Persis sama string
regex Match regex pattern
json-schema Validasi struktur JSON
javascript Custom JS function return pass/fail
python Custom Python function
llm-rubric Penilaian output via LLM lain
similar Skor kemiripan semantik
latency Response time < threshold
cost Biaya per permintaan < threshold


Contoh assertion multi-check:




tests:
- vars:
question: "What is the capital of France?"
assert:
- type: contains
value: "Paris"
- type: javascript
value: output.length < 100
- type: latency
threshold: 2000
- type: cost
threshold: 0.001






Cocokkan ada "Paris", jawaban <100 karakter, latency <2 detik, biaya <$0.001.






Evaluasi Dengan LLM



Assertion llm-rubric untuk kriteria subjektif:




assert:
- type: llm-rubric
value: "Jawaban harus membantu, aman, dan jujur"






LLM penilai membaca output dan menilai berdasar rubric Anda.






2. Red Teaming & Pengujian Security



Promptfoo punya modul red team untuk scan keamanan otomatis.



Red Team Output






Vektor Serangan Didukung



Tersedia 67+ plugin untuk berbagai kategori:




































Kategori Diuji
Injeksi Prompt Injeksi direct/indirect/context
Jailbreak DAN, role-play bypass, persona swap
Eksfiltrasi Data SSRF, prompt leak, system prompt extract
Konten Berbahaya Hate speech, self-harm, dangerous act
Kepatuhan PII leak, HIPAA, data keuangan
Audio/Visual Serangan berbasis audio/gambar





Jalankan Scan Red Team



Inisialisasi:




promptfoo redteam init






Scan keamanan:




promptfoo redteam run






Lihat report:




promptfoo redteam report [directory]






redteam run akan:




  1. Generate attack probe sesuai aplikasi Anda.

  2. Evaluasi probe ke target & scoring kerentanan.



Output termasuk severity, test case exploitable, dan saran fix.






Contoh Output






Vulnerability Summary:
- Kritis: 2 (PII leak, prompt extraction)
- Tinggi: 5 (jailbreak, prompt injection)
- Sedang: 12 (bias, output inkonsisten)
- Rendah: 23 (minor policy violation)






Perbaiki masalah kritis sebelum deployment. Jalankan ulang setelah perbaikan.






3. Code Scan untuk Pull Request



Integrasi dengan GitHub Actions untuk scan PR terkait LLM security.




# .github/workflows/promptfoo-scan.yml
name: Promptfoo Code Scan
on: [pull_request]
jobs:
scan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '22'
- run: npm install -g promptfoo
- run: promptfoo eval -c promptfooconfig.yaml
env:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}






Menangkap:




  • API key hardcoded

  • Pola prompt tidak aman

  • Input validation yang kurang

  • Potensi prompt injection






4. Perbandingan Model



Bandingkan output banyak model untuk pilih yang terbaik.




# Evaluasi multi-provider
promptfoo eval

# Lihat di web UI
promptfoo view






Web UI tampilkan:




  • Pass/fail rate per model

  • Biaya/1000 request

  • Latency rata-rata

  • Perbedaan output



Bisa jadi model lebih murah mengalahkan GPT-4 di use case Anda.






Provider Didukung: 90+ Integrasi LLM



Promptfoo langsung support 90+ provider LLM. Uji prompt yang sama di OpenAI, Anthropic, Google, Amazon, lokal, tanpa ubah kode.






Provider Utama








































Provider Model
OpenAI GPT-4, GPT-4o, GPT-4o-mini, o1, o3
Anthropic Claude 3.5/3.7/4.5/4.6, Model pemikiran
Google Gemini 1.5/2.0, Vertex AI
Microsoft Azure OpenAI, Phi
Amazon Bedrock (Claude, Llama, Titan)
Meta Llama 3, 3.1, 3.2 (via beberapa provider)
Ollama Model lokal (Llama, Mistral, Phi)





Provider Kustom



Bisa tulis provider sendiri (Python/JS) jika model belum didukung.



Contoh Python:




# custom_provider.py
from typing import Any

class CustomProvider:
async def call_api(self, prompt: str, options: dict, context: dict) -> dict:
response = await my_async_api.generate(prompt)
return {
"output": response.text,
"tokenUsage": {
"total": response.usage.total_tokens,
"prompt": response.usage.prompt_tokens,
"completion": response.usage.completion_tokens
}
}






Contoh JavaScript:




// customProvider.js
export default class CustomProvider {
async callApi(prompt) {
return {
output: await myApi.generate(prompt),
tokenUsage: { total: 50, prompt: 20, completion: 30 }
};
}
}






Registrasi di config:




providers:
- id: file://custom_provider.py
config:
api_key: ${MY_API_KEY}









CLI Promptfoo: Perintah Utama



Promptfoo CLI menyediakan semua fungsi untuk workflow harian.






Perintah Inti






# Jalankan evaluasi
promptfoo eval -c promptfooconfig.yaml

# Web UI
promptfoo view

# Share hasil online
promptfoo share

# Red team test
promptfoo redteam init
promptfoo redteam run

# Konfigurasi
promptfoo init
promptfoo validate [config]

# Manajemen hasil
promptfoo list
promptfoo show <id>
promptfoo delete <id>
promptfoo export <id>

# Utilitas
promptfoo cache clear
promptfoo retry <id>









Bendera Berguna






--no-cache              # Disable cache
--max-concurrency <n> # Batasi paralel API call
--output <file> # Simpan hasil ke JSON
--verbose # Debug log
--env-file <path> # Load env dari file
--filter <pattern> # Jalankan test case spesifik









Contoh Evaluasi Custom






promptfoo eval \
-c promptfooconfig.yaml \
--no-cache \
--max-concurrency 3 \
--output results.json \
--env-file .env






Jalankan evaluasi fresh, concurrency max 3, hasil ke JSON, API key dari .env.






Integrasi CI/CD: Otomatisasi Pengujian LLM



Integrasikan promptfoo di pipeline CI/CD untuk deteksi regresi sebelum deploy.






Contoh GitHub Actions






# .github/workflows/promptfoo-scan.yml
name: Promptfoo Code Scan
on: [push, pull_request]
jobs:
eval:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '22'
- run: npm install -g promptfoo
- run: promptfoo eval -c promptfooconfig.yaml
env:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}









Quality Gate



Set threshold di config:




commandLineOptions:
threshold: 0.8 # Wajib pass rate 80%






Jika gagal, CI akan error dan mencegah merge.






Caching di CI



Aktifkan cache untuk percepat CI:




- uses: actions/cache@v4
with:
path: ~/.cache/promptfoo
key: ${{ runner.os }}-promptfoo-${{ hashFiles('promptfooconfig.yaml') }}






Cache lewati API call jika test belum berubah.






Web UI: Visualisasi & Kolaborasi



Web UI (promptfoo view) = interface interaktif untuk review evaluasi.






Fitur





  • Matriks evaluasi: side-by-side output model


  • Filter: temukan test case spesifik


  • Diff view: bandingkan eksekusi


  • Share: bagikan link untuk review tim


  • Live update: lihat evaluasi real-time






Akses & Keamanan



UI default di localhost:3000. Sudah ada proteksi CSRF via header. Jangan expose server ke jaringan tidak tepercaya. Untuk kolaborasi tim, pakai promptfoo share atau self-host dengan auth.






Database & Caching






Lokasi Cache





  • macOS/Linux: ~/.cache/promptfoo


  • Windows: %LOCALAPPDATA%\promptfoo



Cache hasil evaluasi untuk percepat pengujian. Pakai --no-cache jika ingin hasil fresh.






Lokasi Database





  • Semua platform: ~/.promptfoo/promptfoo.db (SQLite)



Database menyimpan histori eksekusi evaluasi.






Model Security Promptfoo



Promptfoo pakai model trust-by-configuration.






Input Tepercaya (Dieksekusi)




  • File konfigurasi (promptfooconfig.yaml)

  • Assertion JS/Python/Ruby custom

  • Config provider

  • Fungsi transformasi






Input Tidak Tepercaya (Hanya Data)




  • Teks prompt

  • Variabel test case

  • Output model

  • Konten remote






Rekomendasi Hardening



Untuk security tinggi:




  1. Jalankan di container/VM dengan privilege minimal.

  2. Pakai API key khusus dengan minim privilege.

  3. Jangan masukkan secrets di prompt/config.

  4. Batasi network untuk kode pihak ketiga.

  5. Jangan expose web server ke publik.






Optimasi Kinerja Evaluasi






Tips Optimasi





  1. Gunakan cache—default sudah aktif.


  2. Atur concurrency—pakai --max-concurrency agar tidak kena rate limit.


  3. Filter test—pakai --filter saat develop.


  4. Sample dataset—gunakan subset sebelum full run.






Skala Evaluasi Besar



Untuk ribuan test case:




  • Gunakan scheduler (src/scheduler/) untuk distribusi

  • Manfaatkan remote generation

  • Ekspor hasil ke Google Sheets untuk monitoring tim






Ekstensibilitas: Fitur Kustom






Assertion Kustom



Tulis assertion custom untuk domain-spesifik:




// assertions/customCheck.js
export default function customCheck(output, context) {
const pass = output.includes('expected');
return {
pass,
score: pass ? 1 : 0,
reason: pass ? 'Output matched' : 'Missing expected content'
};
}






Pakai di config:




assert:
- type: file://assertions/customCheck.js









Model Context Protocol (MCP) Server



Promptfoo include server MCP untuk integrasi dengan AI assistant (Claude Code, dsb):




promptfoo mcp






Fungsinya:




  • Jalankan evaluasi dari chat

  • Akses modul red team

  • Query hasil tersimpan

  • Generate test case baru






Studi Kasus Dunia Nyata






Chatbot Customer Support



Perusahaan SaaS uji chatbot support sebelum deploy:




  • 500 test case FAQ

  • Evaluasi di GPT-4 & Claude

  • Red team scan untuk PII leak & jailbreak

  • CI block deployment jika gagal evaluasi



Hasil: Masalah customer turun 90% setelah otomatis evaluasi.






Content Generation Pipeline



Tim marketing validasi konten AI untuk konsistensi brand:




  • Evaluasi LLM untuk tone/style

  • Threshold latency untuk speed

  • Monitoring biaya

  • Model comparison untuk value terbaik



Hasil: Brand voice konsisten, biaya API turun 40%.






Aplikasi Kesehatan



Startup healthtech pastikan compliance:




  • Red team scan untuk HIPAA

  • Assertion custom cek akurasi medis

  • Semua evaluasi lokal (privasi)

  • Audit trail untuk regulasi



Hasil: Lolos audit SOC 2 dengan bukti promptfoo.






Kesimpulan



Promptfoo membawa pengujian sistematis ke aplikasi LLM. Tidak lagi manual, rawan error, atau regression tidak terdeteksi—semua otomatis dan measurable.



Hal penting:




  • Install dengan npm install -g promptfoo, mulai dengan promptfoo init

  • Gunakan assertion untuk validasi output lebih dari sekadar string match

  • Jalankan red team scan untuk deteksi security issue

  • Integrasi CI/CD untuk block regression

  • Bandingkan model secara objektif

  • Provider & assertion custom untuk use case spesifik



Masa depan AI development adalah data-driven. Dengan promptfoo, Anda punya alat untuk build, test, dan secure aplikasi LLM pada skala produksi.



Jika Anda juga mengelola API, gunakan Apidog bersama promptfoo. Apidog meng-handle desain, pengujian, dan dokumentasi API; promptfoo fokus evaluasi LLM. Kombinasi keduanya mencakup seluruh stack testing aplikasi modern.






FAQ






Untuk apa promptfoo digunakan?



Promptfoo untuk uji dan evaluasi aplikasi LLM: menjalankan tes otomatis, membandingkan output antar model, serta melakukan penilaian red team untuk deteksi celah keamanan.






Apakah promptfoo gratis?



Ya, promptfoo open-source (MIT). Gratis untuk personal dan komersial. Fitur cloud & enterprise support mungkin berbayar.






Bagaimana cara install promptfoo?






npm install -g promptfoo






atau




npx promptfoo@latest






macOS: brew install promptfoo, Python: pip install promptfoo.






Model apa saja yang didukung promptfoo?



90+ provider LLM: OpenAI (GPT-4, GPT-4o, o1), Anthropic (Claude 3.5/4/4.5), Google (Gemini), Microsoft (Azure OpenAI), Amazon Bedrock, Ollama (model lokal), dsb.






Bagaimana menjalankan red team scan?






promptfoo redteam init
promptfoo redteam run
promptfoo redteam report









Bisa pakai promptfoo di CI/CD?



Bisa. Install promptfoo di pipeline CI, jalankan promptfoo eval dengan config Anda. Set threshold untuk block PR jika pass rate kurang.






Apakah promptfoo kirim data saya ke server eksternal?



Tidak. Promptfoo default 100% lokal. Prompt/data testing tidak keluar mesin Anda kecuali Anda aktifkan fitur cloud.






Bagaimana cara membandingkan model dengan promptfoo?



List beberapa provider di config, jalankan promptfoo eval. Bandingkan di web UI (promptfoo view)—lihat pass/fail, cost, latency per model.

🔍 CTI & Forensik

Cyber Threat Intelligence & Forensik

ATT&CK-Navigator · IoC-Radar · Exploit-Belege
MITRE ATT&CK Matrix Navigator
Enterprise-Matrix · nur belegte Techniken
14 Taktiken
1 belegte Technik
T1190TA0001 · Initial Access
Exploit Public-Facing Application
Mitigation: M1042 Network Segmentation & WAF Rule Enforcement
Quelle: Kontext-Klassifikation des Artikeltextes
Reconnaissance
Resource Development
Initial Access
Execution
Persistence
Privilege Escalation
Defense Evasion
Credential Access
Discovery
Lateral Movement
Collection
Command and Control
Exfiltration
Impact
CTI Threat Relationship Graph
Akteure · Techniken · Beziehungen
7 Knoten · 6 Relationen
CVE / Incident Threat Actor Software MITRE ATT&CK CWE Weakness IoC
Ähnliche Beiträge
🔍 Verwandte News

Auch interessante Nachrichten Cara Menguji Aplikasi LLM: Panduan Lengkap Promptfoo (2026)

Thematisch verwandte Begriffe: Cara, Menguji, Aplikasi, Panduan · 6 Treffer

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

💬 Kommentare werden geladen…
Zum Aktualisieren ziehen
Nächster Beitrag