lib2027
한국어

무료 사용 · 내 컴퓨터에서 실행

내 파일로 만드는 지식 라이브러리, 나와 AI 에이전트를 위해

문서 폴더를 넣으면 세 가지 방식으로 동시에 검색합니다. 의미로, 15개 언어의 단어 형태 변화까지 고려해서, 그리고 정확한 API 이름으로. 사용자에게는 웹 UI를, Claude Code, pi, Cursor 등 에이전트에게는 MCP 서버를 제공합니다.

  • npx로 실행하는 단일 Rust 바이너리
  • Python도, 데이터베이스도 필요 없음
  • NVIDIA GPU, DirectML 또는 CPU
# 폴더를 책장에 꽂기
$ npx lib2027 add ./docs
# 웹 UI 열기 → http://127.0.0.1:2027
$ npx lib2027

벤치마크

정말 모델의 답변에 도움이 될까요?

모델은 최신 지식이나 틈새 지식을 기억하지 못하며, 텍스트를 더 넣는 것만으로는 해결되지 않습니다. 그래서 알맞은 조각이 어떤 차이를 만드는지 측정했습니다.

측정 방법

같은 모델, 같은 질문

각 비교에서는 하나의 모델이 같은 질문 세트에 답합니다. 달라지는 것은 모델이 읽는 내용뿐입니다.

플라세보 그룹

같은 길이의 무관한 텍스트. ‘컨텍스트가 많을수록 좋다’는 생각을 검증하는 대조군입니다.

사전 등록

질문, 규칙, 성공 기준은 데이터를 수집하기 전에 모두 확정했습니다.

반복 측정과 검정

각 그룹을 3회씩 실행했습니다. 유의성은 질문 단위의 대응 부호 검정으로 판단합니다.

정답 비율

  • 라이브러리 없음
  • 플라세보
  • lib2027 사용
  • 라이브러리 없음 — 모델이 기억만으로 답변
  • 플라세보 — 같은 길이의 무관한 텍스트
  • lib2027 사용 — lib2027 검색이 반환한 조각

최신 웹 문서(devdocs, 2026년 9월)

150개 질문 · qwen3.8-27b
라이브러리 없음17.8%
플라세보12.7%
lib2027 사용85.1%

같은 질문, 소형 모델

150개 질문 · 4B
라이브러리 없음9.1%
플라세보0.4%
lib2027 사용83.1%

러시아 법률(15개 법전, pravo.gov.ru)

150개 질문 · qwen3.8-27b
라이브러리 없음34.7%
플라세보33.8%
lib2027 사용84.4%¹

three.js r186 API 퀴즈

90개 답변 · Claude Haiku 4.5
라이브러리 없음27.8%
플라세보측정 안 함
lib2027 사용88.9%

¹ 조문의 처음 800자 대신 조문 전체를 반환합니다(이전 결과는 69.1%). 2024년 이후 개정된 조문에서는 모델의 정답률이 25%에서 81%로 올라갑니다.

수치를 표로 보기
과제모델라이브러리 없음플라세보lib2027 사용
최신 웹 문서(devdocs, 2026년 9월)
150개 질문 · qwen3.8-27b
qwen3.8-27b17.8%12.7%85.1%
같은 질문, 소형 모델
150개 질문 · 4B
4B9.1%0.4%83.1%
러시아 법률(15개 법전, pravo.gov.ru)
150개 질문 · qwen3.8-27b
qwen3.8-27b34.7%33.8%84.4%¹
three.js r186 API 퀴즈
90개 답변 · Claude Haiku 4.5
Claude Haiku 4.527.8%—88.9%

퀴즈 그 너머: three.js와 Claude Haiku 4.5

오래된 API를 사용한 답변

24.4%5.6%

적을수록 좋음

‘게임 만들기’ 과제 점수(100점 만점)

5275

높을수록 좋음

게임 완성까지 걸린 턴 수

5636

비용도 약간 더 낮음

모델이 한 번도 본 적 없는 라이브러리

2% ~ 5%84% ~ 96%

lib2027이 과제에 마이그레이션 노트를 전달하면 4B 모델의 과제 통과율이 2% ~ 5%에서 84% ~ 96%로 올라갑니다.

결론

모델은 최신 지식이나 틈새 지식을 기억하지 못하고, 컨텍스트를 늘리는 것만으로는 도움이 되지 않습니다. 플라세보는 기억만으로 답한 결과를 한 번도 넘어서지 못했습니다. 도움이 되는 것은 알맞은 조각이며, 그것이 바로 lib2027이 전달하는 것입니다.

속도: Rust 버전 vs 이전 Python 버전

RTX 5090을 장착한 Windows에서 같은 책장, 같은 쿼리로 측정했습니다. 두 버전의 결과는 동일합니다. 법률 퀴즈에서 둘 다 150개 질문 중 122개에 대해 해당 조문을 찾아냈습니다.

  • Python + PyTorch
  • lib2027 (Rust)
낮을수록 좋음
하이브리드 검색, 중앙값(GPU)
Python + PyTorch207 ms
lib2027 (Rust)103 ms
어휘 검색
Python + PyTorch39 ms
lib2027 (Rust)5 ms
CPU만 사용한 검색
Python + PyTorch4.4 s
lib2027 (Rust)1.7 s
조각 74.3만개(devdocs), 쿼리당
Python + PyTorch~0.4 s
lib2027 (Rust)0.15 s
MCP 서버가 initialize에 응답할 준비가 되기까지
Python + PyTorch2.6–3.8 s
lib2027 (Rust)< 0.2 s
add ./docs(문서 6개, 조각 237개)
Python + PyTorch36.6 s
lib2027 (Rust)8.6 s
15개 법전 구축(조각 1.6만개)
Python + PyTorch169 s
lib2027 (Rust)127 s
파일 7,170개 파싱
Python + PyTorch136 s
lib2027 (Rust)4.1 s
설치

Python + PyTorch: Python + PyTorch, 약 2.5 GB

lib2027 (Rust): Node.js + 7 MB 바이너리. 런타임과 모델은 첫 실행 때 내려받습니다

작동 방식

세 가지 검색, 하나의 순위

모든 쿼리는 세 채널을 동시에 거칩니다. 결과를 병합하고 다시 순위를 매기므로, 사용자나 에이전트는 자투리가 아니라 읽고 인용할 수 있는 온전한 단락을 받습니다.

의미

Qwen3-Embedding-0.6B 임베딩 모델을 사용한 시맨틱 검색으로, 다른 말로 같은 내용을 담은 단락을 찾습니다.

단어 형태

러시아어, 영어 외 13개 언어의 형태 분석을 지원합니다. 단어의 한 형태로 검색해도 다른 활용형까지 찾아냅니다.

정확한 API 이름

함수, 클래스, 옵션 이름은 정확히 일치하는 것만 찾습니다. 이름으로 검색하면 비슷해 보이는 것이 아니라 바로 그것을 찾습니다.

리랭커

bge-reranker-v2-m3 크로스 인코더가 각 후보를 쿼리와 함께 읽고 가장 좋은 것을 맨 앞에 둡니다.

조문 전체

문서 구조를 유지합니다. 법률은 조문 단위로 나누고 조문 전체를 전달합니다. 덕분에 법률 벤치마크 점수가 69.1%에서 84.4%로 올랐습니다.

형식: md, txt, html, pdf, docx 및 소스 코드(js, ts, json, …). npx lib2027 package <name>로 npm 패키지 전체를 추가합니다. API 타입, 문서, 테스트, 예제까지.

에이전트용

Claude Code, pi, Cursor 및 기타 MCP 클라이언트에 연결

lib2027은 MCP 서버로 동작합니다. 명령어 하나로 연결하면, 그때부터 에이전트가 알아서 라이브러리를 검색합니다.

Claude Code

npx lib2027 claude

claude mcp add를 대신 실행합니다. Claude Code에서 다음 도구를 사용할 수 있습니다:

  • search_knowledge
  • read_source
  • list_libraries
  • check_code
  • explore_graph

pi

npx lib2027 pi

pi에 MCP 어댑터를 설치하고 lib2027을 연결합니다. npx lib2027 pi --remove로 연결을 해제합니다.

Cursor, Claude Desktop 및 기타 클라이언트

MCP 설정에 다음을 추가하세요:

{ "mcpServers": { "lib2027": { "command": "npx", "args": ["-y", "lib2027", "mcp"] } } }

Windows에서는 cmd를 통해 npx를 실행하세요:

{ "mcpServers": { "lib2027": { "command": "cmd", "args": ["/c", "npx", "-y", "lib2027", "mcp"] } } }

브라우저가 더 편하다면 npx lib2027을 실행하세요. http://127.0.0.1:2027에서 웹 UI가 열리고, HTTP API도 함께 제공됩니다.

명령어

바이너리 하나, 명령어 몇 개.

명령어기능
add <folder|files…> [--name …] [--lang auto|ru|en|…] [--to slug]폴더를 라이브러리로 만들고, 파일은 지정한 라이브러리에 추가합니다. 다시 실행하면 변경된 파일을 업데이트합니다.
list책장에 있는 라이브러리
search "query" [-l slug] [--top-k 5]검색
remove <slug> / restore <slug>검색에서 숨기기 / 되돌리기(파일은 디스크에 남음)
package <npm-package>[@version]npm 패키지 전체: API 타입, 문서, 테스트, 예제
ui [--port 2027] [--no-open]웹 UI와 HTTP API(명령어 없이 실행한 것과 동일)
mcpstdio 기반 MCP 서버(에이전트가 실행)
claude [--scope user|project]claude mcp add를 대신 실행합니다. Claude Code가 없으면 다른 클라이언트용 설정을 출력합니다
pi [--project] [--remove]pi에 MCP 어댑터를 설치하고 lib2027을 연결(또는 해제)
ask "question"검증된 인용이 포함된 답변(모델 키 필요: LIB2027_ANSWER_*)
setup [--device cuda|directml|cpu]런타임과 모델을 미리 설치
doctor설치된 항목과 연산에 사용하는 장치를 표시

작업하는 곳 어디서나 실행

플랫폼

플랫폼CUDADirectMLCPU
Windows x64✓✓✓
Windows arm64——✓
Linux x64glibc 2.35+✓—✓
Linux arm64glibc 2.35+——✓
macOS Apple Silicon——✓

가속

x64 Windows와 Linux에서는 NVIDIA CUDA, x64 Windows에서는 DirectML을 지원합니다. 그 밖의 환경에서는 모두 CPU에서 실행됩니다.

필요한 것

Node.js 18+만 있으면 됩니다. 나머지는 첫 실행 때 ~/.lib2027에 한 번만, 약 2분 만에 내려받습니다. 하드웨어에 맞는 ONNX 런타임과 두 모델 Qwen3-Embedding-0.6B, bge-reranker-v2-m3입니다.

문서는 기기 밖으로 나가지 않습니다

처음부터 로컬 중심 설계

문서와 책장은 사용자의 기기에 그대로 남습니다. 검색은 바이너리 안에서 사용자의 GPU나 CPU로 실행됩니다.

요청하지 않으면 아무것도 보내지 않음

답변 서비스에 외부 모델을 설정한 경우(LIB2027_ANSWER_*)에만 텍스트가 제3자에게 전송됩니다.

기본값은 localhost 전용

LIB2027_API_KEY가 없으면 웹 UI와 HTTP API는 키 없이 사용할 수 있으며 localhost에서만 접근할 수 있습니다.

평범한 폴더

각 라이브러리는 library.sqlite, vectors.f16, knowledge.json으로 구성됩니다. 책장을 복사해서 어디든 가져가세요.

라이선스

상업적 용도를 포함해 기기 수 제한 없이 무료로 사용할 수 있습니다. 소스는 비공개입니다. 수정하지 않은 패키지는 재배포할 수 있습니다. 모델과 ONNX Runtime은 각 배포처에서 해당 라이선스에 따라 다운로드됩니다.

npm에서 라이선스 읽기

내 문서로 직접 사용해 보세요

명령어 두 개. Node.js 18+만 있으면 됩니다.

# 폴더를 책장에 꽂기
$ npx lib2027 add ./docs
# 웹 UI 열기 → http://127.0.0.1:2027
$ npx lib2027