MindScript: MindsEye를 위한 언어 레이어 (Ledger-First Automation, Domain Dialects, and Searchable Memory)
Source: Dev.to
MindsEye는 자동화 엔진입니다.
MindScript는 사용 가능한 “목소리”를 부여하는 언어 레이어입니다.
MindsEye가 신경계라면, MindScript는 의도 구문 — 무슨 일이 일어나야 하는지를 구조화된 방식으로 설명하고, 가드레일, 출처 증명, 도메인‑특화 어휘를 포함합니다.
이 글에서는 MindScript를 다음과 같이 소개합니다:
- 프로그래머블 프롬프트 언어 (예, 프롬프트 언어이지만 구조가 있음)
- ledger‑first 실행 모델 (추적 가능성이 기본이며 선택 사항이 아님)
- 멀티‑도메인 방언 시스템 (각 자동화가 자체 “회사‑고유 언어”를 가질 수 있음)
- 검색 가능한 메모리 레이어 (템플릿, 원장, 런타임 출력 전반에 걸친 의미적 회상)
Repo Index (Core + Demos)
MindScript layer
- mindscript-core
- mindscript-templates
- mindscript-ledger
- mindscript-runtime
- mindscript-search
- mindscript-demos
MindsEye layer (selected)
- mindseye-workspace-automation
- mindseye-google-ledger
- mindseye-google-workflows
- minds-eye-core
- minds-eye-search-engine
- minds-eye-dashboard
- minds-eye-automations
1) MindScript가 도입하는 것 (그리고 왜 중요한가)
대부분의 자동화 스택은 다음 중 하나입니다:
- GUI‑first (Zapier‑식)이며 버전 관리가 어려움, 혹은
- code‑first (맞춤 스크립트)이며 살아있는 시스템으로 운영하기 어려움.
MindScript는 그 중간에 위치합니다:
- ✅ 선언적이며 인간이 직접 작성 가능
- ✅ 컴파일될 만큼 구조화됨
- ✅ 감사할 만큼 안전함
- ✅ 진화할 만큼 유연함
핵심 아이디어
자동화는 동일한 런타임 + 원장을 공유하지만, 각 자동화마다 고유한 언어 표면을 가집니다.
따라서 재무, 채용, 컴플라이언스, 고객 지원 방언을 모두 동일한 커널 위에서 실행할 수 있습니다.
2) MindsEye + MindScript 아키텍처 (ledger‑first, dialect‑driven)
정신 모델
- MindScript → 스테이지 로 컴파일
- 스테이지 → 도메인 자동화에 의해 실행
- 각 스테이지 → 원장 항목을 기록
- 원장 → 검색 가능한 메모리 (의미 + 구조 검색)
Diagram: end‑to‑end flow
flowchart TD
A[Human Intent] --> B[MindScript Text]
B --> C[Compiler / Parser]
C --> D[Stages: typed + constrained]
D --> E[Runtime Executor]
E --> F[Ledger Append]
F --> G[Search Index]
G --> H[Recall + Reuse + Replay]
중요한 점
원장은 진실입니다.
원장은 실제로 기록된 내용을 타임스탬프, 태그, 재현 가능하게 저장하며, 에이전트가 주장하는 내용이 아니라 실제 기록된 내용을 보여줍니다.
3) 최소 MindScript 예시
ledger(debit:AR, amount:1200 USD)
search{domain:docs, query:"ledger best practices", top_k:5}
task build-report uses analytics after search
metric coverage = agg(count(unique(accounts)))
이 하나의 스크립트는 다음을 혼합합니다:
- 재무 예약
- 의미 검색
- 오케스트레이션
- 분석
…스파게티 코드가 되지 않는 이유는 방언이 혼란을 방지하기 때문입니다.
4) 그 뒤에 있는 코드 구조 (우리가 실제로 구축하고 있는 것)
패턴:
Dialect → Automation → Shared Runtime → Ledger Entry → Searchable Memory
Architecture sketch (Python)
# docs/mindseye_architecture.py (concept sketch)
# Immutable LedgerEntry
# Dialects validate + parse
# Automations execute stages
# Runtime remains domain‑agnostic
# NOTE: this is an architectural reference. Implementation lives across the repos.
Diagram: kernel vs. domain
flowchart LR
subgraph Kernel[MindsEye Kernel]
R[Runtime Executor]
L[Ledger]
S[Search Index]
end
subgraph Domains[Domain Automations]
F[Finance Dialect + Automation]
O[Orchestration Dialect + Automation]
A[Analytics Dialect + Automation]
Q[Search Dialect + Automation]
end
F --> R
O --> R
A --> R
Q --> R
R --> L --> S
S --> R
커널은 안정적이며, 도메인은 빠르게 진화할 수 있습니다. 이것이 바로 핵심 포인트입니다.
5) Codex 프롬프트 (시스템을 확장하기 위해 생성)
Prompt 1 — MindScript 컴파일러 + 스테이지 모델 구축
목표: 의미 중복 감지를 포함해 MindScript를 타입이 지정된 스테이지로 파싱.
Python 패키지 mindscript_core를 생성하고 다음을 구현:
Stage,Program,LedgerEntry(불변 페이로드 + 태그)compile_mindscript(source: str, registry)는 라인별로 파싱하고, 각 라인을 정확히 하나의 자동화 방언에 매핑하며, 중복이 있으면 오류를 발생시키고program.automations리스트에 저장
다음 단위 테스트 포함:
- 재무 라인은 재무 방언에만 매핑
- 검색 라인은 검색 방언에만 매핑
- 중복 라인은 오류 발생
깨끗한 폴더 구조, pyproject.toml, 테스트 제공.
Prompt 2 — 플러그인 레지스트리 + 방언 버전 관리 시스템 구축
목표: 자동화 플러그인이 방언을 등록하고, 방언 계통이 보존됨.
다음 Python 모듈 구현:
DialectRegistry는 방언 이름당 여러 버전을 지원하고, 활성 버전 포인터와 기존 버전을 삭제하지 않고 새 버전을 등록하는evolve()메서드를 제공AutomationRegistry는AutomationPlugin을 등록하고 방언 탐색성을 보장
dialect_lineage_example()을 추가해 방언이 v1 → v2 로 진화하면서도 런타임이 이전 프로그램을 검증할 수 있음을 시연. 타입 힌트와 테스트 포함.
Prompt 3 — ledger‑first 런타임 + 재생 엔진 구축
목표: 모든 작업이 원장에 기록되고, 결정론적으로 재생 가능.
런타임 엔진 패키지 mindscript_runtime에 다음을 포함:
ExecutionContext는 원장 리스트, 공유 메모리 딕셔너리, 재귀 제한 안전장치를 가짐run(program)은 방언으로 검증하고 자동화로 실행하며 원장 항목을 기록replay(ledger_entries)는 상태를 재구성하고 원장 순서와 무결성을 확인
프로그램을 실행한 뒤 재생하는 데모 포함.
Prompt 4 — “시간적 회상”을 위한 mindscript-search 인덱싱 구축
목표: 템플릿, 원장, 런타임 출력을 인덱싱하고 빠르게 검색.
서비스 mindscript_search를 생성하고:
- CLI와 최소 API 제공
- 소스 템플릿, 원장 항목, 런타임 출력 인덱싱
- 의미적 및 시간적 쿼리 지원
(구현 세부 사항은 생략)