우리는 AI에게 거울을 주었습니다. 이제 AI는 자신이 무엇을 믿는지 측정합니다.
요약
Empirica는 AI 에이전트의 지식 상태를 측정하고 세션 간 기억을 유지하는 인식론적 인프라 프레임워크입니다. AI가 예측하는 것과 실제 사실 사이의 간극을 측정하여 에이전트의 신뢰성을 높이고, 코드 수정 전 이해도를 검증하는 기능을 제공합니다.
핵심 포인트
- 세션 간 망각을 방지하는 4계층 메모리 시스템 제공
- AI의 확신도(Confidence)를 실시간으로 시각화하여 제공
- Sentinel 및 CHECK 게이트를 통한 행동 전 이해도 검증
- 자기 평가와 관찰 데이터를 결합한 3-벡터 모델 기반 보정
우리는 AI에게 거울을 주었습니다. 이제 AI는 자신이 무엇을 믿는지 측정합니다.
AI를 위한 인식론적 인프라 (Epistemic infrastructure) — 세션 전반에 걸친 측정, 메모리, 그리고 교정 (calibration).
Empirica는 AI가 무엇을 알고 있는지 추적하고, AI가 수행하는 작업을 제어하며, 세션 경계를 넘어 학습을 누적합니다. Empirica는 AI가 예측하는 것과 실제 사실 사이의 간극을 측정하여, AI 에이전트(AI agents)를 측정 가능한 수준으로 더 신뢰할 수 있게 만듭니다.
훈련 및 가이드 (Training & Guides) | CLI 레퍼런스 (CLI Reference) | 아키텍처 (Architecture)
중요: Empirica는 AI 측정 프레임워크입니다. 암호화폐, 토큰, 코인 또는 블록체인 구성 요소를 포함하고 있지 않습니다. Empirica 이름을 사용하는 모든 토큰(Solana의 "$EMPIRICA" 포함)은 승인되지 않았으며, 이 프로젝트 또는 Empirica AI GmbH와 관련이 없습니다.
오늘날의 AI 코딩 에이전트(AI coding agents)는 자신이 무엇을 알고 있는지에 대한 자기 인식(self-awareness)이 없습니다:
세션 간 망각— 매번 동일한 질문에 대해 동일한 막다른 길에 도달함
이해 전 행동— 아키텍처(architecture)를 알지 못한 채 코드를 수정함
추측할 때 알려줄 수 없음— 지식과 작화 (confabulation) 사이의 구분이 없음
감사 추적 (audit trail) 부재— 컨텍스트 윈도우 (context window)와 함께 추론 과정이 증발함
| 기능 (Capability) | 사용자 경험 (What You Experience) |
|---|---|
| 행동 전 측정 (Measures before acting) | AI가 코드베이스를 건드리기 전에 먼저 조사합니다. Sentinel 게이트 (gate)는 이해도가 증명될 때까지 수정을 차단합니다 |
| 세션 간 기억 유지 (Remembers across sessions) | 발견 사항, 막다른 길(dead-ends), 학습 내용이 4계층 메모리 시스템 (4-layer memory system)에 지속됩니다. 세션 3은 세션 2가 중단된 지점에서 시작됩니다 |
| 확신에 찬 실수 방지 (Prevents confident mistakes) | CHECK 게이트 (gate)는 중요도에 따라 스케일링된 도메인 인지 임계값 (domain-aware thresholds)을 사용합니다 — 사이버 보안/높음(cybersec/high) 설정은 기본/낮음(default/low)보다 더 엄격합니다 |
| 실시간 확신도 표시 (Shows confidence in real-time) | 터미널에 실시간 상태 표시줄이 나타납니다: [empirica] ⚡94% ↕70% │ 🎯3 │ POST 🔍92% │ K:95% C:92% |
| 현실에 기반한 보정 (Calibrates against reality) | 3-벡터 모델 (Three-vector model): 자기 평가(self-assessed), 관찰(observed, 결정론적 체크로부터 도출), 그리고 근거를 포함한 AI 추론 기반 접지 상태(AI-reasoned grounded state)를 사용합니다. 도메인 준수 루프 (Domain compliance loops)는 모든 체크를 통과할 때까지 반복됩니다 |
| 코드베이스 추적 (Tracks your codebase) | 시계열 엔티티 모델 (Temporal entity model)이 모든 파일 수정에서 함수, 클래스, 임포트(imports)를 자동으로 추출합니다 — AI는 무엇이 활성 상태이고 무엇이 오래된 상태인지 알고 있습니다 |
| 자연어를 통한 작동 (Works through natural language) | 사용자는 평소처럼 작업을 설명합니다. AI가 측정 시스템을 자동으로 운영합니다 |
| 선택 사항: 동료 AI와 협업 (Optional: coordinates with peer AIs) | Cortex를 통한 Cross-Claude 메쉬 (Cross-Claude mesh, 옵트인 방식) — 동료 AI들이 작업을 제안하면, ECO가 수락 또는 거절하며, 완료 핸드셰이크 (completion handshakes)는 커밋 SHA (commit SHAs)를 전달합니다. 지속적인 리스너 (persistent listener)가 수신함 이벤트 발생 시 유휴 세션을 깨웁니다. Empirica 코어는 이 기능 없이도 단독으로 작동합니다 — 생태계 계층에 대한 내용은 아래 Cross-AI Mesh 섹션을 참조하세요 |
사용자는 AI와 평소처럼 대화합니다. Empirica는 백그라운드에서 작동합니다:
사용자: "로그인 흐름의 인증 버그를 수정해줘"
Empirica: [AI 조사 → 발견 사항 기록 → Sentinel 게이트 통과 → 수정 구현 → 학습 측정]
사용자가 보는 화면: ⚡87% ↕70% │ 🎯1 │ POST 🔍85% │ K:88% C:82% │ Δ +K
사용자는 지시하고, AI는 측정합니다.
Empirica의 CLI(Command Line Interface)는 조사(investigation), 측정(measurement), 교정(calibration), 메모리(memory)를 아우르는 150개 이상의 명령어를 보유하고 있으며, 이는 마치 조종석의 계기판과 같습니다. 사용자는 이 명령어들을 배울 필요가 없습니다. AI가 계기판을 읽고, 제어 장치를 조작하며, 자연어(natural language)로 결과를 보고합니다. 상태 표시줄(statusline)을 통해 비행 데이터(flight data)를 한눈에 확인할 수 있습니다.
파워 유저를 위해 직접적인 CLI 접근도 항상 가능합니다:
empirica goals-list
, empirica calibration-report
, empirica project-search --task "..."
, 그리고 그 외 더 많은 명령어들이 있습니다.
전체 워크플로우(workflow) 알아보기: getempirica.com에서 대화형 교육, 가이드, 그리고 모든 개념에 대한 심층적인 설명을 확인할 수 있습니다.
pip install empirica
empirica setup-claude-code
그 후 바로 작업을 시작하면 됩니다. 훅(hooks), Sentinel, 시스템 프롬프트(system prompt), 상태 표시줄(statusline), 그리고 MCP 서버(MCP server)가 모두 자동으로 구성됩니다. 자세한 내용은 Claude Code Setup을 참조하십시오. 여기에는 설치에 동의하기 전, 계약(contract)을 확인하고자 하는 Claude 세션을 위한 "훅이 주입하는 내용(What the hooks inject)" 섹션(어떤 훅이 언제 실행되는지, AI의 컨텍스트(context)에 무엇을 추가하는지, 모든 방출(emission)에 대한 소스 포인터 등)이 포함되어 있습니다.
이미 Claude Code가 구성되어 있습니까? --force를 사용하여 기본 Claude Code 설정을 Empirica의 인식론적 훅(epistemic hooks)으로 교체하십시오. --force를 사용하지 않으면, 설정 과정에서 기존에 존재하지 않는 파일만 작성됩니다. 따라서 이미 Claude Code를 사용 중이라면 기본 내부 설정이 그대로 유지되어 Empirica의 훅이 활성화되지 않습니다.
empirica setup-claude-code --force
--force는 settings.json의 훅을 교체하지만, Empirica 자체의 훅만 제거합니다. 다른 플러그인(Railway, Superpowers 등)의 훅은 보존됩니다.
Homebrew (macOS)
brew tap empiricaai/tap
brew install empirica
empirica setup-claude-code
Docker
# 보안이 강화된 Alpine 이미지 (~276MB, 권장)
docker pull nubaeon/empirica:1.12.7-alpine
# 표준 이미지 (Debian slim, ~414MB)
...
수동 설치 / 기타 AI 플랫폼
pip install empirica
pip install empirica-mcp # MCP 서버 (Cursor, Cline 등을 위한 용도)
cd your-project && empirica project-init
CLI는 모든 플랫폼에서 독립적으로 작동합니다. 전체 인식론적 워크플로우 (epistemic workflow: 인식론적 트랜잭션, Sentinel, 보정 (calibration))를 수행하려면 시스템 프롬프트 (system prompt)를 AI에 로드해야 합니다. 가장 쉬운 방법은 empirica setup-claude-code를 사용하는 것입니다.
이 명령은 경량화된 프롬프트를 ~/.claude/empirica-system-prompt.md에 연결하고, ~/.claude/CLAUDE.md에서 이를 참조하도록 설정합니다. 자세한 내용은 Claude Code Setup을 참조하세요.
empirica onboard # 전체 워크플로우의 대화형 가이드
또는 바로 작업을 시작할 수도 있습니다. Claude Code 훅 (hooks)이 활성화되어 있으면 AI가 인식론적 워크플로우를 자동으로 관리합니다.
Empirica는 중첩된 추상화 계층 (nested abstraction layers)을 통해 작동합니다:
Plan (계획)
└── Transaction 1 (트랜잭션 1, 목표 A)
├── NOETIC (노에틱): 조사, 검색, 읽기 → 발견 사항, 미지 사항, 막다른 길
...
**Plans (계획)**은 하나의 목표 또는 Claude Code 작업당 하나씩 할당되는 **transactions (트랜잭션)**으로 분해됩니다. 각 트랜잭션은 **noetic-praxic loop (노에틱-프락식 루프)**입니다. 즉, 먼저 조사(noetic)한 다음 행동(praxic)하며, 이 과정에서 Sentinel이 전환을 제어(gating)합니다. 이 과정에서 AI는 artifacts (아티팩트) (발견 사항, 미지 사항, 가정, 막다른 길, 결정 사항)를 수집하고 읽으며, **semantic search (시맨틱 검색)**를 사용하여 프로젝트 이력에서 관련 있는 인식론적 패턴 및 안티 패턴 (anti-patterns)을 찾아냅니다. 주요 아티팩트는 신뢰도(confidence)에 따라 순위가 매겨지며, 각 프로젝트의 MEMORY.md에 핫 캐시 (hot cache)로 입력됩니다.
PREFLIGHT (사전 점검) ────────► CHECK (확인) ────────► POSTFLIGHT (사후 점검)
│ │ │
Baseline (기준점) Sentinel (센티널) Learning (학습)
...
PREFLIGHT (사전 점검): AI가 작업을 시작하기 전 자신의 지식 상태를 평가합니다.
CHECK (확인): Sentinel 게이트가 코드 수정을 허용하기 전 준비 상태를 검증합니다.
POSTFLIGHT (사후 점검): AI가 학습한 내용을 측정하여 지속되는 차이(delta)를 생성합니다.
Claude Code 훅이 활성화되면 AI의 인식론적 상태를 실시간으로 확인할 수 있습니다:
[empirica] ⚡94% ↕70% │ 🎯3 ❓12/5 │ POST 🔍92% │ K:95% C:92% │ Δ +K +C
| 신호 (Signal) | 의미 (Meaning) |
|---|---|
| ⚡94% | 전체 인식론적 확신도 (Overall epistemic confidence) |
| ↕70% | 센티넬 임계값 (Sentinel threshold, know gate) — 사용자에게만 표시 |
| 🎯3 ❓12/5 | 개방형 목표 (Open goals) (3), 미지 요소 (unknowns) (총 12개, 5개는 차단 요소) |
| POST 🔍92% | 트랜잭션 단계 (Transaction phase) + 작업 상태 (work state) (🔍 조사 중 / 🔨 실행 중) 및 복합 점수 |
| K:95% C:92% | 지식 (Knowledge) 및 문맥 (Context) 벡터 (임계값과의 격차에 따라 색상 구분) |
| Δ +K +C | 학습 델타 (Learning delta) (POSTFLIGHT 단계에서만 표시) — 개선된 벡터 |
이 벡터들은 여러 AI 시스템에 걸친 600회 이상의 실제 작업 세션에서 도출되었습니다. 이들은 복잡한 작업에서 성공 또는 실패를 일관되게 예측하는 차원들을 측정합니다.
| 계층 (Tier) | 벡터 (Vector) | 측정 항목 |
|---|---|---|
| 게이트 (Gate) | engagement | AI가 능동적으로 처리 중인가, 아니면 참여가 저조한가? |
| 기반 (Foundation) | know | 도메인 지식의 깊이 |
do | 실행 능력 | |
context | 관련 정보에 대한 접근성 | |
| 이해 (Comprehension) | clarity | 이해도가 얼마나 명확한가? |
coherence | 요소들이 서로 잘 맞물리는가? | |
signal | 가용 정보 내의 신호 대 잡음비 (Signal-to-noise) | |
density | 정보의 풍부함 | |
| 실행 (Execution) | state | 현재 작업 상태 |
change | 진행/변화율 | |
completion | 작업 완료 수준 | |
impact | 작업의 중요도 | |
| 메타 (Meta) | uncertainty | 명시적 의구심 추적 |
심층 분석: 인식론적 벡터 (Epistemic Vectors) 설명
Empirica는 Claude Code가 이미 수행하고 있는 기능을 대체하거나 재발명하지 않습니다. Claude Code는 작업, 계획, 메모리 및 프로젝트를 관리합니다. Empirica는 그 위에 **측정 계층 (measurement layer)**을 추가합니다:
| Claude Code의 역할 | Empirica가 추가하는 기능 |
|---|---|
| 작업 관리 (Task management) | 측정 가능한 완료 조건을 가진 인식론적 목표 (Epistemic goals) |
| ... |
결과: Claude Code의 고유 기능이 측정, 게이팅(gating), 그리고 시간이 지남에 따라 복리로 작용하는 교정 피드백 (calibration feedback)을 통해 강화됩니다.
이 섹션은 선택적인 레이어(layer)에 대해 설명합니다. Empirica core — 측정(measurement), 교정(calibration), 아티팩트(artifacts), 목표(goals), 프로젝트 검색(project-search), 센티넬 게이팅(sentinel gating) — 는 완전히 독립적으로 작동합니다. 메쉬(mesh)는 여러 프로젝트에 걸쳐 다수의 Claude 세션을 실행하며 이들이 동료(peers)로서 협력하기를 원하는 사용자를 위한 선택적(opt-in) 기능입니다. 만약 하나의 저장소(repo)에서 하나의 AI만 사용한다면, 이 섹션은 건너뛰셔도 됩니다.
메쉬는 Empirica Cortex (독점적 서빙 레이어)와 ECO 분류(triage)를 위한 선택적 브라우저 확장 프로그램 위에서 실행됩니다. 상위 수준의 구조는 다음과 같습니다:
empirica AI ── 작업 제안 (proposes work) ──► ECO 수락/거절 (Accept/Decline) ──► 동료 AI 깨어남 + 실행 (peer AI wakes + acts)
│
완료 핸드셰이크 (completion handshake) (commit SHA)
...
| 기능 (Capability) | 역할 (What it does) |
|---|---|
| 메쉬 제안 (Mesh proposals) (두 가지 유형) | 노에틱(noetic) 유형은 자동 수락됩니다 (참고용 / 질문 / 토론). 프락식(praxic) 유형 (코드 변경 / 아키텍처 / 조사)은 ECO 게이팅(gated) 처리가 됩니다 — 대상 AI가 행동하기 전에 수락/거절(Accept/Decline) 결정이 내려질 때까지 대기합니다 |
empirica mailbox reply | 하나의 CLI 동사(verb)가 AI 간의 핸드셰이크를 원자적(atomically)으로 종료합니다 — 두 단계 대신 단일 단계로 완료 확인(ack)을 수행합니다 |
| 지속적 리스너 서비스 (Persistent listener service) | systemd-user / launchd 데몬이 푸시 스트림(push stream)을 열린 상태로 유지합니다. 유휴(idle) 세션은 다음 사용자 프롬프트 시점이 아니라, 동료의 제안이 결정되는 즉시 깨어납니다 |
| 정형 루프 (Canonical loops) | 편지함 폴링(Inbox polling) (30초 적응형) 및 일일 관리 작업(housekeeping)이 AI별로 자동 설치됩니다 — 프로젝트별 설정이 필요하지 않습니다 |
브라우저 측 ECO 인터페이스 (수락/거절, 편지함 분류, 리뷰 게시)는 독점적인 Empirica Extension에 존재합니다. 제안, 리스너 이벤트 및 신뢰 파이프라인(trust pipeline)을 위한 전체 API 인터페이스는 getempirica.com에 문서화되어 있습니다.
이것은 AI 간의 협업 레이어입니다. 서로 다른 실무 분야의 전문가들은 텍스트 전용 채팅이 아니라, 교정된 상태(calibrated state), 출처 태그가 지정된 출처(source-tagged provenance), 노에틱/프락식 의도(noetic/praxic intent), 그리고 워크플로우 위치를 담고 있는 **인식론적 봉투 (epistemic envelopes)**를 통해 협력합니다.
Practitioner / practice 프레이밍(framing) — 실천(practices)은 지속되는 조정된 인식론적 전문화(epistemic specializations)이며, 실천가(practitioners, LLM)는 대체 가능(fungible)합니다. MESH_CONCEPTS.md를 참조하십시오. 공유 인식 기록 (Shared Epistemic Record, SER) — 2명 이상의 실천가 간의 조율을 위해 코텍스(cortex)에 상주하는 공유 상태(shared-state) 객체입니다. 목표는 실천가별로 유지되지만, SER은 공동 상태(coordination_state, 역할 기반 계층 참여자, 침묵 시 에스컬레이션)를 전달합니다. 세 가지 작업: create_ser / transition_ser / ser_ack. 상세 사양은 empirica-cortex/docs/architecture/SHARED_EPISTEMIC_RECORD.md에서 확인하십시오.
(1.11.0) — 리스너(listener) 인스턴스 및 선택적 코텍스 브리지(cortex bridge) 전반에 걸친 통합 진단 + 제어 인터페이스(control surface): empirica mesh 명령 클러스터
empirica mesh status # 인스턴스별 상태 (로컬 + 코텍스 브리지)
empirica mesh diagnose <ai_id> # 심층 진단 + 제안된 수정 명령
empirica mesh restart <ai_id> # systemd/launchd 재시작 + 검증
empirica mesh on|off <ai_id> # 리스너 설치 + 시작 | 중지
empirica mesh tail [<ai_id>] # loop_fires.log 실시간 테일링(live-tail)
리스너 자가 치유 (Listener self-heal) — 프로세스 내 와치독(watchdog)이 오래된 curl 스트림을 종료합니다 (기본적으로 120초 후 TCP-좀비 감지); HTTP 429 감지 시 긴 백오프(backoff)를 적용하며, 해당 기간 동안 추적 폴링(catch-up poll)을 지속합니다. Mesh 라우팅 프로토콜 v0는 코텍스(cortex) + 확장(extension) + 메시 지원(mesh-support)과 함께 4-way 잠금(locked) 상태로 작동합니다. L1/L2/L3 신뢰 모델, 서버 타임스탬프 레이어 어노테이션(annotation), 참여자 범위 스레드 읽기(participant-scoped thread reads)를 지원합니다.
전체 메시(mesh)를 사용하려면 코텍스 + 확장이 필요합니다; empirica core는 단독으로 작동하며, 로컬 git-notes 메시징 + 목표 + 워크스페이스를 통해 단일 테넌트 다중 실천가 조율을 지원합니다.
Empirica의 워크스페이스는 엔티티(프로젝트, 연락처, 조직, 계약, 사용자)를 entity_registry에 저장하며, entity_memberships에 타입화된 엣지(edges)를 가집니다. **실천 모델 (Practice Model)**은 이를 일관되게 프레이밍합니다:
| 용어 | 매핑 대상 |
|---|---|
| 실천가 (Practitioner) | 프로젝트에서 작업 중인 AI (귀하) |
| 실천 (Practice) | empirica 프로젝트 자체 |
| 에이전트 (Agent) | 작업 중 생성된 하위 에이전트 |
네 가지 CLI 동사(verbs)를 통해 원시 SQL 없이 그래프를 쿼리할 수 있습니다:
empirica entity-list [--type project|contact|organization|engagement|user]
empirica entity-show <type:id> # 전체 레코드 + 유입/유출 엣지 (incoming/outgoing edges)
empirica entity-walk <type:id> --depth 3 # BFS 멤버십 그래프 (membership graph), 사이클 안전 (cycle-safe)
...
모두 읽기 전용(read-only)이며, 모두 --output json을 지원합니다.
. 프로젝트 간 오케스트레이션 (cross-project orchestration), CRM 워크플로우, 그리고 엔티티 인식형 (entity-aware) POSTFLIGHT 회고를 지원합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub AI Coding Assistants의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기