Zero-with-Dot (Oleg Żero): 텍스트... 노트

Zero-with-Dot (Oleg Żero): 텍스트-투-다이어그램 AI 시스템: LLM이 제대로 이해하는 DSL 설계

이 텍스트는 소프트웨어 개발에서 발생하는 의사소통 단절에 대한 해결책인 Gnomon을 소개합니다. 서로 다른 이해관계자들이 시스템 설명을 다르게 해석하는 문제입니다. 다양한 경험을 가진 저자는 "송장을 수정하기 위한 에이전트를 구축하고 있습니다"와 같은 문구에서 "수정"과 같은 용어가 어떻게 서로 다른 이해와 프로젝트 실패로 이어지는지를 강조합니다. 대규모 언어 모델(LLM)의 등장은 그럴듯하지만 잠재적으로 부정확한 아키텍처 다이어그램을 생성함으로써 이러한 문제를 더욱 악화시킵니다.Gnomon은 작은 언어인 gnomocode와 온톨로지에 대한 문장을 검증하는 컴파일러를 제공하여 이 문제를 해결합니다. LLM은 자연어를 gnomocode로 번역하고, 컴파일러는 그 유효성을 확인하며, 출력은 시각화, 쿼리 또는 다시 산문으로 변환될 수 있습니다. Python으로 작성된 컴파일러는 Lark, rdflib 및 pySHACL을 사용합니다.Gnomon의 동기는 구어와 실행 가능한 다이어그램 간의 격차를 해소하여 일관성과 책임성을 보장하는 것입니다. 대화에서 모델로, 코드/다이어그램에서 읽기 쉬운 텍스트로 양방향으로 작동하는 것을 목표로 합니다. 대화에서 모델로 가는 순방향이 기사의 주요 초점입니다.Gnomon의 주요 요구 사항에는 모호하지 않은 용어, 최신 아키텍처 요소(LLM, 메모리, 도구)에 대한 기본 지원, 사람과 모델 모두에게 읽기 쉬움, 단일 모델에서 여러 보기, 버전 관리, 불확실성을 표현하는 기능이 포함됩니다. 이 접근 방식은 LLM에 직접 질문하거나 구조화된 객체를 사용하는 것과 같은 더 간단한 방법을 시도했지만 아키텍처 그래프의 복잡성과 누락된 정보를 해결하지 못했습니다.UML 또는 C4와 같은 기존 표기법도 고정된 기호, "아마도" 문구의 부족, 제한된 의미론적 검사로 인해 불충분했습니다. 컴파일러가 있는 사용자 지정 언어가 가장 실행 가능한 솔루션임이 입증되었습니다. 컴파일러는 LLM에 대한 지역화된 오류 및 피드백을 제공하여 수정합니다.Gnomon의 핵심은 SKOS, PROV-O, DPV와 같은 기존 RDF 어휘를 기반으로 구축된 온톨로지입니다. 57개의 용어와 12개의 모듈로 구성된 이 커널은 관계와 규칙을 정의하여 일관성을 보장합니다. 온톨로지는 어휘, 컴파일러 오류 메시지, 산문 생성 및 다이어그램 보기를 결정합니다.Gnomocode 자체는 Markdown, Python 및 그래프 쿼리 언어에서 차용한 구문을 사용하여 가독성과 정확성을 위해 설계되었습니다. 선언, 속성 할당, 작업 및 흐름과 같은 개념을 지원합니다. 중요한 기능은 사실에 대한 신뢰 수준을 표현하는 기능으로, 시스템이 추가 확인이 필요한 정보를 식별할 수 있도록 합니다.Python으로 작성된 컴파일러는 구문 분석을 위해 Lark를 사용합니다. 문법은 온톨로지에서 직접 생성되므로 언어를 확장하는 것은 코드가 아닌 데이터를 수정하는 것을 의미합니다. 이 모듈식 설계를 통해 핵심 구문 규칙을 변경하지 않고도 유연하게 어휘를 확장할 수 있습니다.
CdXz5zHNQW_IUf3kDkWHC.png