Langsung ke konten
Muhammad Septian
Semua proyek

sparks

Backend yang mengubah LLM apa pun menjadi keputusan bertipe (ya/tidak, pilihan, skor) dari satu forward pass, tanpa teks yang perlu di-parse.

Tahun
2026
Dibangun dengan
Go, Python, Docker, LLM
Tautan

Kebanyakan “keputusan” dari LLM berupa teks yang harus di-parse, dan kita hanya bisa berharap hasilnya valid. sparks melewati teks sepenuhnya. Hanya ada satu endpoint, POST /v1/decide: kirim sebuah state beserta pertanyaan bertipe yang diberi nama, lalu dapatkan satu jawaban terkalibrasi untuk setiap pertanyaan, lengkap dengan distribusi probabilitasnya. Tidak ada teks yang dihasilkan selain label jawaban, sehingga token output berkurang sekitar 99%.

Tipe pertanyaan

Tipe Cara penilaian Jawaban
noul Ya/Tidak, dinilai dalam dua urutan lalu dirata-rata P(ya), dari 0 sampai 1
choice Opsi diberi label A..Z, urutannya dirotasi lalu dirata-rata untuk menghilangkan bias posisi Opsi yang terpilih
score Rubrik berurutan dipetakan ke label dalam satu forward pass Level rubrik yang diharapkan

Cara kerja

Alih-alih menghasilkan teks, sparks membaca log-probability token label jawaban (A, B, C, …) dari satu forward pass ke backend bergaya OpenAI (/v1/chat/completions) yang mengembalikan logprobs. Setiap distribusi di-scale dengan temperatur yang dikalibrasi per pertanyaan, dan confidence adalah probabilitas label terbaik.

Format request dan response mengikuti primitif Typesafe (instructions + criteria).

Batasan

Backend harus lolos pengecekan 30 detik: satu panggilan logprobs wajib mengembalikan distribusi. Model reasoning yang menyembunyikan logprobs, atau berpikir dulu sebelum mengeluarkan label, tidak bisa dipakai.