RelateScript adalah meta-bahasa deklaratif yang dirancang untuk merampingkan penciptaan permintaan terstruktur dan konsisten untuk model bahasa besar (LLM). Makalah ini memperkenalkan sintaks Relatescript, menyoroti fondasinya dalam logika relasional dan predikat. Dengan berfokus pada hubungan, kondisi, dan konteks, menghubungkan menjembatani kesenjangan antara ekspresi bahasa alami dan ketepatan yang diperlukan untuk interaksi LLM yang efektif. Ini memfasilitasi pendekatan baru untuk rekayasa cepat, di mana manusia dan LLM secara kolaboratif mengembangkan dorongan terstruktur yang dapat dengan mudah dimodifikasi dan digunakan kembali untuk beragam tugas, meningkatkan kemampuan keandalan dan otomatisasi alur kerja yang digerakkan LLM.
Dalam bidang yang berkembang pesat dari model bahasa besar (LLM), efektivitas interaksi sangat bergantung pada kualitas petunjuk. Bahasa pemrograman imperatif tradisional sering memaksakan struktur kaku yang kontras dengan sifat penalaran manusia yang bernuansa dan peka konteks. Sementara bahasa alami menawarkan fleksibilitas yang tak tertandingi untuk berinteraksi dengan LLM, itu dapat menyebabkan ambiguitas dan ketidakkonsistenan dalam output yang cepat. Untuk mengatasi tantangan ini, kami memperkenalkan Relatescript, meta-bahasa deklaratif yang dirancang khusus untuk membuat petunjuk terstruktur. RelateScript memungkinkan pengguna untuk mendefinisikan entitas, hubungan, dan kondisi dalam format yang dapat dibaca dan secara logis tepat. Relatescript tidak dimaksudkan sebagai bahasa pemrograman tradisional dengan parser yang terpisah, tetapi lebih sebagai format input terstruktur yang memanfaatkan kemampuan pemahaman yang melekat pada LLM.
RelateScript membahas meningkatnya kebutuhan untuk pendekatan yang lebih sistematis dan andal untuk melakukan rekayasa cepat. Ketika LLMS menjadi semakin canggih, kemampuan untuk mengartikulasikan instruksi yang kompleks dan mendefinisikan kondisi yang tepat menjadi penting untuk memanfaatkan potensi penuh mereka. RelateScript menyediakan cara yang dapat diakses dan intuitif untuk menggambarkan hubungan dan ketergantungan antar entitas, memungkinkan pengguna untuk mengekspresikan logika yang rumit dengan cara yang selaras dengan penalaran manusia. Dengan sintaks yang dirancang untuk keterbacaan, Relatescript memberdayakan pengguna untuk menghasilkan petunjuk yang konsisten, menjadikannya sangat cocok untuk membangun templat prompt yang dapat digunakan kembali yang dapat diadaptasi untuk skenario yang berbeda, sehingga meningkatkan efisiensi dan keandalan interaksi LLM. Ini juga memungkinkan untuk menggabungkan kekuatan pengetahuan domain manusia dengan struktur bentuk logis.
Sintaks Relatescript menekankan struktur bahasa alami, memungkinkan untuk deklarasi entitas, hubungan, dan kondisi yang dapat dibaca. Konstruksi utamanya meliputi:
define <Entity> as <Description>.
<Entity> is <Predicate>.
<Entity> has <Attribute> of <Value>.
relate <Entity1> and <Entity2> as <RelationType> [ if <Condition> ].
if <Condition>, then <Action>.
ensure <Goal>.
Prompt dengan instruksi majemuk dan logika multi-level.
define City as "A collection of buildings and people".
Berlin is a City.
Berlin has Population of 3_500_000.
define Metropolis as "A city with more than 1_000_000 inhabitants".
if City has Population > 1_000_000,
then ensure City is a Metropolis.
Perilaku yang Diharapkan: LLM harus mengakui bahwa Berlin adalah "kota metropolis" karena populasinya lebih besar dari 1.000.000.
lebih banyak sampel
Formulir Backus-Naur (EBNF) yang diperluas berikut ini mendefinisikan sintaks RelateScript:
program ::= { statement } ;
statement ::= definition | predicate | attribute | relation | condition | goal ;
definition ::= " define " entity " as " string " . " ;
predicate ::= entity " is " predicate_value " . " ;
attribute ::= entity " has " attribute_name " of " attribute_value " . " ;
relation ::= " relate " entity " and " entity " as " relation_type [ " if " condition ] " . " ;
condition ::= " if " condition_expr " , then " action " . " ;
goal ::= " ensure " goal_expr " . " ;
condition_expr ::= entity predicate_operator predicate_value
| entity attribute_operator attribute_value
| entity relation_operator entity ;
goal_expr ::= entity relation_type entity ;
action ::= " ensure " goal_expr ;
entity ::= identifier ;
predicate_value ::= identifier ;
attribute_name ::= identifier ;
attribute_value ::= identifier | number ;
relation_type ::= string ;
predicate_operator ::= " is " | " is not " ;
attribute_operator ::= " has " | " does not have " ;
relation_operator ::= " relates to " | " does not relate to " ;
identifier ::= letter { letter | digit | " _ " } ;
letter ::= " a " | " b " | " ... " | " z " ;
string ::= ' " ' { character } ' " ' ;
number ::= digit { digit } ;
character ::= lowercase-char | uppercase-char | digit | special-char ;
lowercase-char ::= " a " | " b " | " ... " | " z " ;
uppercase-char ::= " A " | " B " | " ... " | " Z " ;
special-char ::= " - " | " _ " ;
digit ::= " 0 " | " 1 " | " ... " | " 9 " ;
Struktur Utama ( program
) : Suatu program (prompt) terdiri dari urutan statements
, yang masing -masing mendefinisikan sepotong informasi, hubungan atau pernyataan tertentu.
Pernyataan :
definition
): Menentukan entitas dengan nama dan deskripsi.predicate
): Menetapkan properti atau keadaan ke suatu entitas.attribute
): mengaitkan entitas dengan atribut dan nilai.relation
): Menentukan hubungan antara dua entitas, secara opsional dengan suatu kondisi.condition
): Menentukan suatu kondisi dan tindakan yang dihasilkan.goal
): Menjelaskan tujuan yang harus dicapai.condition_expr
): Periksa hubungan atau properti antar entitas.goal_expr
): Jelaskan apa yang harus dicapai.action
): Berhubungan dengan tujuan yang harus dipenuhi.entity
, predicate_value
, attribute_name
, attribute_value
dan relation_type
adalah komponen dasar yang diwakili oleh pengidentifikasi (misalnya nama) atau nilai (seperti angka).predicate_operator
, attribute_operator
, dan relation_operator
menentukan jenis hubungan atau kondisi, misalnya "adalah", "memiliki", "berhubungan dengan".identifier
mewakili nama dan harus dimulai dengan surat.string
adalah singkatan dari teks dan terlampir dalam tanda kutip. RelateScript menawarkan kerangka kerja terstruktur yang digerakkan oleh logika yang dengan mulus melengkapi pendekatan pendakian berbasis bahasa alami. Sementara bahasa alami unggul dalam menyampaikan nuansa dan ambiguitas, terutama untuk tugas-tugas kreatif, Relatescript memberikan kejelasan, ketepatan, dan konsistensi logis-kualitas penting untuk interaksi yang kompleks dan multi-langkah dengan LLM.
Relatescript dapat dipasangkan secara efektif dengan input bahasa alami untuk menggabungkan kekuatan kedua metode:
Misalnya, pengguna mungkin mulai dengan prompt bahasa alami seperti:
"Bantu saya membangun model penjualan. Mulailah dengan membuat asumsi dasar tentang pelanggan dan produk."
Konteks ini kemudian dapat didukung oleh blok RelateScript:
define Product as "A product for sale".
Product is available.
Product has price of 100.
Product has category of "Electronics".
define Customer as "A person who wants to buy a product".
Customer has budget of 150.
relate Customer and Product as "buys" if Product is available and Customer has budget of 150.
ensure Customer buys Product.
Kombinasi ini memungkinkan LLM untuk memanfaatkan pengaturan bahasa alami yang intuitif dan kaya konteks sambil mematuhi struktur logis dan ketepatan Relatescript.
RelateScript selaras dengan teknik pendakian canggih untuk LLM, seperti:
Relatescript sangat ideal untuk tugas yang membutuhkan:
Namun, bahasa alami tetap lebih unggul untuk:
Penggunaan Relatescript yang paling efektif terletak pada aplikasi hibrida, di mana ia bertindak sebagai suplemen untuk input bahasa alami. Pendekatan ini memungkinkan pengguna untuk menyeimbangkan kreativitas dan konsistensi logis, memungkinkan LLM untuk menangani rentang tugas yang lebih luas dengan presisi dan kemampuan beradaptasi. Kami mengadvokasi alur kerja berulang di mana petunjuk hubungkan secara terus -menerus disempurnakan berdasarkan umpan balik LLM, yang mengarah pada interaksi yang semakin efektif dan dapat diandalkan.
Beberapa bahasa dan kerangka kerja menawarkan kemampuan relasional, deklaratif, atau sensitif konteks. Di sini, kami membandingkan RelateScript dengan sistem serupa.
Prolog adalah bahasa pemrograman logika yang biasa digunakan dalam AI. Ini menggunakan fakta dan aturan untuk mendapatkan informasi baru.
Datalog adalah versi prolog yang disederhanakan, yang digunakan untuk kueri basis data dan penalaran logis.
Data model SPARQL dan RDF sebagai grafik hubungan subjek-predikat-objek, seringkali untuk web semantik.
Deskripsi Logika adalah bahasa formal untuk representasi pengetahuan dalam ontologi.
Aturan Mesin menggunakan aturan deklaratif untuk pengambilan keputusan otomatis dalam aplikasi bisnis.
if-then
, seperti kondisi dan tujuan Relatescript.Struktur Relatescript sangat ideal untuk:
Penelitian Ilmiah :
Sistem AI :
Representasi Pengetahuan : Pemodelan entitas, atribut, dan hubungan dalam domain tertentu.
Sistem pengambilan keputusan : Menggunakan tujuan dan kondisi untuk menyesuaikan perilaku program secara dinamis.
Kejelasan dan presisi : Relatescript terstruktur dengan jelas, dengan aturan dan istilah yang ditentukan. Ini mengurangi ambiguitas yang sering ditemukan dalam bahasa alami dan memastikan bahwa LLM dengan benar menafsirkan makna yang dimaksud.
Hubungan dan Kondisi yang Jelas : Struktur deklaratif Relatescript sangat cocok untuk secara eksplisit merumuskan koneksi dan kondisi. Ini dapat membantu LLM menarik kesimpulan atau mengoordinasikan langkah -langkah berurutan.
Interpretasi yang dikurangi : Karena Relatescript didasarkan pada tata bahasa logis, "pekerjaan interpretasi" untuk LLM seringkali lebih mudah. Dibutuhkan lebih sedikit pemahaman kontekstual tentang bahasa itu sendiri dan dapat fokus pada instruksi.
Kelengkapan dan aksesibilitas : Bagi banyak pengguna, bahasa alami lebih intuitif dan lebih mudah digunakan, karena tidak memerlukan struktur spesifik atau sintaks yang ditentukan. Ini adalah keuntungan ketika instruksi untuk LLM dibuat oleh non-programmer.
Fleksibilitas dan ekspresif : Bahasa alami jauh lebih fleksibel dan dapat menyampaikan instruksi yang rumit dan bernuansa yang lebih sulit diekspresikan dalam sistem yang sangat terstruktur seperti Relatescript. Contohnya termasuk metafora, istilah yang tidak jelas, atau deskripsi konteks yang umum dalam komunikasi manusia.
Kemampuan pemrosesan LLMS : LLM modern seperti GPT-4 dirancang untuk memahami bahasa alami dan memprosesnya secara kontekstual. Mereka sering sudah mampu menafsirkan instruksi kompleks tanpa memerlukan bahasa yang diformalkan. Dalam banyak kasus, LLMS memahami bahasa alami secara akurat, jadi Relatescript menawarkan lebih sedikit keunggulan.
Contoh ini menunjukkan bagaimana RelateScript dapat digunakan untuk memodelkan fenomena fisik, khususnya efek fotolistrik dalam mekanika kuantum.
define Planck_constant as "h = 6.62607015 × 10⁻³⁴ Js".
define Photon as "A quantum of light".
Photon has frequency of f.
Photon has energy of E.
Photon has count of N.
relate energy and frequency as "E = Planck_constant * f".
define Metal as "A metallic element".
Metal has work_function of Phi.
Metal has electron_energy of Ee.
define Electron as "An emitted electron".
Electron has kinetic_energy of Ek.
relate Photon and Metal as "interacts" if
(Photon.energy * Photon.count) >= Metal.work_function.
if Photon interacts with Metal,
then create Electron with kinetic_energy of max((Photon.energy * Photon.count) - Metal.work_function, 0).
Perilaku yang Diharapkan: Sistem memodelkan efek fotolistrik di mana foton berinteraksi dengan permukaan logam. Ketika energi total dari foton insiden melebihi fungsi kerja logam, elektron dipancarkan dengan energi kinetik yang sama dengan perbedaan antara energi foton insiden dan fungsi kerja.
Contoh ini menampilkan potensi menghubungkan untuk mengekspresikan fenomena fisik yang kompleks dengan cara yang cukup tepat untuk tujuan komputasi dan cukup mudah dibaca untuk pemahaman manusia. Bahasa menjembatani kesenjangan antara formalisme matematika dan deskripsi bahasa alami, menjadikannya berharga untuk aplikasi pendidikan dan praktis dalam fisika dan domain ilmiah lainnya.
Relatescript menemukan ceruk dengan:
Contoh ini menunjukkan bagaimana RelateScript dapat memodelkan sistem AI yang kompleks dan interaksinya.
define Agent as "A learning AI agent".
Agent has state of S.
Agent has action_space of A.
Agent has reward of R.
Agent has policy of π.
define Environment as "The agent's environment".
Environment has state_space of S.
Environment has transition_function of T.
Environment has reward_function of R.
relate Agent and Environment as "interacts" through "action".
relate Environment and Agent as "responds" with "state and reward".
if Agent takes Action in Environment,
then ensure Environment updates State according to transition_function and
ensure Agent receives Reward according to reward_function.
ensure Agent maximizes expected_future_reward.
Perilaku yang Diharapkan: Sistem memodelkan interaksi agen pembelajaran penguatan dengan lingkungannya, termasuk transisi negara, tindakan, dan penghargaan. Formulasi RelateScript menangkap komponen penting dan hubungan sistem pembelajaran penguatan.
Contoh ini menunjukkan bagaimana hubungan dapat digunakan untuk menyusun dan memantau uji klinis.
define Patient as "A participant in the clinical study".
Patient has id of unique_number.
Patient has age of years.
Patient has symptoms of [].
Patient has treatment_group of "A" or "B".
Patient has response_measure of value.
define Treatment as "A therapeutic intervention".
Treatment has type of "Experimental" or "Control".
Treatment has dosage of amount.
Treatment has duration of weeks.
define Outcome as "The treatment result".
Outcome has primary_endpoint of value.
Outcome has adverse_events of [].
Outcome has followup_status of state.
relate Patient and Treatment as "receives".
relate Patient and Outcome as "shows".
if Patient receives Treatment,
then ensure Outcome is monitored and
ensure adverse_events are reported within 24 hours.
# Statistical Analysis Rules
define SignificanceTest as "Statistical evaluation".
relate Treatment_A and Treatment_B as "compare" through SignificanceTest.
ensure p_value < 0.05 for "statistical significance".
Perilaku yang Diharapkan: Sistem mengelola uji klinis dengan melacak pasien, perawatan, dan hasil. Ini memastikan pemantauan hasil yang tepat dan analisis statistik dari efektivitas pengobatan. Formulasi RelateScript menyediakan cara terstruktur untuk mendefinisikan dan menegakkan protokol uji klinis.
Memprediksi penjualan berdasarkan data historis dan tren pasar.
define Product as "A sellable item".
Product has name of "Smartphone".
Product has historical_sales of [100, 150, 200, 250, 300].
define Market_Trend as "An indicator of market conditions affecting sales".
Market_Trend has trend of "Increasing".
define Sales_Prediction as "An estimated future sales figure".
Sales_Prediction has value of 350 if Market_Trend has trend of "Increasing" and Product has historical_sales[-1] < 350.
relate Product and Sales_Prediction as "predicted_sales".
ensure Product predicted_sales Sales_Prediction.
Perilaku yang Diharapkan: Sistem harus memprediksi penjualan "smartphone" di masa depan berdasarkan tren pasar yang meningkat dan angka penjualan historis terakhir yang tercatat.
RelateScript menyediakan kerangka kerja yang terstruktur dan deklaratif untuk tugas-tugas yang membutuhkan konsistensi presisi dan logis, menjadikannya alat yang ampuh dalam aplikasi seperti representasi pengetahuan, pengambilan keputusan, dan sistem AI. Sintaksnya menekankan keterbacaan dan kemudahan pemahaman, memungkinkan pengguna untuk menyampaikan kondisi dan tujuan yang kompleks dengan cara yang beresonansi dengan bahasa manusia alami.
Dengan mengintegrasikan RelateScript dengan dorongan bahasa alami, pengguna dapat memanfaatkan yang terbaik dari kedua dunia - meraih kemampuan intuitif dan kreatif bahasa alami dengan ketelitian dan pengulangan penalaran logis. Pendekatan hibrida ini memperluas ruang lingkup aplikasi Relatescript dan memposisikannya sebagai alat penting untuk meningkatkan alur kerja yang digerakkan LLM, membuka jalan bagi interaksi yang lebih andal, efisien, dan otomatis dengan model bahasa besar.
Pekerjaan di masa depan dapat melibatkan pengujian bahasa dalam AI dunia nyata dan sistem manajemen pengetahuan. Penelitian lebih lanjut juga akan fokus pada penyempurnaan sintaksis bahasa, mengeksplorasi skalabilitasnya, dan mengatasi potensi kerentanan keamanan.
Oleh Florian Fischer
https://github.com/fischerf/