Relatescript는 LLM (Lange Language Model)에 대한 구조적이고 일관된 프롬프트의 생성을 간소화하도록 설계된 선언적 메타 언어입니다. 이 백서에서는 관계 및 술어 논리의 토대를 강조하는 Relatescript의 구문을 소개합니다. 관계, 조건 및 맥락에 중점을 두어 스크립트 브리지는 자연어 표현성과 효과적인 LLM 상호 작용에 필요한 정밀도 사이의 격차를 연결합니다. 인간과 LLM이 다양한 작업을 위해 쉽게 수정하고 재사용 할 수있는 구조화 된 프롬프트를 공동으로 개발하여 LLM- 구동 워크 플로의 신뢰성 및 자동화 기능을 향상시키는 프롬프트 엔지니어링에 대한 새로운 접근 방식을 촉진합니다.
빠르게 진화하는 대형 언어 모델 (LLMS) 분야에서 상호 작용의 효과는 프롬프트의 품질에 크게 의존합니다. 전통적인 명령 프로그래밍 언어는 종종 인간의 추론의 미묘하고 상황에 맞는 특성과 대조되는 엄격한 구조를 부과합니다. 자연어는 LLM과 상호 작용하는 데 비교할 수없는 유연성을 제공하지만 신속한 출력에서 모호성과 불일치로 이어질 수 있습니다. 이러한 과제를 해결하기 위해, 우리는 구조화 된 프롬프트를 제작하기 위해 특별히 설계된 선언적 메타 언어 인 Relatescript를 소개합니다. RelateScript를 사용하면 사용자가 읽을 수 있고 논리적으로 정확한 형식으로 엔티티, 관계 및 조건을 정의 할 수 있습니다. RelateScript는 별도의 파서가있는 전통적인 프로그래밍 언어가 아니라 LLM의 고유 한 이해 기능을 활용하는 구조화 된 입력 형식으로 의도됩니다.
RelateScript는 프롬프트 엔지니어링에 대한보다 체계적이고 신뢰할 수있는 접근 방식에 대한 점점 더 많은 요구를 해결합니다. LLM이 점점 더 정교 해짐에 따라 복잡한 지시를 표현하고 정확한 조건을 정의하는 능력은 잠재력을 최대한 활용하는 데 중요합니다. Relatescript는 엔터티 간의 관계와 의존성을 설명하는 접근 가능하고 직관적 인 방법을 제공하여 사용자가 인간의 추론과 밀접하게 일치하는 방식으로 복잡한 논리를 표현할 수있게합니다. 가독성을 위해 설계된 구문을 사용하여 스크립트는 사용자가 일관된 프롬프트를 생성 할 수 있도록하여 다양한 시나리오에 적응할 수있는 재사용 가능한 프롬프트 템플릿을 구축하여 LLM 상호 작용의 효율성과 신뢰성을 향상시킬 수 있습니다. 또한 인간 도메인 지식의 강점을 논리적 형태의 구조와 결합 할 수 있습니다.
RelateScript의 구문은 자연어 구조를 강조하여 실체, 관계 및 조건의 읽기 가능한 선언을 허용합니다. 주요 구성에는 다음이 포함됩니다.
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>.
복합 지침 및 다단계 논리가있는 프롬프트.
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.
예상되는 행동 : LLM은 베를린이 인구가 1,000,000보다 크기 때문에 베를린이 "대도시"임을 인식해야합니다.
더 많은 샘플
다음 확장 된 backus-naur 양식 (EBNF)은 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 " ;
주요 구조 ( program
) : 프로그램 (프롬프트)은 특정 정보, 관계 또는 진술을 정의하는 일련의 statements
로 구성됩니다.
진술 :
definition
) : 이름과 설명이있는 엔티티를 정의합니다.predicate
) : 속성 또는 상태를 엔티티에 할당합니다.attribute
) : 엔티티를 속성 및 값과 연결합니다.relation
) : 선택적으로 조건으로 두 엔티티 간의 관계를 정의합니다.condition
) : 조건과 결과 조치를 정의합니다.goal
) : 달성 할 목표를 설명합니다.condition_expr
) : 엔티티 간의 관계 또는 속성을 점검하십시오.goal_expr
) : 달성 할 내용을 설명하십시오.action
) : 성취 될 목표와 관련이 있습니다.entity
, predicate_value
, attribute_name
, attribute_value
및 relation_type
식별자 (예 : 이름) 또는 값 (예 : 숫자)으로 표시되는 기본 구성 요소입니다.predicate_operator
, attribute_operator
및 relation_operator
(예 :“is”,“has”,“relates to”와의 관계 또는 조건의 유형을 정의합니다.identifier
이름을 나타내며 문자로 시작해야합니다.string
텍스트를 나타내며 따옴표로 둘러싸여 있습니다. Relatescript는 자연 언어 기반 프롬프트 접근법을 완벽하게 보완하는 구조화 된 논리 중심의 프레임 워크를 제공합니다. 자연 언어는 뉘앙스와 모호성을 전달하는 데 탁월하지만, 특히 창의적인 작업의 경우 관련 스크립트는 명확성, 정밀성 및 논리적 일관성을 제공합니다.
RelateScript는 자연어 입력과 효과적으로 짝을 이루어 두 방법의 강점을 결합 할 수 있습니다.
예를 들어, 사용자는 다음과 같은 자연어 프롬프트로 시작할 수 있습니다.
"판매 모델을 구축하는 데 도움이됩니다. 고객과 제품에 대한 기본적인 가정을 시작하십시오."
그런 다음 이러한 컨텍스트는 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.
이 조합을 통해 LLM은 직관적이고 문맥이 풍부한 자연 언어 설정을 활용하면서 논리적 구조와 RelateScript의 정밀도를 고수 할 수 있습니다.
관련 스크립트는 다음과 같은 LLM의 고급 프롬프트 기술과 정렬됩니다.
RelateScript는 필요한 작업에 이상적입니다.
그러나 자연어는 다음과 같이 여전히 우수합니다.
relatescript의 가장 효과적인 사용은 하이브리드 응용 프로그램에 있으며, 여기서 자연어 입력에 대한 보충 역할을합니다. 이 접근 방식을 통해 사용자는 창의성과 논리적 일관성의 균형을 유지하여 LLM이 정밀도와 적응성으로 더 넓은 범위의 작업을 처리 할 수 있습니다. 우리는 LLM 피드백을 기반으로 RelateScript 프롬프트가 지속적으로 개선 된 반복 워크 플로우를 옹호하여 점점 효과적이고 신뢰할 수있는 상호 작용을 초래합니다.
여러 언어 및 프레임 워크는 관계형, 선언적 또는 상황에 맞는 기능을 제공합니다. 여기서는 관계를 유사한 시스템과 비교합니다.
Prolog는 AI에서 일반적으로 사용되는 논리 프로그래밍 언어입니다. 사실과 규칙을 사용하여 새로운 정보를 도출합니다.
Datalog는 데이터베이스 쿼리 및 논리적 추론에 사용되는 Prolog의 단순화 된 버전입니다.
SPARQL 및 RDF 모델 데이터는 종종 시맨틱 웹에 대한 주제 예측-객체 관계의 그래프로서의 데이터.
설명 논리는 온톨로지에서 지식 표현을위한 공식 언어입니다.
규칙 엔진은 비즈니스 응용 프로그램에서 자동화 된 의사 결정에 선언 규칙을 사용합니다.
if-then
논리를 지원합니다.RelateScript의 구조는 다음에 이상적입니다.
과학 연구 :
AI 시스템 :
지식 표현 : 모델링 엔티티, 속성 및 특정 도메인 내의 관계.
의사 결정 시스템 : 목표와 조건을 사용하여 프로그램 행동을 동적으로 조정합니다.
명확성과 정밀도 : Relatescript는 정의 된 규칙과 용어로 명확하게 구성됩니다. 이것은 자연어에서 자주 발견되는 모호성을 줄이고 LLM이 의도 된 의미를 올바르게 해석하도록합니다.
명확한 관계 및 조건 : RelateScript의 선언적 구조는 특히 연결과 조건을 명시 적으로 공식화하는 데 적합합니다. 이것은 LLM이 결론을 도출하거나 순차적 단계를 조정하는 데 도움이 될 수 있습니다.
해석 감소 : Relatescript는 논리적 문법을 기반으로하기 때문에 LLM의 "해석 작업"이 종종 더 쉽습니다. 언어 자체에 대한 문맥 적 이해가 덜 필요하며 지침에 집중할 수 있습니다.
이해력과 접근성 : 많은 사용자의 경우 자연 언어는 특정 구조 나 정의 된 구문이 필요하지 않기 때문에 더 직관적이고 사용하기 쉽습니다. 이는 LLM에 대한 지침이 비 프로그램에 의해 생성 될 때 이점입니다.
유연성과 표현성 : 자연 언어는 훨씬 유연하며 Relatescript와 같은 고도로 구조화 된 시스템에서 표현하기 어려운 복잡한 미묘한 지침을 전달할 수 있습니다. 예에는 은유, 모호한 용어 또는 인간 의사 소통에서 공통적 인 상황 설명이 포함됩니다.
LLM의 처리 기능 : GPT-4와 같은 현대 LLM은 자연어를 이해하고 상황에 맞게 처리하도록 설계되었습니다. 그들은 종종 공식화 된 언어를 필요로하지 않고 이미 복잡한 지침을 해석 할 수 있습니다. 대부분의 경우 LLM은 자연어를 충분히 정확하게 이해하므로 RelateScript는 더 적은 장점을 제공합니다.
이 예는 relatescript를 사용하여 물리적 현상, 특히 양자 역학에서의 광전 효과를 모델링하는 방법을 보여줍니다.
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).
예상 행동 : 시스템은 광자가 금속 표면과 상호 작용하는 광전 효과를 모델링합니다. 입사 광자의 총 에너지가 금속의 작업 기능을 초과 할 때, 사고 광자 에너지와 작업 기능의 차이와 동일한 운동 에너지로 전자가 방출됩니다.
이 예는 계산 목적에 충분히 정확하고 인간의 이해를 위해 충분히 읽을 수있는 방식으로 복잡한 물리적 현상을 표현할 수있는 스크립트의 잠재력과 관련이 있습니다. 언어는 수학적 형식주의와 자연어 설명 사이의 격차를 해소하여 물리 및 기타 과학 영역의 교육 및 실제 적용에 가치가 있습니다.
relatescript : 틈새 시장을 찾습니다.
이 예제는 Relatescript가 복잡한 AI 시스템과 그 상호 작용을 모델링 할 수있는 방법을 보여줍니다.
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.
예상 행동 : 시스템은 국가 전환, 행동 및 보상을 포함하여 강화 학습 에이전트와 환경의 상호 작용을 모델링합니다. RelateScript 제형은 강화 학습 시스템의 필수 구성 요소와 관계를 캡처합니다.
이 예는 Relatescript를 사용하여 임상 시험을 구조화하고 모니터링하는 방법을 보여줍니다.
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".
예상 행동 :이 시스템은 환자, 치료 및 결과를 추적하여 임상 시험을 관리합니다. 결과를 적절히 모니터링하고 치료 효과의 통계 분석을 보장합니다. RelateScript 제형은 임상 시험 프로토콜을 정의하고 시행하는 구조화 된 방법을 제공합니다.
역사적 데이터 및 시장 동향에 따라 판매를 예측합니다.
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.
예상 행동 : 시스템은 시장 동향 증가와 마지막 기록 된 역사적 판매 수치를 기반으로 "스마트 폰"의 향후 판매를 예측해야합니다.
RelateScript는 정밀하고 논리적 일관성이 필요한 작업에 대한 구조화 된 선언 프레임 워크를 제공하므로 지식 표현, 의사 결정 및 AI 시스템과 같은 응용 프로그램에서 강력한 도구가됩니다. 구문은 가독성과 이해의 용이성을 강조하여 사용자가 자연 인간 언어와 공명하는 방식으로 복잡한 조건과 목표를 전달할 수 있도록합니다.
관련 시설을 자연 언어 프롬프트와 통합함으로써 사용자는 논리적 추론의 엄격하고 반복성으로 자연어의 직관적이고 창의적인 기능을 고정하는 두 세계의 최고를 활용할 수 있습니다. 이 하이브리드 접근법은 Relatescript의 응용 프로그램의 범위를 넓히고 LLM 중심 워크 플로우를 향상시키기위한 필수 도구로 위치하며, 대형 언어 모델과보다 신뢰할 수 있고 효율적이며 자동화 된 상호 작용을위한 길을 열어줍니다.
향후 작업에는 실제 AI 및 지식 관리 시스템에서 언어 테스트가 포함될 수 있습니다. 추가 연구는 또한 언어 구문을 정제하고, 확장 성을 탐구하며, 잠재적 보안 취약점을 해결하는 데 중점을 둘 것입니다.
Florian Fischer에 의해
https://github.com/fischerf/