RundeScript ist eine deklarative Metasprachigkeit, mit der die Erstellung strukturierter und konsistenter Eingabeaufforderungen für große Sprachmodelle (LLMs) rationalisiert werden soll. In diesem Artikel wird die Syntax von RundeScript eingeführt, die seine Grundlage in relationaler und Prädikat -Logik hervorhebt. Durch die Konzentration auf Beziehungen, Bedingungen und Kontext schließt sich die Lücke zwischen der Ausdruckskraft der natürlichen Sprache und der Genauigkeit, die für eine effektive LLM -Wechselwirkung erforderlich ist. Es erleichtert einen neuartigen Ansatz für das schnelle Engineering, bei dem Menschen und LLMs gemeinsam strukturierte Eingabeaufforderungen entwickeln, die für verschiedene Aufgaben leicht geändert und wiederverwendet werden können, wodurch die Zuverlässigkeits- und Automatisierungsfunktionen von LLM-gesteuerten Workflows verbessert werden können.
Im sich schnell entwickelnden Gebiet großer Sprachmodelle (LLMs) beruht die Wirksamkeit von Interaktionen stark von der Qualität der Eingabeaufforderungen. Traditionelle imperative Programmiersprachen stellen häufig starre Strukturen auf, die sich mit der nuancierten und kontextsensitiven Natur des menschlichen Denkens impositionieren. Während die natürliche Sprache eine beispiellose Flexibilität für die Interaktion mit LLMs bietet, kann dies zu Unklarheiten und Inkonsistenz bei schnellen Ausgaben führen. Um diese Herausforderungen zu bewältigen, stellen wir RundeScript vor, eine deklarative Metasprachigkeit, die speziell für die Herstellung strukturierter Aufforderungen entwickelt wurde. Mit RundeScript können Benutzer Entitäten, Beziehungen und Bedingungen in einem Format definieren, das sowohl lesbar als auch logisch präzise ist. RundeScript ist nicht als herkömmliche Programmiersprache mit einem separaten Parser, sondern als strukturiertes Eingabebildformat, das die inhärenten Verständnisfähigkeiten von LLMs nutzt.
Relatescript befasst sich mit dem wachsenden Bedarf an einem systematischeren und zuverlässigeren Ansatz für die Umformungstechnik. Wenn LLMs zunehmend anspruchsvoller werden, wird die Fähigkeit, komplexe Anweisungen zu artikulieren und genaue Bedingungen zu definieren, entscheidend, um ihr volles Potenzial zu nutzen. RundeScript bietet eine zugängliche und intuitive Möglichkeit, Beziehungen und Abhängigkeiten zwischen Entitäten zu beschreiben, sodass Benutzer komplizierte Logik auf eine Weise ausdrücken können, die eng mit dem menschlichen Denken übereinstimmt. Mit einer Syntax, die für die Lesbarkeit ausgelegt ist, ermöglicht es den Benutzern, konsistente Eingabeaufforderungen zu erstellen, wodurch es insbesondere für den Aufbau wiederverwendbarer Schnellvorlagen geeignet ist, die für verschiedene Szenarien angepasst werden können, wodurch die Effizienz und Zuverlässigkeit von LLM -Interaktionen verbessert werden kann. Es ermöglicht auch die Kombination der Stärken des menschlichen Domänenwissens mit der Struktur einer logischen Form.
Die Syntax von RundeScript betont die natürliche Sprachstruktur und ermöglicht lesbare Erklärungen von Entitäten, Beziehungen und Bedingungen. Zu den Hauptkonstrukten gehören:
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>.
Eine Eingabeaufforderung mit zusammengesetzten Anweisungen und Multi-Level-Logik.
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.
Erwartete Verhalten: Die LLM sollte erkennen, dass Berlin eine "Metropole" ist, da seine Bevölkerung größer als 1.000.000 ist.
Weitere Proben
Die folgende erweiterte Backus-N-N-N-N-NAur-Form (EBNF) definiert die Syntax von RundeScript:
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 " ;
Hauptstruktur ( program
) : Ein Programm (Eingabeaufforderung) besteht aus einer Abfolge von statements
, von denen jedes eine bestimmte Information, Beziehung oder Aussage definiert.
Aussagen :
definition
): Definiert eine Entität mit einem Namen und einer Beschreibung.predicate
): weist einer Entität eine Eigenschaft oder einen Zustand zu.attribute
): assoziiert eine Entität mit einem Attribut und einem Wert.relation
): Definiert eine Beziehung zwischen zwei Unternehmen, optional mit einer Bedingung.condition
): Definiert eine Erkrankung und eine daraus resultierende Aktion.goal
): Beschreibt ein Ziel, das erreicht werden soll.condition_expr
): Überprüfen Sie Beziehungen oder Eigenschaften zwischen Entitäten.goal_expr
): Beschreiben Sie, was erreicht werden soll.action
): Beziehen Sie sich auf das Ziel, das erfüllt werden soll.entity
, predicate_value
, attribute_name
, attribute_value
und relation_type
sind grundlegende Komponenten, die durch Kennung (z. B. Namen) oder Werte (z. B. Zahlen) dargestellt werden.predicate_operator
, attribute_operator
und relation_operator
definieren die Art von Beziehungen oder Bedingungen, z. B. "IS", "hat", "bezieht sich auf".identifier
stellt Namen dar und muss mit einem Buchstaben beginnen.string
steht für Text und ist in Anführungszeichen eingeschlossen. RundeScript bietet einen strukturierten, logisch gesteuerten Framework, der nahtlos natürliche Sprachansätze basiert. Während sich die natürliche Sprache in der Vermittlung von Nuancen und Mehrdeutigkeiten, insbesondere für kreative Aufgaben, übertroffen hat, bietet RundeScript Klarheit, Präzision und logische Konsistenz-wesentliche Qualitäten für komplexe und mehrstufige Interaktionen mit LLMs.
RundeScript kann effektiv mit natürlichen Spracheingaben gepaart werden, um die Stärken beider Methoden zu kombinieren:
Zum Beispiel kann ein Benutzer mit einer natürlichen Sprachaufforderung beginnen, z. B.:
"Helfen Sie mir, ein Verkaufsmodell aufzubauen. Beginnen Sie mit grundlegenden Annahmen über Kunden und Produkte."
Dieser Kontext kann dann durch einen Relatscript -Block unterstützt werden:
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.
Diese Kombination ermöglicht es LLMs, das intuitive und kontextreiche Aufbau der natürlichen Sprache zu nutzen und gleichzeitig die logische Struktur und die Genauigkeit von Relatescript einzuhalten.
RundeScript stimmt mit fortgeschrittenen Aufforderungstechniken für LLMs aus, wie z. B.:
RundeScript ist ideal für Aufgaben, die erforderlich sind:
Die natürliche Sprache bleibt jedoch überlegen für:
Die effektivste Verwendung von RundeScript liegt in seiner Hybridanwendung, wo sie als Ergänzung zu Eingaben für natürliche Sprache fungiert. Dieser Ansatz ermöglicht es Benutzern, Kreativität und logische Konsistenz auszugleichen und LLMs mit einer breiteren Aufgabenpalette mit Präzision und Anpassungsfähigkeit zu verarbeiten. Wir setzen uns für einen iterativen Workflow ein, in dem besessene Eingabeaufforderungen aufgrund von LLM -Feedback kontinuierlich verfeinert werden, was zu immer effektiveren und zuverlässigen Wechselwirkungen führt.
Mehrere Sprachen und Frameworks bieten relationale, deklarative oder kontextsensitive Fähigkeiten. Hier vergleichen wir RundeSkript mit ähnlichen Systemen.
Prolog ist eine logische Programmiersprache, die häufig in AI verwendet wird. Es verwendet Fakten und Regeln, um neue Informationen abzuleiten.
Datalog ist eine vereinfachte Version von Prolog, die für Datenbankabfragen und logisches Denken verwendet wird.
SPARQL- und RDF- Modelldaten als Diagramm von Subjekt-Vorbereitungs-Objekt-Beziehungen, häufig für das semantische Web.
Beschreibung Logik ist eine formale Sprache für Wissensrepräsentation in Ontologien.
Regeln Engines verwenden deklarative Regeln für automatisierte Entscheidungen in Geschäftsanwendungen.
if-then
, wie die Bedingungen und Ziele von RundeScript.Die Struktur von RundeScript ist ideal für:
Wissenschaftliche Forschung :
KI -Systeme :
Wissensdarstellung : Modellierungsentitäten, Attribute und Beziehungen innerhalb eines bestimmten Bereichs.
Entscheidungssysteme : Ziele und Bedingungen zur dynamischen Anpassung des Programmverhaltens.
Klarheit und Präzision : RundeScript ist eindeutig strukturiert, mit definierten Regeln und Begriffen. Dies verringert die Ambiguität, die häufig in der natürlichen Sprache zu finden ist, und stellt sicher, dass das LLM die beabsichtigte Bedeutung korrekt interpretiert.
Klare Beziehungen und Bedingungen : Die deklarative Struktur von RundeSkript ist besonders geeignet, um Verbindungen und Bedingungen explizit zu formulieren. Dies kann einem LLM helfen, Schlussfolgerungen zu ziehen oder sequentielle Schritte zu koordinieren.
Reduzierte Interpretation : Da RundeScript auf einer logischen Grammatik basiert, ist die "Interpretationsarbeit" für ein LLM oft einfacher. Es erfordert weniger kontextbezogenes Verständnis der Sprache selbst und kann sich auf die Anweisungen konzentrieren.
Verständlichkeit und Zugänglichkeit : Für viele Benutzer ist die natürliche Sprache intuitiver und einfacher zu bedienen, da sie keine spezifische Struktur oder definierte Syntax erfordert. Dies ist ein Vorteil, wenn die Anweisungen für die LLM von Nichtprogrammern erstellt werden.
Flexibilität und Ausdruckskraft : Die natürliche Sprache ist viel flexibler und kann komplexe, differenzierte Anweisungen vermitteln, die in einem hochstrukturierten System wie Relatescript schwieriger ausdrücken können. Beispiele sind Metaphern, vage Begriffe oder Kontextbeschreibungen in der menschlichen Kommunikation.
Verarbeitungsfähigkeit von LLMs : Moderne LLMs wie GPT-4 sind so konzipiert, dass sie die natürliche Sprache verstehen und sie kontextuell verarbeiten. Sie sind oft bereits in der Lage, komplexe Anweisungen zu interpretieren, ohne eine formalisierte Sprache zu erfordern. In vielen Fällen verstehen LLMs die natürliche Sprache genau genug, sodass RundeScript weniger Vorteile bietet.
Dieses Beispiel zeigt, wie besessener Skript verwendet werden kann, um physikalische Phänomene zu modellieren, insbesondere den photoelektrischen Effekt in der Quantenmechanik.
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).
Erwartete Verhalten: Das System modelliert den photoelektrischen Effekt, bei dem Photonen mit einer Metalloberfläche interagieren. Wenn die Gesamtenergie der einfallenden Photonen die Arbeitsfunktion des Metalls überschreitet, werden die Elektronen mit kinetischer Energie emittiert, die der Differenz zwischen der einfallenden Photonenenergie und der Arbeitsfunktion entspricht.
Dieses Beispiel zeigt das Potenzial von Skript, komplexe physikalische Phänomene auf eine Weise auszudrücken, die für rechnerische Zwecke sowohl präzise genug ist als auch für das menschliche Verständnis lesbar genug ist. Die Sprache überbrückt die Kluft zwischen mathematischer Formalismus und natürlicher Sprache, wodurch sie sowohl für pädagogische als auch für praktische Anwendungen in Physik und anderen wissenschaftlichen Bereichen wertvoll ist.
RundeScript findet eine Nische von:
Dieses Beispiel zeigt, wie besessen das RundeScript komplexe KI -Systeme und ihre Interaktionen modellieren kann.
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.
Erwartete Verhalten: Das System modelliert die Interaktion eines Verstärkungslernagenten mit seiner Umgebung, einschließlich staatlicher Übergänge, Aktionen und Belohnungen. Die Relatescript -Formulierung erfasst die wesentlichen Komponenten und Beziehungen eines Verstärkungslernsystems.
Dieses Beispiel zeigt, wie besessener Skript verwendet werden kann, um klinische Studien zu strukturieren und zu überwachen.
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".
Erwartete Verhalten: Das System verwaltet eine klinische Studie durch Verfolgung von Patienten, Behandlungen und Ergebnissen. Es sorgt für eine ordnungsgemäße Überwachung der Ergebnisse und die statistische Analyse der Effektivität der Behandlung. Die Relatescript -Formulierung bietet eine strukturierte Möglichkeit, Protokolle für klinische Studien zu definieren und durchzusetzen.
Vorhersage von Verkäufen auf der Grundlage historischer Daten und Markttrends.
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.
Erwartete Verhalten: Das System sollte den zukünftigen Umsatz des "Smartphones" basierend auf dem zunehmenden Markttrend und der zuletzt verzeichneten historischen Verkaufszahlen vorhersagen.
RundeScript bietet einen strukturierten, deklarativen Rahmen für Aufgaben, die Präzision und logische Konsistenz erfordern, was es zu einem leistungsstarken Werkzeug für Anwendungen wie Wissensdarstellung, Entscheidungsfindung und KI-Systeme macht. Die Syntax betont die Lesbarkeit und einfache Verständnis und ermöglicht es den Benutzern, komplexe Bedingungen und Ziele auf eine Weise zu vermitteln, die bei der natürlichen menschlichen Sprache in Resonanz steht.
Durch die Integration von Runden mit natürlicher Sprache können Benutzer das Beste aus beiden Welten nutzen und die intuitiven, kreativen Funktionen der natürlichen Sprache mit der strengen und Wiederholbarkeit des logischen Denkens verbinden. Dieser hybride Ansatz erweitert den Umfang der Anwendungen von Relatescript und positioniert ihn als wesentliches Werkzeug zur Verbesserung von LLM-gesteuerten Workflows und ebnet den Weg für zuverlässigere, effizientere und automatisierte Interaktionen mit großen Sprachmodellen.
Zukünftige Arbeiten könnten das Testen der Sprache in KI- und Wissensmanagementsystemen der realen Welt beinhalten. Weitere Forschungsergebnisse werden sich auch darauf konzentrieren, die Syntax der Sprache zu verfeinern, ihre Skalierbarkeit zu untersuchen und potenzielle Sicherheitslücken zu beheben.
Von Florian Fischer
https://github.com/fischerf/