eko
무엇인가
Eko는 자연어로 기술한 작업을 에이전트 실행 계획으로 바꿔 실행하는 JavaScript/TypeScript 프레임워크다. LLM 호출, 도구 선택, 재시도, 중단 처리를 애플리케이션 코드에 직접 쓰는 대신 프레임워크 계층에 맡기는 자리에 놓인다. 브라우저와 컴퓨터(Node.js) 두 실행 환경을 같은 인터페이스로 다룬다.
어떻게 동작하나
@eko-ai/eko가 코어이고 실행 환경별로 @eko-ai/eko-nodejs, @eko-ai/eko-web, @eko-ai/eko-extension 패키지가 나뉜다. 자연어 태스크를 받으면 스트림 플래닝이 계획을 조각 단위로 내보내 화면에 점진적으로 렌더링할 수 있게 하고, 3.0의 의존성 인지 실행기가 의존 관계가 없는 단계를 병렬로 돌린다. 실행 중 상태는 task_snapshot으로 저장되어 일시정지·재개·인터럽트 뒤에 이어서 진행된다. 도구는 MCP 서버에 연결해 가져오고 모델은 태스크별로 교체하며, Loop와 Listener 태스크로 반복 실행과 이벤트 대기를 등록한다.
무엇과 다른가
단일 에이전트 루프만 두는 프레임워크와 달리 한 태스크 안의 여러 에이전트를 의존성 그래프로 묶어 병렬 실행한다. 브라우저 확장, 웹 앱, Node.js 프로세스는 런타임 제약이 각각 다른데 이를 별도 코드베이스로 나누지 않고 패키지 교체로 처리한다. 도구 연결 규격도 자체 정의 대신 MCP를 그대로 쓴다.
어떻게 쓰나
저장소는 pnpm 워크스페이스 모노레포이고 example/ 아래에 extension, nodejs, web 세 예제가 있다. 루트에서 의존성을 설치하고 코어 패키지를 빌드한 뒤 각 예제를 실행한다. 확장 예제는 빌드된 dist 디렉터리를 chrome://extensions의 개발자 모드에서 로드하고 옵션 화면에 API 키를 넣는다. Node.js 예제는 Playwright로 브라우저를 구동하며 모델 API 키가 최소 하나 필요하다. 웹 예제는 React 개발 서버를 띄우고 로그인 흐름을 에이전트로 자동화한다.
전제와 한계
브라우저나 프런트엔드 코드에 API 키를 두면 안 된다. baseURL과 요청 헤더를 통해 백엔드 프록시로 우회해야 한다. 3.x에서 4.0으로 올릴 때는 저장된 워크플로와 내보낸 계획을 v3 스키마와 의존성 그래프 형식으로 다시 생성해야 한다. Observable Chain과 Native A2A는 아직 구현되지 않았다. 라이선스는 MIT다.
관련 논문 5
유사 도구
- gemini-cliGemini 모델을 터미널에서 직접 쓰는 TypeScript 기반 오픈소스 AI 에이전트다. 파일·셸·검색 도구와 MCP 서버를 붙여 코드 작업을 실행한다.
- neoClaude·Gemini·GPT 스웜이 실행 중인 앱 안에 상주해 런타임 상태를 읽고 고치는 JavaScript 멀티스레드 애플리케이션 엔진이다.
- Understand-Anything코드베이스를 파일·함수·클래스·의존성 노드의 지식 그래프로 변환하고, 슬래시 명령으로 탐색·질의·영향 분석 절차를 에이전트에 주입하는 Claude Code 플러그인이다.
- mcp-server-kubernetesKubernetes 클러스터를 MCP 도구로 노출해 AI 에이전트가 kubectl과 Helm 작업을 도구 호출로 수행하게 하는 TypeScript 서버다.
- mcp-hub여러 MCP 서버를 하나의 엔드포인트로 묶어 관리하는 Node.js 기반 중계 서버다. REST API와 웹 UI로 서버를 켜고 끄며 상태를 감시한다.
- claude-mpmClaude Code에 훅·슬래시 명령·MCP 설정과 TDD·디버깅·보안 점검 절차를 담은 스킬 묶음을 주입하고, PM이 전문 에이전트로 작업을 라우팅하도록 규율한다.