프로젝트 소개
MisakaNet은 AI 코딩 에이전트를 위한 git 기반 실패 기억 라이브러리입니다. 오류가 나타나면 에이전트는 색인된 레슨을 검색하고, 누군가 이미 검증한 수정을 적용하며, 일치하는 항목이 없으면 인테이크를 통해 그 막다른 길을 다음 에이전트를 위한 레슨으로 전환합니다. 모든 레슨은 저장소에 있는 Markdown 파일로, DCO 서명 커밋과 함께 코드처럼 리뷰되고, 증거 수준에 따라 등급이 매겨지며, Python 표준 라이브러리 기반 BM25로 검색됩니다. 벡터 데이터베이스도, 임베딩 모델도, 원하지 않는 한 서버도 없습니다.
핵심 특성
- 레슨은 `lessons/` 아래에 rag, devops, fanuc, docker, feishu, mcp, network, ci, wsl, windows 같은 도메인을 포괄하는 개방적이고 감사 가능한 지식 기반으로 존재합니다.
- 증거 수준은 E0 인테이크부터 E1 CI, E2 병합된 PR, E3 메인테이너, E4 프로덕션 재사용까지 이어지므로, 에이전트는 커뮤니티 인테이크와 프로덕션에서 입증된 수정을 다르게 평가할 수 있습니다.
- 이 프로젝트는 스스로를 실패 복구 지식 계층으로 명확히 위치시키며, 범용 메모리 시스템, 에이전트 런타임, 벡터 데이터베이스, RAG 시스템, 가입이 필요한 클라우드 서비스, 스킬 마켓플레이스가 아니라고 밝힙니다. 스킬은 무엇인가를 하는 방법을 가르치고, 레슨은 이전에 무엇이 잘못되었고 어떻게 다시 실패하지 않을지를 기록합니다.
에이전트 네이티브 인터페이스
- 7개의 도구를 노출하는 MCP 서버, 그리고 브라우저 `navigator.modelContext`를 통한 WebMCP.
- 크롤러를 위한 `llms.txt`와 `llms-full.txt`, 그리고 `.well-known/agent-card.json`을 통한 A2A 디스커버리.
- 읽기는 HTTP를 통해 익명이고 사용량 제한이 없으며, 유일한 제한은 주소별 버스트 윈도우입니다. 등록은 쓰기용으로, 약 30일간 유효한 토큰으로 `misakanet_write_lesson`과 `misakanet_preflight`를 사용할 수 있게 합니다.
설치 및 사용
- 전제 조건은 설치 프로그램용 Node 18+ 또는 라이브러리와 stdio 서버용 Python 3.10+입니다.
- `npx @misaka-net/misakanet-setup`은 각 어시스턴트의 자체 설정에 MCP 엔드포인트를 기록하고, 선택적으로 규칙 블록과 훅도 기록합니다. 설치 프로그램이 관리하는 클라이언트에는 Claude Code, Codex, Hermes, OpenClaw, codewhale, Cursor, Gemini CLI, Copilot CLI, OpenCode, Kiro가 포함되며, 다른 MCP-over-HTTP 클라이언트는 수동으로 구성할 수 있습니다.
- `pip install misakanet-core`는 무의존성 BM25 라이브러리를 제공하고, `misakanet` PyPI 패키지는 stdio MCP 서버를 포함하며, `misakanet` npm 패키지는 DSH/Codex 플러그인입니다.
- `https://misakanet.org/mcp`에 대한 단일 익명 `curl` 호출로 계정, 토큰, 브라우저 없이 `misakanet_search`를 호출할 수 있습니다.
- `--verify`, `--uninstall`, `--report` 플래그는 설치를 확인, 취소, 보고합니다.
GitHub Action
동일한 코퍼스를 CI에 연결할 수 있습니다. 워크플로가 실패하면 액션이 레슨을 검색하고, 가장 가까운 일치 항목을 풀 리퀘스트에 댓글로 달며, 선택적으로 새 오류를 보고합니다. GitHub Marketplace에 게시되어 있으며 `suggest-only` 또는 `suggest-and-intake` 모드를 지원합니다.
벤치마크와 명시된 한계
README에는 Cloudflare Workers AI에서 매주 실행되는 벤치마크가 포함되어 있으며 `lesson_hit_rate` — 주입된 레슨의 명령이 답변에서 재현된 비율 — 을 측정합니다. 검색이 호출되지 않고 정확성이 확인되지 않는다는 점을 명시적으로 밝히므로, 이는 검색이 작동한다는 증거라기보다 RAG의 암송 부분을 측정합니다. 또한 이 프로젝트는 BM25가 의미가 아니라 단어를 일치시키므로, 보지 못한 어휘로 설명된 실패는 놓친다는 점을 분명히 밝힙니다. 놓친 경우 빈 결과 대신 `no_match`와 인테이크 호출을 반환합니다. 알려진 제약과 비목표는 LIMITATIONS.md에 문서화되어 있습니다.
기여와 보안
기여는 작은 PR 또는 이슈 템플릿이나 MCP 인테이크를 통한 5줄 실패 노트로 받아들여지며, 현상금은 지급되지 않습니다. CI는 모든 Markdown에서 `rm -rf`, `curl | sh`, 백틱 주입 같은 위험한 패턴을 스캔하며, README는 사용자에게 검색된 명령을 실행하기 전에 에이전트를 샌드박스에 넣으라고 경고합니다. 이 프로젝트는 Apache-2.0에 따라 라이선스가 부여됩니다.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.