akm — 에이전트 지식 관리자 (Agent Knowledge Manager)
npm version
CI
license
팀이 이미 구축한 모든 코딩 에이전트에게 기능을 제공하세요.
에이전트 라이브러리를 한 번만 구축하면, 셸 명령을 실행할 수 있는 어떤 코딩 에이전트에서도 사용할 수 있습니다.
AKM의 존재 이유 (Why AKM exists)
모든 코딩 에이전트는 팀의 지식 사본(AGENTS.md, 도구별 스킬 폴더, 레포 및 채팅 로그에 흩어진 프롬프트 등)을 원합니다. AKM은 기존 에이전트 자산을 제자리에 인덱싱하고, 작업에 필요한 것만 로드하며, 기능을 공유 가능한 번들로 패키징하고, 검토 가능한 제안(reviewable proposals)을 통해 라이브러리를 개선하며, 로컬에서 작동하고 라이브러리가 특정 어시스턴트에 종속되지 않는 지속적인 워크플로우를 실행합니다. 핵심 루프는 연결(connect) -> 인덱싱(index) -> 큐레이션(curate) -> 표시(show) -> 사용/실행(use/run) -> 피드백(feedback) -> 제안(proposal)입니다 (모든 작업이 모든 단계를 사용하는 것은 아닙니다).
AKM을 사용해야 하는 다섯 가지 이유
에이전트별 하나의 라이브러리
Claude Code, OpenCode, Cursor, Aider, Windsurf 등 셸 명령을 실행할 수 있는 모든 어시스턴트에서 동일한 기능 라이브러리를 사용할 수 있습니다.
작업에 필요한 것만 로드
검색하거나 간추린 목록(shortlist)만 확인한 후 참조를 통해 전체 콘텐츠를 로드합니다. 거대한 시작 프롬프트는 필요하지 않습니다.
완전한 기능을 패키징
프롬프트 스니펫뿐만 아니라, 스킬, 스크립트, 워크플로우, 에이전트, 지침(instructions), 메모리, 지식 등 완전한 기능을 포함하는 번들을 설치하고 공유합니다.
증거 기반의 검토를 통한 개선
피드백은 자산을 즉시 재순위화(re-ranks)합니다. 부정적인 보고서에는 정확한 텍스트 수정 사항이 포함될 수 있으며, akm improve는 메타데이터를 복구합니다. 편집 내용은 비교 가능한 제안(diffable proposals)으로 남습니다: 기본 개선 전략은 품질 심사관(quality judge)을 통과한 것만 수용하고 나머지는 사용자가 승인하거나 거부할 때까지 기다리며, 모든 승인은 되돌릴 수 있습니다. 쓰기 가능한 번들만 변경됩니다.
지식을 반복 가능한 작업으로 전환
매 세션마다 산문에서 프로세스를 재구성하는 대신, 디스패치(dispatch), 게이트(gates), 재시도(retries), 예산(budgets), 재개(resume) 기능을 사용하여 지속적인 워크플로우를 실행합니다. 워크플로우는 실험적(Experimental)입니다.
검색 및 반환 콘텐츠만 표시합니다. 워크플로우(workflow), 태스크(task), 스크립트(script) 또는 에이전트를 실행하는 것은 별도의 명령입니다. 불변성(invariants)은 Architecture를 참조하십시오.
설치 (Install)
옵션 1 — npm 패키지 (권장; Node.js >= 22 필요):
옵션 2 — 사전 빌드된 바이너리 (런타임 불필요):
curl -fsSL https://github.com/itlackey/akm/releases/latest/download/install.sh | bash
...
제자리 업그레이드(Upgrade in place): akm upgrade
npm 패키지는 항상 Node.js를 사용하여 크로스 플랫폼 명령을 부트스트랩(bootstrap)합니다. 만약 작동하는 Bun >= 1.0이 PATH에 있는 경우, 로처는 실행 시 Bun을 선호하며; 오래되거나 사용 불가능하거나 없는 Bun 설치본은 Node.js로 폴백(fall back)됩니다. npm 패키지에는 여전히 Node.js가 필요합니다. 독립형 바이너리는 런타임이 필요 없습니다.
로컬 의미론적 검색(Local semantic search)은 임베딩 모델을 ONNX Runtime에서 실행하며, Linux x64 (glibc) 및 Apple-silicon macOS에서 제공됩니다. 다른 모든 플랫폼에서는 키워드 검색 또는 임베딩 엔드포인트(embedding endpoint)를 사용합니다. akm setup에서 이를 선택(--embedding local)하면 런타임(약 86 MB)과 모델(약 127 MB)이 akm의 캐시에 한 번 다운로드됩니다. 패키지로는 네이티브가 설치되지 않으며, 독립형 바이너리에도 포함되지 않습니다. 자세한 내용은 Getting Started를 참조하십시오.
연결(connection)과 하네스(harness)가 없는 경우, 에이전트 작업은 akm 자체 런타임인 고정된 OpenCode 2 바이너리에서 실행됩니다. 처음 실행될 때, akm은 해당 바이너리를 npm 레지스트리에서 (약 114 MB, 일회성) 캐시에 다운로드합니다. Alpine/musl 환경에서는 libstdc++와 libgcc가 필요합니다 (Alpine Node 이미지는 이를 포함하고 있습니다). 자세한 내용은 Getting Started를 참조하십시오.
첫 유용한 결과 (First useful result)
akm setup --yes
akm bundle add github:itlackey/akm-stash
akm index
...
각 단계와 성공 확인은 Getting Started에서 확인할 수 있습니다. 그런 다음 에이전트에게 AKM의 존재를 알려주세요:
akm hints --detail brief >> AGENTS.md
이미 가지고 있는 것들과의 연동 (Works with what you already have)
AKM은 자체 네이티브 번들 형식 외에도 여러 기존 디렉토리 레이아웃을 각각의 어댑터를 통해 인식합니다:
| 형식 (Format) | AKM 기능 (What AKM does) |
|---|
| Native akm bundles | 스크립트, 기술(skills), 워크플로우, 에이전트, 지침(instructions), 메모리, 지식 등 전체 읽기/쓰기 지원 |
| ... | |
현재 쓰기 지원 및 감지 규칙은 Supported Formats를 참조하고, 살아있는 LLM 위키를 번들로 사용하는 방법은 Wikis를 참고하세요.
일반적인 다음 단계 (Common next steps)
백그라운드 작업 스케줄링(예: akm improve)은 OS 스케줄러 항목을 검토하고 활성화하는 것을 포함합니다. 전체 과정에 대한 자세한 내용은 Scheduling에서 확인하세요.
로컬 우선(Local-first) 및 개인 정보 보호
AKM은 로컬 우선 방식입니다: 인덱스와 상태를 디스크에 저장하며 텔레메트리(telemetry)가 없습니다. 네트워크 요청은 사용자가 구성한 엔드포인트나 실행하는 명령어에 대해서만 이루어집니다: Git, npm, 웹사이트 소스, 레지스트리, 자체 모델 엔드포인트, 로컬 임베딩 모델을 다운로드할 때의 Hugging Face Hub, 그리고 akm upgrade 또는 akm health를 실행할 때의 GitHub입니다. 전체 목적지와 디스크 내 인벤토리 목록은 Data & Telemetry를 참조하세요.
문서 및 프로젝트 상태
전체 문서는 **akm.fwdslsh.dev**에서 게시되며, 매 푸시 및 일별로 docs/로부터 빌드됩니다.
에코시스템(Ecosystem)
라이선스
MPL-2.0