Agen 🇷🇺 04.08.2026 05:01

Developer Membangun Framework Berbasis FSM untuk Membuat Chatbot LLM Mengikuti Skrip Secara Andal dan Murah

Seorang developer menjelaskan pembuatan library open-source khusus yang memaksa chatbot berbasis LLM untuk mengikuti skrip dialog yang telah ditentukan secara ketat dengan menggabungkan finite state machine dengan model bahasa, alih-alih mengandalkan arsitektur agen multi-panggilan yang mahal. Proyek yang disebut tg-statemachine-bot ini membagi percakapan menjadi beberapa tahap yang didefinisikan dalam file YAML, hanya memberikan instruksi yang relevan dengan tahap saat ini ke model untuk menjaga konteks tetap kecil dan perilaku dapat diprediksi.
Penulis, yang sedang mengerjakan chatbot bisnis, menemukan bahwa model bahasa besar kesulitan untuk mengikuti skrip yang panjang dan terperinci secara andal karena konteksnya yang luas menyebabkan mereka kehilangan struktur pada instruksi yang panjang, dan bahwa solusi berbasis agen yang ada untuk memecah tugas menjadi langkah-langkah justru melipatgandakan jumlah panggilan model dan dengan demikian biaya setiap dialog. Untuk mengatasi masalah ini dengan biaya murah, penulis membangun pustaka sumber terbuka di mana mesin keadaan hingga (FSM) mengatur grafik percakapan secara keseluruhan dan mengontrol instruksi tahap mana yang diberikan ke model bahasa besar pada saat tertentu, sehingga model hanya melihat instruksi yang relevan dengan tahap saat ini, bukan keseluruhan skrip. Arsitektur ini terdiri dari tiga modul: modul FSM yang melacak grafik dialog dan status pengguna, modul vars_memory yang menyimpan variabel dialog dengan riwayat perubahan, dan modul conversation_core yang mengatur panggilan ke model bahasa besar. Pada setiap giliran, model harus merespons dengan kontrak empat bidang yang tetap - pesan kepada pengguna, sinyal transisi, hasil tahap terstruktur, dan ringkasan tahap - dan jika melanggar kontrak ini (JSON tidak valid, sinyal transisi yang tidak ada, hasil yang hilang), sistem secara otomatis mengirim permintaan tindak lanjut korektif. Kesinambungan percakapan di seluruh transisi tahap dipertahankan menggunakan rantai previous_response_id dari API Responses milik OpenAI, yang juga mengurangi biaya melalui harga pembacaan cache yang lebih murah. Skrip dialog keseluruhan dijelaskan dalam file YAML, dengan instruksi tahap terperinci disimpan dalam file terpisah, memungkinkan mesin yang mendasarinya digunakan kembali di berbagai domain chatbot tanpa modifikasi. Untuk mengelola kompleksitas pengeditan YAML secara manual, penulis membangun skrip yang mengonversi YAML menjadi diagram draw.io untuk memudahkan peninjauan manusia, plus alat penampil log untuk memeriksa percakapan uji dalam format seperti obrolan dengan log sistem yang dapat diperluas, termasuk pembaruan waktu nyata saat men-debug secara lokal. Sebagai demonstrasi, repositori ini menyertakan contoh 'bot analis' yang membantu pengembang solo dalam menentukan cakupan kebutuhan proyek, yang menurut penulis hanya memerlukan sekitar 1,03 panggilan model bahasa besar per pesan pengguna sambil tetap mengikuti skrip dan mengumpulkan informasi terstruktur dengan andal, meskipun rekayasa prompt bot demo tersebut belum dipoles.
Sumber: Habr — хаб NLP — asli
Postingan kami sebelumnya tentang topik ini ↓
Berita terbaru