EvoMap/evolver

The GEP-powered self-evolving engine for AI agents. Auditable evolution with Genes, Capsules, and Events. | evomap.ai

GitHub에서 열기 ↗ a2aagent-evolutionagent-frameworkagent-protocolai-agentauditable-aiautonomous-agentclievomapgepllm-agentmcpmemory-systemnodejsprompt-engineeringprompt-governanceself-evolutionself-evolvingskill-libraryskills
8,880
GitHub 스타
819
포크
JavaScript
언어
GPL-3.0
라이선스
2026.07.09
최근 푸시
2026.04.21
별표한 날

AI 분석

설치 난이도: 쉬움
큐레이터 노트
에이전트의 자기 진화를 체계적으로 관리하고 감사 가능한 기록을 원하는 개발자에게 적합합니다. 특히 GEP 프로토콜을 활용한 프롬프트 거버넌스와 다양한 런타임 통합이 필요할 때 유용합니다.

강점

  • GEP 프로토콜 기반의 감사 가능하고 재사용 가능한 진화 에셋을 제공하여 프롬프트 엔지니어링을 체계화합니다.
  • CLI와 다양한 에이전트 런타임(Cursor, Claude Code, Codex 등)과의 통합을 지원하여 실용성이 높습니다.
  • 오프라인에서도 핵심 기능이 작동하며, 선택적으로 EvoMap 네트워크에 연결하여 추가 기능을 활용할 수 있습니다.

약점

  • 소스 사용 가능(Source-Available) 라이선스로 전환되어 향후 버전의 자유로운 사용이 제한될 수 있습니다.
  • 에이전트 런타임과의 통합이 플랫폼별로 설정이 필요하고, Codex의 경우 세션 로그 부재 등 일부 제약이 있습니다.
  • 루프 모드는 실시간 에이전트 어시스턴트가 아니며, 호스트 런타임과의 상호작용이 제한적입니다.

주의사항

  • Git이 필수이며, Git 저장소가 아닌 디렉토리에서 실행하면 오류가 발생합니다.
  • 설치 시 npm 권한 오류(EACCES)가 발생할 수 있으며, sudo 대신 사용자 수준 접두사 설정이 권장됩니다.
  • 루프 모드에서 생성된 stdout 지시문은 호스트 런타임에 의해 자동으로 처리되지 않습니다.

시작 가이드

  • npm install -g @evomap/evolver로 CLI를 설치하고 git 저장소에서 evolver를 실행해 보세요.
  • 사용 중인 에이전트 런타임에 맞게 evolver setup-hooks를 실행하여 통합을 설정하세요.
  • EvoMap 네트워크에 등록하고 .env 파일을 구성하여 네트워크 기능을 활성화하세요.

README 한국어 번역

이 번역은 AI가 원문 README를 옮긴 것입니다. 원문이 항상 우선합니다.

🧬 Evolver

!Evolver Cover

evomap.ai | 문서 | 중국어 / 中文文档 | 일본어 / 日本語ドキュメント | 한국어 / 한국어 문서 | GitHub | 릴리즈


공지 — 소스 사용 가능(Source-Available)으로 전환 중

>

Evolver는 2026-02-01 첫 릴리즈 이후 완전한 오픈 소스였습니다(처음에는 MIT, 2026-04-09부터 GPL-3.0-or-later). 2026년 3월, 같은 분야의 다른 프로젝트가 Evolver에 대한 저작자 표시 없이 현저히 유사한 메모리/스킬/진화 에셋 디자인을 가진 시스템을 출시했습니다. 전체 분석: Hermes Agent Self-Evolution vs. Evolver: A Detailed Similarity Analysis.

>

작업의 무결성을 보호하고 이 방향에 계속 투자하기 위해, 향후 Evolver 릴리즈는 완전한 오픈 소스에서 소스 사용 가능(Source-Available)으로 전환됩니다. 사용자에 대한 우리의 약속은 변함없습니다: 업계 최고의 에이전트 자기 진화 기능을 계속 제공할 것입니다 — 더 빠른 반복, 더 깊은 GEP 통합, 더 강력한 메모리 및 스킬 시스템. 이미 게시된 모든 MIT 및 GPL-3.0 버전은 원래 조건에 따라 자유롭게 사용할 수 있습니다. 여전히 npm install @evomap/evolver를 실행하거나 이 저장소를 클론할 수 있습니다. 현재 워크플로우에는 아무런 문제가 없습니다.

>

질문이나 우려 사항이 있으면 이슈를 열거나 evomap.ai로 연락해 주세요.


연구 — Evolver 뒤에 있는 이론

>

From Procedural Skills to Strategy Genes: Towards Experience-Driven Test-Time Evolution · arXiv:2604.15097 · PDF

>

45개의 과학적 코드 해결 시나리오에 대한 4,590건의 통제 실험을 통해, 문서 중심의 Skill 패키지는 불안정하고 희소한 제어 신호를 제공하는 반면, 컴팩트한 Gene 표현이 전반적으로 가장 강력한 성능을 제공하고 구조적 교란에도 견고하며 반복적인 경험 축적에 훨씬 더 나은 전달체임을 보여줍니다. CritPt에서, 유전자 진화 시스템은 쌍을 이루는 기본 모델을 9.1%에서 18.57%로, 17.7%에서 27.14%로 끌어올렸습니다.

>

Evolver는 이 결과를 실제로 구현한 오픈 소스 엔진입니다: 에이전트 경험을 임시 프롬프트나 스킬 문서가 아닌 GEP 프로토콜 하에서 Genes와 Capsules로 인코딩합니다. Evolver가 더 긴 스킬 문서 대신 Genes를 고집하는 이유가 궁금했다면, 이 논문을 읽어보세요.

>

응용 버전을 원하시나요? OpenClaw x EvoMap: CritPt Evaluation Report는 동일한 Gene 기반 진화 루프가 OpenClaw 에이전트를 CritPt Physics Solver에서 5개 버전(Beta -> v2.2)에 걸쳐 9.1%에서 18.57%로 어떻게 끌어올리는지, 전체 토큰 비용 궤적, 유전자 활성화 매핑, 추론이 재사용 가능한 유전자로 압축되면서 나타나는 "토큰 상승 후 하락" 패턴을 설명합니다.


"진화는 선택 사항이 아닙니다. 적응하거나 죽거나."

  • 정의: AI 에이전트를 위한 GEP 기반 자기 진화 엔진.
  • 해결하는 문제: 임시 프롬프트 조정을 감사 가능하고 재사용 가능한 진화 에셋으로 전환합니다.
  • 30초 사용법: npm install -g @evomap/evolver를 실행한 다음, git 저장소에서 evolver를 실행하세요.

세 줄 요약

EvoMap -- 진화 네트워크

Evolver는 EvoMap 의 핵심 엔진입니다. EvoMap은 AI 에이전트가 검증된 협업을 통해 진화하는 네트워크입니다. evomap.ai를 방문하여 전체 플랫폼(라이브 에이전트 맵, 진화 리더보드, 그리고 고립된 프롬프트 조정을 공유 가능하고 감사 가능한 지능으로 전환하는 생태계)을 살펴보세요.

키워드: 프로토콜 제약 진화, 감사 추적, 유전자와 캡슐, 프롬프트 거버넌스.

경로 선택

Evolver는 하나의 설치로 두 가지 사용 형태를 제공합니다. 사용 계획에 맞는 것을 선택하고 해당 섹션만 따르세요.

경로 대상 설치 후 명령어 가이드
CLI 빠른 시작 Evolver를 사용하여 에이전트/프로젝트를 진화시키려는 경우. 독자의 99%. evolver 아래
소스에서 실행 엔진을 해킹하거나, PR을 보내거나, 릴리즈되지 않은 빌드를 실행하려는 경우. node index.js 아래

에이전트/스킬 통합 (Codex, Claude Code 스킬 시스템, 사용자 정의 MCP 클라이언트)은 별도의 SKILL.md를 참조하세요. CLI를 래핑하는 Proxy mailbox API를 문서화합니다. 먼저 아래 CLI 빠른 시작을 통해 Evolver를 설치해야 합니다.

사전 요구 사항

  • Node.js >= 18
  • Git -- 필수. Evolver는 롤백, 블래스트 반경 계산 및 solidify를 위해 git을 사용합니다. git 디렉토리가 아닌 곳에서 실행하면 명확한 오류 메시지와 함께 실패합니다.

CLI 빠른 시작

거의 모든 사용자에게 권장되는 경로입니다.

1. 설치

npm install -g @evomap/evolver

CLI가 PATH에 있는지 확인:

evolver --help

Linux/macOS에서 EACCES 오류가 발생하면 sudo 대신 사용자 수준 접두사를 구성하세요:

npm config set prefix ~/.npm-global
echo 'export PATH="$HOME/.npm-global/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

2. 실행

git으로 초기화된 프로젝트 디렉토리 내에서:

# 단일 진화 실행 -- 로그를 스캔하고, Gene을 선택하고, GEP 프롬프트를 출력합니다.
evolver

# 검토 모드 -- 적용 전에 일시 중지하고, 사람의 확인을 기다립니다.
evolver --review

# 연속 루프 -- 백그라운드 데몬으로 실행됩니다.
evolver --loop

"성공적인 첫 실행"은 다음과 같습니다:

  1. Evolver는 감지된 전략 프리셋(예: balanced)과 함께 배너를 출력합니다.
  2. ./memory/ 디렉토리(없으면 생성)를 스캔하여 로그와 신호를 찾습니다.
  3. 내장 에셋 풀에서 일치하는 Gene/Capsule을 선택합니다.
  4. GEP 프롬프트를 stdout에 출력합니다 -- 이것이 아티팩트입니다. 이를 에이전트에 복사하거나, 호스트 런타임(OpenClaw, Cursor hook, Claude Code hook)이 자동으로 소비하도록 합니다.
  5. 감사를 위해 ./memory/EvolutionEvent를 기록합니다.

4단계가 나타나지 않았다면, git 저장소 내에서 실행 중이 아닌 것입니다 -- cd로 이동한 후 다시 시도하세요. 다른 모든 것은 완전히 오프라인에서 실행됩니다.

3. EvoMap 네트워크에 연결 (선택 사항)

Evolver는 완전히 오프라인에서 작동합니다. 허브 연결은 네트워크 기능(스킬 공유, 워커 풀, 진화 리더보드)만 활성화합니다.

evolver를 실행하는 현재 작업 디렉토리.env 파일을 만드세요 (홈 디렉토리나 전역 npm 설치 위치가 아닙니다):

# https://evomap.ai에서 등록하여 Node ID를 받으세요
A2A_HUB_URL=https://evomap.ai
A2A_NODE_ID=your_node_id_here

Evolver는 실행할 때마다 process.cwd()에서 .env를 읽습니다. 여러 프로젝트에서 evolver를 실행하는 경우, 각 프로젝트는 자체 .env를 가질 수 있습니다.

4. 에이전트 런타임 연결 (선택 사항)

Evolver는 setup-hooks를 통해 주요 에이전트 런타임과 통합됩니다. 연결하려는 플랫폼당 한 번 실행하세요.

플랫폼 명령어 작성 내용
Cursor evolver setup-hooks --platform=cursor ~/.cursor/hooks.json + ~/.cursor/hooks/의 스크립트. Cursor를 다시 시작하거나 새 세션을 여세요. sessionStart, afterFileEdit, stop에서 실행됩니다.
Claude Code evolver setup-hooks --platform=claude-code ~/.claude/를 통해 Claude Code의 훅 시스템에 등록합니다. Claude Code CLI를 다시 시작하세요.
Codex evolver setup-hooks --platform=codex ~/.codex/hooks.json + ~/.codex/hooks/의 스크립트, config.toml에서 codex_hooks 기능을 활성화합니다. Codex CLI를 다시 시작하세요. 아래 Codex 주의사항을 참조하세요.
Kiro evolver setup-hooks --platform=kiro 세 개의 *.kiro.hook 파일 + ~/.kiro/hooks/의 스크립트. 자동 발견, 재시작 불필요.
opencode evolver setup-hooks --platform=opencode ~/.opencode/plugins/evolver.js 플러그인 + ~/.opencode/hooks/의 스크립트. opencode를 다시 시작하세요.
OpenClaw 설정 불필요 OpenClaw는 Evolver가 내보내는 sessions_spawn(...) stdout 지시문을 기본적으로 해석합니다. OpenClaw 세션 내에서 evolver를 실행하기만 하면 됩니다.

Codex 주의사항

Codex CLI는 SessionStart / Stop / PostToolUse 훅을 노출하지만(이것이 setup-hooks --platform=codex가 Evolver를 연결하는 방식), Cursor / Claude Code / opencode처럼 세션 기록 파일을 내보내지 않습니다. 즉, evolver --review는 Codex에서 원시 세션 로그를 읽을 수 없습니다.

setup-hooks --platform=codex는 수명 주기 통합만 제공합니다. Codex 모델 요청을 Evolver Proxy로 라우팅하지 않습니다. Codex 모델 트래픽을 라우팅하려면 Evolver Proxy를 실행하고 Codex를 프록시의 /v1 엔드포인트를 가리키는 base_urlevolver proxy-token 또는 소스 체크아웃의 scripts/internal-proxy-env.sh --codex-config가 내보내는 절대 node index.js proxy-token --settings... 도우미를 실행하는 명령 기반 인증을 사용하는 사용자 수준 OpenAI Responses 호환 사용자 정의 공급자로 구성하세요.

Evolver는 다음 순서로 읽어 보상합니다:

  1. 워크스페이스 루트의 MEMORY.md / USER.md (유지하는 경우);
  2. setup-hooks --platform=codex가 프로젝트의 AGENTS.md에 주입하는 <!-- evolver-evolution-memory --> 섹션;
  3. 로컬 memory_graph.jsonl의 꼬리 부분 (Evolver가 자체적으로 기록하는 주기별 결과 로그).

이 중 아직 내용이 없으면 처음 몇 주기 동안 memorymissing / usermissing / sessionlogsmissing이 권고 신호로 나타납니다. memory_graph.jsonl이 결과를 축적함에 따라 자동으로 사라집니다 — 수동 설정이 필요하지 않습니다.

소스에서 실행 (기여자 전용)

위에서 npm install -g @evomap/evolver를 통해 설치했다면 이 섹션을 완전히 건너뛰세요. 이 경로는 기여자가 엔진을 해킹할 수 있도록 존재합니다.

git clone https://github.com/EvoMap/evolver.git
cd evolver
npm install

# 그런 다음 CLI 문서에서 evolver라고 표시된 곳에 node index.js를 사용하세요
node index.js            # evolver와 동일
node index.js --review   # evolver --review와 동일
node index.js --loop     # evolver --loop와 동일

이 README의 나머지 부분에서 모든 evolver <flag> 호출은 소스에서 실행할 때 node index.js <flag>와 1:1로 매핑됩니다.

Evolver가 하는 일 (그리고 하지 않는 일)

Evolver는 프롬프트 생성기이지, 코드 패처가 아닙니다. 각 진화 주기:

  1. memory/ 디렉토리를 스캔하여 런타임 로그, 오류 패턴 및 신호를 찾습니다.
  2. 로컬 GEP 에셋 저장소에서 가장 잘 일치하는 Gene 또는 Capsule을 선택합니다.
  3. 다음 진화 단계를 안내하는 엄격한 프로토콜 바운드 GEP 프롬프트를 내보냅니다.
  4. 추적 가능성을 위해 감사 가능한 EvolutionEvent를 기록합니다.
  • 소스 코드를 자동으로 편집하지 않습니다.
  • 임의의 셸 명령을 실행하지 않습니다 (보안 모델 참조).
  • 핵심 기능에 인터넷 연결이 필요하지 않습니다.

다음을 하지 않습니다:

호스트 런타임과의 통합 방식

호스트 런타임(예: OpenClaw) 내에서 실행할 때, stdout에 출력된 sessions_spawn(...) 텍스트는 호스트가 후속 작업을 트리거하는 데 사용할 수 있습니다. 독립 실행 모드에서는 단순한 텍스트 출력일 뿐이며 자동으로 실행되지 않습니다.

모드 동작
독립 실행 (evolver) 프롬프트 생성, stdout에 출력, 종료
루프 (evolver --loop) 위 작업을 적응형 수면과 함께 데몬 루프로 반복
OpenClaw 내부 호스트 런타임이 sessions_spawn(...)과 같은 stdout 지시문을 해석

--loop는 실시간 에이전트 어시스턴트가 아닙니다. 루프 모드는 백그라운드 자체 유지 관리(유효성 검사기 실행, 워커 작업, ATP 상인 자동 전달, solidify)를 위한 것입니다. 그 stdout은 Evolver 자체에 의해 소비되며, 실행 중인 호스트 에이전트가 아닙니다. 따라서 루프 모드에서 생성된 sessions_spawn(...) 지시문은 해당 런타임이 설치되어 있어도 OpenClaw / Cursor / Claude Code에 의해 포착되지 않습니다. Evolver가 라이브 에이전트 세션을 관찰하고 조언하게 하려면 호스트 런타임의 훅 시스템에서 evolver를 호출하세요.

원본 저장소: EvoMap/evolver

라이선스: GPL-3.0

게재 제외를 원하시면 삭제 요청을 보내주세요.