ABI Framework
한계 없는 지능 — 로컬 런타임.
에이전트 오케스트레이션, WDBX 시맨틱 스토리지, 그리고 클레임-정직(claim-honest) 능력 보고를 위한 나이틀리 Rust 프레임워크. 사용자의 기기에서 검사 가능합니다.
ABI는 로컬 AI 서비스 오케스트레이션, 시맨틱 벡터 스토리지, 클레임-정직 GPU 능력 보고 및 런타임 프리미티브를 위한 나이틀리 Rust 프레임워크입니다. abi는 런타임/WDBX 쌍이며; Abbey는 원장(ledger)이 증명할 수 없는 것을 주장하지 않을 동반자입니다. 클라우드 백엔드는 선택 사항입니다. 브라우저 자율성은 현재 아닙니다. docs/brand.md를 참조하세요.
프로젝트 사이트: https://donaldfilimon.github.io/abi/ — main에서 소스가 변경될 때 GitHub Pages Actions 워크플로우를 통해 site/에서 배포됩니다 (site/README.md 참조); 벤치마크 대시보드는 측정값이 아닌 합성 샘플 데이터를 렌더링합니다.
동반자 인터페이스: abbey — 클레임 원장을 갖춘 한계 없는 지능.
Quick Start
./tools/cargo.sh --version
./tools/check.sh
./tools/cargo.sh build -p abi-cli
...
호환성: ./build.sh check → ./tools/check.sh. Zig 트리는 제거되었으며, 포팅 기록은 RUST-REWRITE-PLAN.md를 참조하세요.
Cross-compilation
크로스 타겟(Cross targets)은 해당 툴체인들이 설치되면 표준 Rust cargo 타겟 트리플을 통해 사용할 수 있습니다 (rustup target add …). 스모크 빌드(smoke builds)에는 ./tools/cargo.sh build -p abi-cli --target <triple> 사용을 선호하세요.
Local Walkthrough
CLI를 빌드한 다음, 라이브 네트워크 자격 증명 없이 로컬 기능을 테스트합니다:
./tools/cargo.sh build -p abi-cli
ABI=./target/debug/abi
$ABI backends
...
abi scheduler status는 일회성 스케줄러 프로브를 실행하고 태스크/메모리 카운터를 보고합니다. abi help --json [command] [subcommand]는 자동화를 위해 타입이 지정된 명령어/하위 명령과 단축키 및 완성 셸 메타데이터를 방출하며, abi help --completion <bash|zsh|fish>은 메타데이터 기반의 셸 완성 기능을 방출합니다. abi dashboard / abi tui는 운영 진단 스냅샷을 렌더링합니다. abi --tui는 동일한 대시보드 단축키입니다. TTY가 아닌 stdin 또는 --once와 함께 사용하면 한 프레임 후에 종료되고, 실제 TTY에서는 q/Esc까지 원시 모드 새로고침 상태로 진입합니다. 초기 페인을 선택하려면 --pane <pane>, 로그 안전 스타일링을 위해 --plain/--no-color, 선택된 페인만 렌더링하려면 --compact, 강제 일회성 렌더링을 하려면 --once, 새로고침 간격(100-60000ms)은 --interval <ms>, 기계가 읽을 수 있는 스냅샷을 원하면 --json, 페인 메타데이터를 얻으려면 --list-panes를 사용합니다. JSON 스냅샷에는 레이아웃 메타데이터(compact, 색상, 표시된 페인, 페인 제목/단축키)가 포함됩니다. abi agent plan, train, multi, 및 spawn은 로컬 스케줄러 기반의 AI 헬퍼 표면을 사용합니다. abi agent tui는 /status 세션 원격 측정을 제공하고 검증된 인쇄 가능한 모델 ID를 가진 대화형 REPL입니다. abi agent browser는 검토된 로컬 계획과 로컬 플래너 출력만을 방출하며, ABI는 브라우저를 임베드하거나 실행하지 않으며 실제 탐색은 외부 MCP 통합 단계로 남아 있습니다. abi complete 및 abi agent train CLI 경로는 MCP의 ai_complete, ai_train, 및 ai_learn과 함께 구성된 WDBX 스토어, 또는 기본적으로 $HOME/.abi/wdbx를 시도합니다. 운영자는 ABI_WDBX_PERSIST=0 또는 ABI_WDBX_PATH=:memory:로 옵트아웃할 수 있습니다. 누락되거나, 사용할 수 없거나, 실패한 지속성은 조작되지 않고 보고됩니다. 별도의 최상위 abi train 명령어는 요청된 훈련 구성만 검사하며 WDBX를 열지 않습니다.
wdbx query <path> [text] [persona]는 store-stats, 하이브리드 의미 검색(hybrid semantic search), 또는 페르소나 격리 검색(persona-isolated retrieval)을 저장하지 않습니다. cluster serve/compute info/secure demo는 네트워크화된 합의 RPC(consensus RPC), 가속기 선택, 그리고 보안 데모를 단일 호스트/참조 범위 표면으로 투명하게 노출합니다 (현재/부분/제안 매핑은 docs/spec/wdbx-north-star.mdx 참조). 클러스터 RPC는 ABI_WDBX_CLUSTER_TOKEN을 통한 공유 비밀 프레임과 선택적 노드 허용 목록(node allowlist)인 ABI_WDBX_CLUSTER_PEERS를 지원합니다. 비루프백 바인드는 토큰 없이는 시작을 거부합니다. complete --model <id>는 카탈로그 표준 ID(예: fable-5 -> claude-fable-5)를 기록하며, 인식되지 않은 ID는 stderr 경고를 출력하고 통과시킵니다. complete --live는 명시적인 라이브 전송(explicit live transport)을 통해 anthropic 제공업체 모델을 서비스하므로 저장된 자격 증명(ABI_AUTH_TOKEN=… abi auth signin anthropic)이 필요합니다.
MCP 스모크 테스트를 위해 서버를 빌드하고 MCP 클라이언트를 통해 동일한 계약 도구(contract tools)를 호출합니다:
./tools/cargo.sh build -p abi-mcp
...
계약이 적용된 MCP 도구 이름은 ai_run, ai_complete, ai_train, ai_learn, wdbx_query, scheduler_stats, scheduler_info, connector_test, gpu_status, plugin_list, wdbx_stats, 그리고 plugin_run입니다. wdbx_query는 구성된 WDBX 스토어에서 로컬 하이브리드 순위 매칭을 반환합니다. connector_test는 결정론적(deterministic) 로컬 커넥터 경로를 사용하며 라이브 네트워크 디스패치를 수행하지 않습니다.
현재 상태
- ABI는 nightly Rust (
rust-toolchain.toml)를 대상으로 하며, ./tools/check.sh로 검증합니다.
- Core 크레이트와 MCP 트랜스포트는 계약/골든 커버리지를 갖추고 있습니다. MCP stdio가 주력이며, 영구적인 MCP 2024-11-05 HTTP+SSE 세션을 제공하고 일회성 직접 응답
POST /message 호환 모드(스트림 가능한 HTTP 아님)를 유지하는 선택적 사용자 정의 루프백 HTTP 호환 리스너가 있습니다.
- 문서:
CLAUDE.md, GEMINI.md, 그리고 AGENTS.md에서 Rust 생명주기를 설명합니다.
- 빌드 게이트:
./tools/check.sh는 정책 테스트를 실행하고, ./tools/cargo.sh xtask ci verify (judo #817), Abbey 코퍼스(Python + ./tools/cargo.sh xtask abbey verify), 크기 제한, fmt, clippy (-D warnings), 워크스페이스 빌드/테스트, 그리고 문서를 실행합니다.
- 로컬 모델:
abi-model-runtime은 주체(principal), 외부 스토리지 루트, 장치 선택을 받아 정확한 레지스트리 모델이 필요합니다. 생성된 임시 픽스처는 CPU 및 로컬에서 테스트된 작은 abi-bigram-v1 Candle 경로와 Metal을 증명하며, 이는 Gemma, 품질, 배치, 속도 향상 또는 CUDA-runtime 주장이 아닌 런타임 기반의 증거입니다.
- 워커:
abi-worker는 유한한 임대(lease), 협력적 취소, 재생성 저항성 및 검증 가능한 결과를 갖춘 인증된, 청중 제한형, 유한 오프라인 입/제어 계약을 제공합니다. 게이트웨이 mTLS 구성을 재사용하지만, 리스너, 스케줄러, 모델 실행, 프로덕션 클러스터 또는 별도 호스트 배포를 주장하지는 않습니다.
- GPU: 네이티브 커널이 연결되지 않은 경우 **정직하게
accelerated=false**로 설정하고 기능 테이블과 선호 백엔드를 보고합니다. 벡터 연산은 결정론적 CPU SIMD 폴백을 사용합니다. CUDA/Vulkan/ANE 커널은 주장이 아닙니다.
- 플러그인: 열여섯 개의 번들된 플러그인은
crates/abi-plugins/plugins/ 아래에 컴파일된 mod.rs/stub.rs 쌍으로 assert_plugin_parity!와 함께 배포됩니다.
- AI/WDBX: 형제 WDBX 크레이트들은 필수 빌드 의존성입니다.
순수 abi_ai::complete는 저장소 독립적입니다. abi complete 및 abi agent train CLI 경로는 구성된/기본 영속성 저장소를 시도하며, 이는 ABI_WDBX_PERSIST=0 또는 ABI_WDBX_PATH=:memory:로 영속성이 비활성화되지 않은 경우에 해당합니다. 최상위 abi train은 WDBX를 열지 않습니다. 성공적인 쓰기는 쿼리/응답 벡터, 메타데이터 및 블록체인 항목을 기록합니다. 스케줄러 기반의 완성(completion), 학습(training) 및 에이전트 도우미는 실시간 작업/메모리 관찰 가능성을 제공합니다.
- Abbey 식별자: Abbey는 주요 공감적 다재다능(empathetic-polymath) 프로필이며, Aviva는 직접적인 전문가 모드이고, ABI는 오케스트레이션/거버넌스 계층입니다. 보존된 Primary Declaration과 주장 기반의 Current/Partial/Proposed 매핑은
docs/spec/abbey-core-identity.mdx에 있습니다. 로컬 프로필 출력은 모델 품질이나 분산 AI 주장이 아닌 결정론적 템플릿 생성입니다.
- WDBX: 필요한 형제 작업 공간(sibling workspace)의 계약 커버리지는 순서가 지정된 벡터 검색 결과, 블록 메타데이터 라운드 트립핑, 세그먼트/WAL 복구 및 압축, 시간 그래프 스냅샷 복원, 그리고 MCP 하이브리드 랭킹을 검증합니다. 런타임 영속성은 성공적인 쓰기를 조작하지 않고 건너뛰거나 사용할 수 없을 수 있습니다.
- 커넥터: Discord는 인쇄 가능한 공백이 아닌 자격 증명(credentials), 숫자 스노우플레이크형 ID, 메시지 크기를 검증하며; Twilio는 계정 SID/auth-token 형태, 기본 URL, 타임아웃, 명시적인
.live 전송, TwiML/폼 이스케이핑, 그리고 ConversationRelay 페이로드 별칭을 로컬/실시간 디스패치 전에 검증합니다.
- 외부 담보물은 리포 테스트(repo test), 벤치마크 아티팩트 또는 문서화된 소스 파일로 증명하지 않는 한, 분산 샤딩, AES/RBAC, Python/TensorFlow 스택, Kubernetes/H100 배포, 규제 인증, QPS/지연 시간/정확도, 에너지 효율성 또는 모델 벤치마크 주장을 인용해서는 안 됩니다. Apple의
FoundationModels Swift shim은 온디바이스 브릿지일 뿐입니다 (일반적인 Swift 제품 스택이 아님). docs/contracts/external-claims-audit.mdx를 참조하십시오.
아키텍처(architecture), 공개 API 계약(public API contracts), 온보딩(onboarding), 개발 가이드(development guides)는 docs/index.mdx를, 릴리스 노트 스타일의 현대화 하이라이트(modernization highlights)는 CHANGELOG.md를 참고하세요.