Production system in AI: fakta, peraturan dan penyelesaian konflik

Production system in AI ialah seni bina penaakulan simbolik yang menerapkan peraturan syarat dan tindakan pada set fakta kerja. Sistem ini memadankan peraturan yang layak, memilih peraturan yang hendak dilaksanakan dan mengemas kini fakta atau melakukan tindakan yang ditetapkan. Penyelesaian konflik penting kerana beberapa peraturan boleh sepadan dengan keadaan yang sama sambil mencadangkan langkah seterusnya yang berbeza.

Di sini, “produksi” merujuk kepada peraturan yang menghasilkan akibat apabila syaratnya dipenuhi. Istilah ini tidak bermaksud barisan pengeluaran kilang atau sekadar aplikasi AI yang beroperasi dalam persekitaran produksi.

Oleh Ai Flowi · Diterbitkan

Fakta, peraturan produksi dan kitaran kawalan

Memori kerja menyimpan fakta yang tersedia kepada pentafsir pada masa itu. Pangkalan peraturan menyimpan takrif syarat dan tindakan. Mekanisme kawalan memadankan syarat peraturan dengan memori kerja, menyelesaikan padanan yang bersaing dan melaksanakan peraturan terpilih. Selepas perubahan, pemadanan mesti menggunakan fakta yang telah dikemas kini.

Contohnya, case_state = ready ialah fakta dalam latihan kecil semakan permintaan. Peraturan produksi mungkin menyatakan: jika kes sedia dan tindakan seterusnya belum diputuskan, minta semakan. Fakta merekodkan keadaan; peraturan menyatakan peralihan yang dibenarkan. Kedua-duanya tidak bermaksud model melatih dirinya untuk menemukan peralihan tersebut.

Padanan bermaksud syarat peraturan dipenuhi, bukannya tindakannya sudah berlaku. Asingkan set peraturan yang sepadan daripada rekod peraturan yang dilaksanakan. Jika tidak, penerangan boleh tersalah melaporkan setiap tindakan yang layak sebagai sudah selesai.

Kes sintetik dengan peraturan yang bersaing

Ini ialah jejak simbolik rekaan, bukannya pelaksanaan Workflow yang direkodkan. Permintaan ditandakan sebagai sedia untuk semakan, tetapi pemohon telah menariknya balik. Contoh ini mengehadkan semua tindakan kepada rekod keadaan: ia tidak menghantar mesej atau mengubah dokumen luaran.

Pada skrin sempit, tatal setiap jadual fakta atau peraturan ke sisi. Fokus papan kekunci dan kekunci anak panah membolehkan lajur selebihnya diakses.

Memori kerja sebelum pemadanan peraturan
FaktaNilaiMakna dalam latihan ini
request_statewithdrawnPenarikan balik yang disahkan telah direkodkan untuk permintaan ini.
case_statereadyKes telah sedia sebelum penarikan balik diproses.
next_actionundecidedTiada langkah seterusnya dipilih.

Dua peraturan di bawah sengaja bertindih. Keutamaan ialah dasar yang dinyatakan secara jelas bagi pentafsir rekaan ini: nombor yang lebih besar menang. Ia bukan medan keutamaan terbina dalam komponen Condition dalam AI Flowi Workflow.

Pangkalan peraturan dan dasar konflik yang dinyatakan
Peraturan / keutamaanSyaratTindakan apabila dilaksanakan
R1 / 20request_state bernilai withdrawn; next_action bernilai undecided.Tetapkan case_state kepada closed dan next_action kepada archive_request.
R2 / 10case_state bernilai ready; next_action bernilai undecided.Tetapkan next_action kepada request_review.

Pada mulanya, kedua-dua R1 dan R2 sepadan. Melaksanakan R2 dahulu akan memilih semakan sebelum memproses penarikan balik. Oleh itu, contoh ini memberi R1 keutamaan. Nombor tersebut menyatakan keputusan itu; ia bukan skor keyakinan atau ukuran kualiti peraturan.

Padankan, selesaikan, laksanakan, kemudian padankan semula

Peralihan simbolik yang dijangka mengikut dasar yang dinyatakan
PeringkatPeraturan yang sepadanKeputusan dan fakta
Padanan awalR1, R2Kedua-dua syarat dipenuhi dalam memori awal.
Selesaikan konflikR1 dipilihKeutamaan 20 mengatasi keutamaan 10.
Laksanakan R1R2 belum dilaksanakancase_state menjadi closed; next_action menjadi archive_request.
Kira semula padananTiadaKedua-dua peraturan memerlukan next_action bernilai undecided; R2 juga memerlukan kes bernilai ready.
Tamatkan kitaran iniTiadaKembalikan archive_request sebagai langkah seterusnya yang dipilih.

Jejak ini tamat kerana tindakan terpilih mengubah fakta yang menjadikan peraturan layak. Sekadar menulis “arkibkan permintaan” dalam penerangan, sambil membiarkan next_action belum diputuskan, akan membolehkan R1 sepadan semula. Kemas kini mesti menjadi sebahagian daripada peralihan keadaan pentafsir.

Tamatnya kitaran keputusan ini tidak bermaksud permintaan telah diarkibkan. Prosedur berasingan yang dibenarkan mesti mengesahkan tindakan itu jika diperlukan. Pentafsir peraturan telah memilih langkah seterusnya; ia belum melaksanakan langkah tersebut.

Mengapakah penyelesaian konflik memerlukan dasar yang dinyatakan dalam sistem pengeluaran?

Keutamaan ialah satu strategi yang mungkin digunakan. Pentafsir lain mungkin mengutamakan peraturan sepadan yang lebih khusus, mempertimbangkan kebaharuan fakta atau menggunakan urutan peraturan yang tetap. Nyatakan dasar sebenar dan jangan menganggap makna “lebih khusus” sudah jelas. Peraturan dengan lebih banyak syarat tidak semestinya lebih sesuai.

Jika dua peraturan mempunyai keutamaan yang sama, latihan ini berhenti untuk semakan dan tidak membuat pilihan secara tersirat. Jika tiada peraturan sepadan, ia mengembalikan “tiada peraturan yang terpakai”, yang berbeza daripada tugas yang selesai. Pentafsir sebenar juga memerlukan dasar bagi pelaksanaan berulang dan fakta yang diubah oleh tindakan. Pilihan ini tergolong dalam mekanisme kawalannya.

Peraturan yang jelas membantu penyemak mengenal pasti sebab tindakan dipilih. Peraturan itu tidak membetulkan fakta yang salah atau pangkalan peraturan yang bercanggah. Jejak yang kemas boleh melaksanakan dasar yang salah dengan tepat, jadi semak sumber fakta memori kerja serta akibat yang dikehendaki bagi setiap peraturan.

Perkara yang ditunjukkan oleh satu nod Condition

Gunakan rujukan Condition untuk antara muka perbandingan; ilustrasi R1 di sini berstatus didokumentasikan: didokumentasikan dalam katalog; belum diuji dalam produksi oleh Ai Flowi.

contoh konfigurasi, bukan ujian yang direkodkan

Untuk perbandingan R1 dalam ruang kerja Workflow, sambungkan rekod fakta sintetik kepada Condition.data_input dan tetapkan key_name = request_state, operator = "equals" dan compare_value = withdrawn, menggunakan konfigurasi rujukan untuk memeriksa hasil cabangnya.

Ini menunjukkan satu perbandingan kunci daripada R1. Ia tidak menilai keseluruhan syarat majmuk R1, mengekalkan memori kerja, menetapkan keutamaan, mengemas kini case_state atau menjalankan kitaran pemadanan dan pelaksanaan. Antara muka Condition yang dieksport tidak menyenaraikan agenda peraturan atau input keutamaan. Membina semantik tersebut memerlukan logik aplikasi tambahan yang disahkan secara berasingan.

Bandingkan dua rekod fakta hipotetikal: satu mempunyai request_state = withdrawn dan next_action = undecided; satu lagi mempunyai penarikan balik yang sama tetapi next_action = archive_request. Perbandingan satu kunci itu akan mengenal pasti penarikan balik dalam kedua-duanya, sedangkan R1 penuh hanya sepadan dengan rekod pertama. Perbezaan itu menunjukkan dengan tepat sebab hasil cabang tidak boleh dianggap sebagai peraturan produksi yang sepadan. Perbandingan setempat ini tidak memerlukan kelayakan akses penyedia model; jejak peraturan lengkap kekal sebagai latihan pengajaran yang berasingan.

Kesilapan lazim dan konsep berkaitan

Jangan gambarkan kumpulan cabang visual sebagai enjin inferens melainkan semantik pemadanan, konflik dan kemas kini keadaannya telah dilaksanakan. Jangan dakwa bahawa pelaksanaan peraturan membuktikan pembelajaran. Peraturan boleh ditulis secara manual; mengubahnya selepas semakan ialah konfigurasi melainkan proses pembelajaran sebenar ditetapkan.

Syarat tetap memadai apabila satu medan yang disahkan menentukan cabang seterusnya. Gunakan tutorial penghalaan If-Else sedia ada untuk tugas aliran kerja yang lebih khusus itu. Elakkan mengembangkannya menjadi pentafsir peraturan apabila tiada peraturan bersaing atau kemas kini fakta berulang diperlukan.

Contoh ejen pintar mengelaskan cara tindakan dipilih. ReAct membincangkan gelung tindakan dan pemerhatian. Perancangan ejen menerangkan prasyarat merentas langkah; peraturan produksi boleh memilih satu tindakan seterusnya tanpa membina pelan sedemikian.