TL;DR
- Ghost Injection: 사용자는 LLM이 모든 문서를 읽었다고 생각하지만, 실제로는 압축된 고밀도 컨텍스트만 전송
- 비용 절감: 토큰 비용 90% ↓
- 속도 향상: 레이턴시 95% ↓ (수 초 → 100ms)
- 프라이버시: 100% 로컬 처리 (서버 업로드 불필요)
- 기술 스택: WASM + WebGPU + Browser Built-in AI
문제: LLM 컨텍스트 비용 폭탄
Obsidian에 수천 개의 노트가 있습니다. 전체 Vault를 GPT-4에게 읽혀서 질문하고 싶습니다. 하지만:
문제 1: 비용
- 매번 전체 컨텍스트 전송 = 매번 $15
- 월 100회 사용 시 = $1,500
문제 2: 속도
- 500K tokens 처리 = 수십 초 대기
- 실시간 대화 불가능
문제 3: 프라이버시
- 개인 일기장, 대외비 문서를 서버에 업로드
- GDPR/컴플라이언스 위반 위험
해법: Ghost Injection (유령 주입)
사용자에게는 LLM이 모든 문서를 읽은 것처럼 보이지만, 실제로는:
- 로컬에서 관련 문서만 검색 (Hybrid Search)
- 압축 모델로 불필요한 토큰 제거 (WASM)
- 고밀도 컨텍스트만 LLM에 전송
결과:
아키텍처 설계
1. Context Monitoring (능동적 컨텍스트 모니터링)
핵심 기술: Lazy Loading
브라우저는 일반적으로 4GB 메모리 한계가 있습니다. 전체 Vault를 한 번에 로드하면 크래시합니다. 대신:
- 필요한 청크만 로드
- 임베딩은 IndexedDB에 저장
- 메모리 사용량 < 500MB 유지
2. Query Compression Pipeline (100ms 이내)
성능:
- Hybrid Search: 10ms
- Token Compression: 80ms (WASM)
- Total: 90ms (사용자 체감 즉각 응답)
3. Browser Runtime Technologies
WASM (WebAssembly)
브라우저 샌드박스 내에서 네이티브 성능으로 로컬 압축 모델을 실행합니다.
// Pseudocode
const compressor = await loadWasmModel('tiny-compressor.wasm');
const compressedText = compressor.compress(longText, {
target_tokens: 500, // 목표 토큰 수
preserve_semantics: true // 의미 보존
});
// 원본: 5,000 tokens
// 압축: 500 tokens (90% 절감)
WebGPU (2026년 표준화)
GPU 병렬 처리 능력을 직접 활용하여 트랜스포머 임베딩 생성 속도를 WASM 대비 40~75배 빠르게 합니다.
// Pseudocode
const gpu = await navigator.gpu.requestAdapter();
const device = await gpu.requestDevice();
// 트랜스포머 임베딩 생성
const embeddings = await generateEmbeddings(documents, {
device: device, // WebGPU 사용
batch_size: 32
});
// 수천 토큰을 실시간 처리 (UI 멈춤 없음)
성능 비교:
| 플랫폼 | 1,000개 문서 임베딩 | UI 블로킹 |
|---|---|---|
| CPU (JavaScript) | 120초 | ❌ 심각 |
| WASM | 15초 | ⚠️ 약간 |
| WebGPU | 0.2초 | ✅ 없음 |
Browser Built-in AI (Gemini Nano)
Chrome 내장 Summarizer API를 활용하여 1차 요약/처리를 위임합니다 (하이브리드 전략).
// Chrome Built-in AI API (2026년 안정화)
const summarizer = await ai.summarizer.create({
type: 'tl;dr',
format: 'markdown',
length: 'short'
});
const summary = await summarizer.summarize(longDocument);
// 모델 로드 불필요, Chrome이 자체 처리
실전 사용 사례
1. Personal Knowledge Management (PKM)
시나리오: Obsidian Vault 5,000개 노트
2. Developer Workflow
시나리오: VS Code에서 대형 코드베이스 질의
3. Enterprise Document Analysis
시나리오: 변호사 사무실, 기밀 문서 분석
Performance Benchmarks
비용 비교 (GPT-4 기준)
| 시나리오 | 전통 방식 | Ghost Injection | 절감률 |
|---|---|---|---|
| PKM (5K 노트) | $15/질문 | $1.50/질문 | 90% |
| Code (10K 파일) | $30/질문 | $3/질문 | 90% |
| Enterprise (50K 문서) | $150/질문 | $15/질문 | 90% |
속도 비교
| Metric | Traditional | Ghost Injection | Improvement |
|---|---|---|---|
| Token Cost | 100% | 10% | 90% 절감 |
| Latency | 수 초 | 100ms | 95% 단축 |
| Privacy | 서버 업로드 | 100% 로컬 | 완전 보장 |
| Memory | 무제한 | <4GB (브라우저) | 제약 관리 |
구현 고려사항
Tiny Language Models (TLM) 필수
압축 모델로는 1억 개 미만 파라미터 모델이 필요합니다:
- TinyBERT (15M parameters)
- MobileBERT (25M parameters)
- DistilBERT (66M parameters)
특징:
- 작업 불가지론적(Task-Agnostic) 압축 가능
- 지식 증류(Knowledge Distillation)로 BERT Base 96% 성능 유지
- NPU 환경에서 50ms 미만 레이턴시
Browser Compatibility (2026년 기준)
| 기술 | Chrome | Firefox | Safari | Edge |
|---|---|---|---|---|
| WASM | ✅ | ✅ | ✅ | ✅ |
| WebGPU | ✅ | ✅ | ⚠️ (Beta) | ✅ |
| Built-in AI | ✅ (Gemini Nano) | ❌ | ❌ | ✅ |
Limitations
1. 브라우저 메모리 한계 (4GB)
- 대용량 Vault (10만+ 노트) 처리 제약
- 해법: Incremental indexing + Lazy loading
2. 모바일 환경 제약
- NPU 미탑재 기기에서 성능 저하
- 해법: Cloud fallback (하이브리드 전략)
3. 초기 임베딩 생성 시간
- 5,000개 노트 첫 임베딩: 10분 소요
- 해법: 백그라운드 처리 + 점진적 업데이트
미래 방향
1. On-Device NPU 통합
LG 노트북, Apple M-series, Qualcomm Snapdragon 등 NPU 탑재 기기 증가:
- 50ms 미만 레이턴시
- 전력 효율 10배 향상
- Always-On 백그라운드 임베딩
2. Multi-Modal Context Compression
텍스트뿐만 아니라:
- 이미지 (OCR + 시맨틱 압축)
- 동영상 (키프레임 추출 + 자막)
- 오디오 (STT + 요약)
3. Federated Learning
개인화 압축 모델을 연합 학습으로 개선:
- 개인 데이터는 로컬 유지
- 모델 업데이트만 공유
- 점진적 성능 향상
실제 구현 예시
Obsidian 플러그인 프로토타입
// obsidian-ghost-injection-plugin/main.ts
import { Plugin, TFile } from 'obsidian';
import { loadWasmCompressor } from './wasm-loader';
import { HybridSearch } from './search';
export default class GhostInjectionPlugin extends Plugin {
async onload() {
// WASM 압축 모델 로드
const compressor = await loadWasmCompressor();
// 파일 변경 감지
this.registerEvent(
this.app.vault.on('modify', async (file: TFile) => {
await this.updateEmbedding(file);
})
);
// 명령어 등록
this.addCommand({
id: 'ask-vault',
name: 'Ask Vault (Ghost Injection)',
callback: async () => {
const query = await this.promptUser();
// 하이브리드 검색
const relevantDocs = await HybridSearch.search(query, {
top_k: 20
});
// 압축
const compressed = await compressor.compress(relevantDocs, {
target_tokens: 1000
});
// LLM 전송
const answer = await this.sendToLLM(compressed);
// 결과 표시
this.showAnswer(answer);
}
});
}
}
결론
Ghost Injection은 단순한 최적화 기법이 아닙니다. 이것은:
- 프라이버시 혁명: 서버 업로드 없는 LLM 활용
- 비용 혁명: 토큰 비용 90% 절감
- 속도 혁명: 실시간 응답 (100ms)
을 동시에 달성하는 로컬 우선(Local-First) AI 아키텍처의 핵심입니다.
2026년, WASM/WebGPU/Browser AI가 표준화되면서 이 아키텍처는:
- Obsidian, Notion 같은 PKM 도구
- VS Code, IntelliJ 같은 IDE
- Enterprise Document Management System
모든 곳에서 필수 기능이 될 것입니다.
시리즈 다음 글 예고:
- Part 2: Tiny Language Models - 50ms 지연시간의 로컬 검색
- Part 3: 한국 AI 시장 분석 - Liner를 넘어서는 Local-First 전략
이 글은 Zettelkasten 영구노트를 바탕으로 작성되었습니다. 실제 구현 경험과 기술 검증을 통해 정제된 지식입니다.