
Elpis: AI 코딩 에이전트의 컨텍스트 윈도우(Context Window)를 비워두는 터미널 환경
요약
OpenAI Codex CLI를 기반으로 구축된 Elpis는 코딩 에이전트의 컨텍스트 윈도우 효율성을 극대화하는 터미널 환경입니다. 작업 컨텍스트와 지속적인 증거를 분리하여 불필요한 이력 축적을 방지하고 비용을 절감합니다.
핵심 포인트
- 작업 컨텍스트와 디스크 기반 증거를 분리하여 컨텍스트 윈도우 최적화
- 에이전트 세션 중 발생하는 불필요한 히스토리 축적 및 비용 문제 해결
- Codex 대비 높은 여유 컨텍스트(Free context) 확보 가능
- 공유된 환경(Elpises)을 통해 에이전트 간 컨텍스트 및 권한 상속 지원
저는 OpenAI의 Codex CLI를 포크(fork)하여 코딩 에이전트를 위한 터미널 환경인 Elpis를 구축했습니다.
긴 에이전트 세션에서 제가 계속 마주치는 한 가지 문제는, 컨텍스트 윈도우(context window)가 정답 자체가 아니라 _에이전트가 정답에 도달하기까지의 과정(history)_으로 가득 찬다는 점입니다. 트랜스크립트(transcripts), 파일 읽기, 검색, 명령 출력, 막다른 길 등 이 모든 것이 축적되며, 매번 새로운 요청을 보낼 때마다 그 모든 비용을 지불해야 합니다.
Elpis는 바로 이 문제를 해결하기 위해 존재합니다.
Elpis란 무엇인가
Elpis는 코딩 에이전트를 위한 터미널 환경입니다. 에이전트를 Elpis에 넣으면, 그것은 Elpis가 됩니다.
에이전트는 모델 루프(model loop)를 실행합니다. Elpis는 그 주변의 환경, 즉 **컨텍스트(context), 연속성(continuity), 메모리(memory), 권한(permissions), 증거(evidence), 그리고 명시적인 제공자 선택(explicit provider choice)**을 소유합니다.
Elpises
Elpis는 특정 에이전트가 아니라 공유된 환경입니다. 에이전트를 그 안에 넣으면 에이전트는 동일한 컨텍스트, 메모리, 권한, 증거 및 제어권을 상속받습니다.

이러한 공유된 뿌리로부터 작동하는 다중 Elpises는 이 프로젝트의 방향성이지, v0.1.1에서 멀티 에이전트 제어(multi-agent control)가 출시된다는 주장은 아닙니다.
왜 Elpis인가
긴 에이전트 세션은 트랜스크립트, 파일 읽기, 검색, 명령 출력 및 막다른 길을 축적합니다. 유용한 상태는 에이전트가 그 상태에 도달한 방식의 이력 속에 파묻히게 되며, 매 요청마다 더 많은 컨텍스트에 대한 비용을 지불하게 됩니다.
Elpis는 작업 컨텍스트(working context)와 지속적인 증거(durable evidence)를 분리합니다. 다음 요청은 작고 검사 가능한 작업 세트(working set)를 전달받으며, 정확한 기록은 디스크에 유지되다가 필요할 때만 검색됩니다.
통제된 비교 — 동일한 작업, 동일한 프롬프트:
| 종료 시점의 여유 컨텍스트(Free context) | |
|---|---|
| Elpis | 93% |
| Codex | 73% |
해당 비교의 스크린샷
시작:


Elpis는 93%의 여유 공간을 남겼습니다:
Codex는 73%의 여유 공간을 남겼습니다:
이것은 기록된 하나의 워크플로우일 뿐이며, 모든 작업이 동일한 양을 줄인다는 주장은 아닙니다.
간단 데모 (Quick demo)
핵심 기능 (Core features)
- 관리되는 컨텍스트 (Managed context) — Ace는 의미를 인식하는 턴 후 가지치기 (post-turn pruning)를 수행하며, Codex가 상속받은 안전 캡 (safety cap)은 매우 큰 도구 출력 (tool output)의 범위를 제한합니다.
/prune명령어로 가지치기 상태를 검사할 수 있습니다. - 이동 가능한 연속성 (Portable continuity) — 목표 (goal) 및 체크포인트 상태 (checkpoint state)가 압축 (compaction) 및 재시작 후에도 유지되므로, 전체 기록 (transcript)을 다시 재생하지 않고도 작업을 재개할 수 있습니다.
- 가시적인 컨텍스트 (Visible context) — 컨텍스트 장부 (Context Ledger)를 통해 작업 세트 (working set)에 정확히 어떤 파일들이 포함되어 있는지 보여주며, 검사를 위해 클릭 가능한 (ctrl+clickable) 경로를 제공합니다.
- 내구성이 있는 증거 및 제한된 메모리 (Durable evidence and bounded memory) — 정확한 대화, 터미널 이벤트, 아티팩트 (artifacts)가 디스크에 남습니다. 재사용 가능한 메모리는 선택적이고 크기가 제한되며 출처를 추적할 수 있는 상태로 유지됩니다.
- 명시적인 제공자 선택 (Explicit provider choice) — 하나의 제공자를 다른 제공자를 통해 암묵적으로 라우팅하지 않고 OpenAI, Anthropic, Gemini 또는 OpenRouter를 사용할 수 있습니다.
- 가시적인 안전 제어 (Visible safety controls) — 읽기 전용 (Read Only), 기본 (Default), 전체 액세스 (Full Access) 모드를 통해 파일 변경, 명령, 승인 및 결과를 검사할 수 있습니다.
- 기본적으로 분석 미사용 (No analytics by default) — Elpis는 사용 분석 데이터를 업로드하지 않으며, 모든 OpenTelemetry 익스포터 (exporters)는 기본적으로 꺼져 있습니다. 텔레메트리 (Telemetry)는 사용자가 OTEL 익스포터를 명시적으로 설정한 경우에만 전송됩니다.
- 로컬 읽기 전용 RAG (Local read-only RAG) — 소스 체크아웃 (source checkout)으로부터
scripts/setup-rag.sh를 실행하면, 쓰기 권한을 부여하지 않고도 로컬 지식에 대한 시맨틱 검색 (semantic search)을 추가할 수 있습니다.
증거 — 전체 컨텍스트 관리 세션 (Evidence — full context-management session)
위 영상은 25초 분량의 하이라이트입니다. 이 영상은 편집되지 않은 전체 세션입니다. 턴 후 가지치기 (post-turn pruning), 컨텍스트 장부 (Context Ledger) 업데이트, 압축 (compaction) 후에도 유지되는 목표 및 체크포인트 상태 등 컨텍스트 루프 (context loop)가 실행되는 과정을 지켜볼 수 있으며, 93% 대 73% 수치가 실시간으로 나타나는 것을 확인할 수 있습니다.
빠른 시작 (Quickstart)
Linux x86_64:
curl -fsSL https://raw.githubusercontent.com/MasihMoafi/Elpis/main/scripts/install-elpis.sh | bash
elpis
처음 실행할 때, 제공자 (provider)를 선택하고 로그인하거나 API 키를 입력하세요.
현재 상태
v0.1.1, Linux x86_64. 이번 릴리스에 포함되지 않은 기능: macOS, Windows, /auto 라우팅 (routing), 멀티 에이전트 제어 (multi-agent control), 음성 입력 (voice input), LSP 통합 (LSP integration).
실행 기반 — 터미널 UI, 패치 (patches), 권한 (permissions), 샌드박싱 (sandboxing), 세션 (sessions) — 은 OpenAI의 Apache-2.0 Codex CLI로부터 파생되었습니다. Elpis는 그 주변에 컨텍스트 (context), 연속성 (continuity), 메모리 (memory), 검색 (retrieval), 그리고 제공자 제어 (provider-control) 레이어를 추가합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기

