Show Dev: ARK — AI‑네이티브 코드를 위한 주권 컴파일러 (Rust VM + 뉴로‑심볼릭 런타임)
Source: Dev.to
Introducing ARK – a Sovereign Compiler + Runtime
___ ___
/\ \ /\ \
/::\ \ /::\ \
:/\:\ \ /:/\:\ \
::\~\:\ \ /::\~\:\ \
:/\:\ \:\__\ /:/\:\ \:\__\
\/__\:\/:/ / \/_|::\/:/ /
\::/ / |:|::/ /
/:/ / |:|\/__/
/:/ / |:| |
\/__/ \|__|
“Reality is programmable. Truth is the compiler. Everything else is noise.”
“현실은 프로그래밍할 수 있다. 진리는 컴파일러이다. 그 외 모든 것은 잡음이다.”
Most “AI apps” are a tangle of:
- Python/JS glue
- Random HTTP calls to LLM APIs
- Half‑remembered prompts and hidden state
Great for demos. Terrible when you want:
- Long‑lived agents with real identity and state
- Local‑first AI that doesn’t die with a vendor key
- A runtime you can audit instead of a black‑box SaaS
- AI as a syscall, not as a website
대부분의 “AI 앱”은 다음과 같이 뒤섞여 있다:
- Python/JS 연결 코드
- LLM API에 대한 무작위 HTTP 호출
- 절반만 기억하는 프롬프트와 숨겨진 상태
데모에는 좋지만, 다음을 원할 때는 끔찍하다:
- 실제 정체성과 상태를 가진 장기 에이전트
- 벤더 키가 사라져도 죽지 않는 로컬 퍼스트 AI
- 블랙박스 SaaS가 아니라 감사할 수 있는 런타임
- 웹사이트가 아니라 시스템 콜 형태의 AI
ARK 아키텍처
ARK는 귀여운 DSL이 아닙니다. AI‑네이티브 컴퓨팅을 위한 삼원 시스템입니다:
| 구성 요소 | 역할 | 특징 | 분위기 |
|---|---|---|---|
| Ark Virtual Machine (AVM) | 척수 / 동적 실행 | 선형 메모리 (sys.mem.*)SHA‑256 + Merkle 루트를 통한 무결성 선택적 Proof‑of‑Work 체인 + P2P (Protocol Omega) | 차갑고, 정확하며, 가차 없음 |
| The Neuro‑Bridge — Python Cortex (Qi) 🐍 | 창의적이고 혼돈적인 사고 | meta/ark.py 인터프리터intrinsic_ask_ai → LLM에 직접 연결로컬/원격 AI 스택과 연결하는 접착제 | 유동적이고, 적응적이며, 위험함 |
| The Sovereign Code — Ark Language (Ark‑0) 📜 | 구속 마법 | 선형 타입: 자원은 소유되고, 소비되며, 재생됩니다 GC 없음, 메모리 누수 없음, 보이지 않는 부수 효과 없음 | 작은 표면, 복잡한 의미 체계 |
생각해 보세요: Rust 기반 VM + 작은 IR + AI 시스템 콜, P2P 지원 백본에 연결된 형태.
ARK이 제공하는 것 vs. 머신이 제공하는 것
| Feature | ARK | 전통적인 “머신” |
|---|---|---|
| Linear Types 🛡️ | 물리 기반 메모리 안전: 한 번 사용하면 사라짐 | “아마 가비지 컬렉터가 알아서 할 거야” |
| Neuro‑Symbolic 🧠 | AI를 네이티브 intrinsic(intrinsic_ask_ai)으로 제공18개의 SDK + 프롬프트 묘지 | 하드코딩된 API 호출 |
| The Voice 🔊 | sys.audio.* 로 네이티브 오디오 합성 | “브라우저가 허용해 주길 바래” |
| Time & Crypto ⏳ | 결정론적 시간 + Ed25519 서명 | npm install leftpad-of-crypto |
| P2P / Omega 🌐 | 선택적 PoW 백업 & Merkle‑화된 상태 | 다른 사람의 S3에 중앙 집중식 로그 |
예시: “머신”에서 ARK로 전환
# Machine style
response = client.chat.completions.create(...)
# pray it's parseable
let prompt = "Summarize the last 10 log lines."
let summary = intrinsic_ask_ai(prompt)
sys.net.send("log-summary-peer", summary)
VM 관점에서 intrinsic_ask_ai는 단순히 또 다른 시스템 콜입니다:
input: buffer
output: buffer
호스트(Python / Qi) 관점에서는 AI가 동작할 수 있는 단일 게이트가 됩니다:
def intrinsic_ask_ai(prompt: str) -> str:
import requests
resp = requests.post(
"http://localhost:8000/v1/chat/completions",
json={
"model": "qwen2.5-coder",
"messages": [{"role": "user", "content": prompt}],
},
timeout=30,
)
data = resp.json()
return data["choices"]["message"]["content"]
왜 중요한가
- Ark 코드를 건드리지 않고 모델을 교체할 수 있습니다.
- 모든 AI 상호작용을 로그에 기록합니다.
- CI에서 가짜 오라클을 사용해 Ark 프로그램을 테스트합니다.
- AI를 박스 안에 넣어, 그 박스 안에 살지 않게 합니다.
🧬 Ark‑0: 최소, 선형, 명시적
ARK‑0는 의도적으로 작게 설계되었습니다:
- 버퍼의 선형 소유권
- 작은 시스템 콜 표면
- 뒤에서 작동하는 “교묘한” 마법 없음
예시 스니펫
# Allocate 32 bytes
let buf = sys.mem.alloc(32)
# Write bytes (each write consumes old buffer)
let buf2 = sys.mem.write(buf, 0, 42)
let buf3 = sys.mem.write(buf2, 1, 99)
# Hash the final buffer
let h = sys.crypto.hash(buf3)
# Ship the hash to a peer
sys.net.send("peer-1", h)
당신은 실제로 모든 바이트가 어디로 갔는지 그래프를 그릴 수 있습니다. 그것이 요점입니다:
- 추적하기 쉬움
- 이해하기 쉬움
- 의미 없는 코드를 끼워넣기 어려움
🌐 Optional: Protocol Omega (PoW + P2P + Shared Truth)
순수 로컬 실행을 원한다면, 이 부분을 건너뛰세요.
공유되고 변조 방지된 상태를 원한다면, ARK는 Protocol Omega에 앵커할 수 있습니다.
Blocks
index, timestamp, prev_hash, merkle_root, hash, nonce, transactions[]
Transactions
- Ark 코드, 상태 전이, 혹은 임의 데이터를 담습니다
Consensus (dev mode)
- SHA‑256 PoW, 4개의 0 접두사
- 토큰도 없고, 폰지도 없습니다 — 단순히 조정 기반입니다
Use cases
- 에이전트가 실행한 내용의 검증 가능한 히스토리
- 모든 사람이 동일한 원장을 보는 다중 노드 워크플로
- 인프라를 재구축하지 않고도 주권 에이전트 네트워크 실험
🔭 Mental Model
graph TD
subgraph "Zheng (Rust Core)"
VM[Ark VM]
Chain[(Protocol Omega)]
VM --> Chain
end
subgraph "Qi (Python Neuro‑Bridge)"
Bridge[Python Bridge]
AI[LLM Backend(s)]
Bridge -->|intrinsic_ask_ai| AI
VM |FFI / IPC| Bridge
end
subgraph "Ark‑0 Programs"
App1[Agent Orchestrator]
App2[Workflow Engine]
App3[Monitoring Tool]
end
App1 --> VM
App2 --> VM
App3 --> VM
모델을 직접 호출하지 않습니다.
VM에 대화하고, VM이 브리지와 대화하며, 브리지가 AI와 대화합니다.
- Rust (stable)
- Python 3.10+
- 중앙 집중형 AI 플랫폼에 대한 약간의 불신
1단계 — 복제 및 빌드
git clone https://github.com/merchantmoh-debug/ark-compiler.git
cd ark-compiler
# Forge the Silicon Heart
cd core
cargo build --release
(레포지토리 README에 설명된 나머지 빌드 단계들을 계속 진행하세요.)
위험한 로컬 실행 허용
export ALLOW_DANGEROUS_LOCAL_EXECUTION="true"
Neuro‑Bridge를 사용하여 Ark 앱 실행
cd ..
python3 meta/ark.py run apps/hello.ark
ARK가 표시됩니다:
.ark코드를 로드합니다- 무결성을 검증합니다
- Rust VM을 통해 실행합니다
Step 3 — MAST로 컴파일하고 VM에서 직접 실행
주권 코드를 MAST JSON으로 변환
python3 meta/compile.py apps/law.ark law.json
철제 머신에 공급하기
cd core
cargo run --bin ark_loader -- ../law.json
이것은 ARK를 다른 시스템이나 P2P 흐름에 삽입하기 위한 경로이다.
우리는 “최선의 관행”을 최적화하지 않는다.
우리는 동형성을 최적화한다:
- 코드 한 줄이 실제 구조에 매핑되지 않으면 거짓이다.
- 시스템이 숨겨진 복잡성에 의존하면 속임수이다.
설계 원칙
“진실이 내 편견과 모순될 때, 내 편견은 사라진다. 진실은 남는다.”
그 이유는:
- VM이 작다.
- 언어가 최소이다.
- AI 경계가 명시적이다.
- 런타임을 검사할 수 있다.
🤝 스웜에 참여하세요
이 글을 읽고 무언가가 맞아떨어지는 느낌이 든다면, 그것이 당신의 주파수입니다.
Architect: Mohamad Al‑Zawahreh (The Sovereign)
License: AGPLv3
Mission: Ad Majorem Dei Gloriam
참여 방법
- Star / 레포지토리 감시
- 읽기
docs/ARK_TECHNICAL_DOSSIER.md에서 자세한 사양 확인 - 탐색 소스 트리:
core/src — VM, loader, Omega
meta/ — Python bridge, compiler, AI wiring
apps/ — Sample Ark programs
한 번이라도 생각해 본 적이 있다면:
“AI는 내가 빌리는 제품이 아니라 내 런타임의 시스템 콜이어야 해.”
…ARK는 바로 그 런타임을 제공하려는 시도입니다. 질문, 비판, 혹은 전쟁 이야기를 댓글에 남겨 주세요.
런타임, 에이전트, 혹은 로컬 LLM OS를 구축하고 있다면, 여러분의 아이디어가 필요합니다.