- 긴 컨텍스트에서 추론 성능이 흔들리는 문제를 줄이기 위해 촘촘한 컨텍스트 큐레이션과 도구 효율 대비 성능 최적화에 초점을 맞춤
gemini-3-flash-preview기준 Terminal-Bench-2 65.2% 를 기록했고, 공개 GitHub 저장소의 복잡한 리팩터링 작업 8개에서 8/8 성공을 달성- Hash-Anchored Edits, Multi-File Batching, 구조 인식 편집을 결합해 여러 파일을 적은 왕복으로 다루고, TypeScript·Python·C++ 같은 언어의 문법 구조를 반영해 수정함
- 파일 읽기·쓰기, 터미널 명령, 헤드리스 브라우저를 지원하며, 승인 기반 워크플로우와 Plan Mode·Yolo Mode·작업 이력 재개 같은 CLI 흐름을 함께 제공함
- 평균 비용 $0.18과 경쟁 도구 대비 64.8% 비용 절감을 내세우며, 벤치마크 전용 정보 없이 실전형 작업에서 성능과 비용을 함께 끌어올린 점이 두드러짐
핵심 성능
-
벤치마크 결과
- 8개 작업 전체에서 8/8 정답을 기록했고, 비교 대상 중 Opencode만 동일한 8/8에 도달함
- 평균 비용은 $0.18로, Cline $0.49, Kilo $0.73, Ohmypi $0.51, Opencode $0.44, Pimono $0.38, Roo $0.60보다 낮음
- README는 Dirac이 경쟁 도구 대비 64.8% 저렴하며, 비용 기준으로 2.8배 절감했다고 밝힘
- 자세한 작업 설명과 방법론은 evals/README.md에서 확인 가능함
-
작업별 비용 특성
transformers,vscode,django저장소를 포함한 각 리팩터링 작업에서 대부분 최저 또는 최저권 비용을 기록함- 예를 들어
transformers의 DynamicCache 작업은 $0.13,django의 datadict 작업은 $0.08,vscode의 sendRequest 작업은 $0.25 수준임 - 일부 경쟁 도구는 Incomplete나 Failure를 기록했지만, Dirac은 표에 나온 8개 작업 모두 Success로 표시됨
접근 방식과 설계
-
컨텍스트와 편집 전략
- Hash-Anchored Edits로 안정적인 라인 해시를 기준으로 수정 위치를 겨냥해, 전통적인 줄 번호 기반 편집의 "lost in translation" 문제를 피함
- Multi-File Batching으로 여러 파일을 한 번의 LLM 왕복에서 읽고 수정해 지연 시간과 API 비용을 줄임
- High-Bandwidth Context 최적화로 가장 관련성 높은 정보만 유지해 토큰 낭비를 줄이고, 에이전트를 가볍고 빠르게 유지함
-
구조 인식 편집
- AST-Native Precision을 내장해 TypeScript, Python, C++ 등 언어의 문법 구조를 이해한 상태로 작업함
- 함수 추출이나 클래스 리팩터링 같은 구조적 조작을 100% 정확도로 수행할 수 있다고 밝힘
-
도구 사용 모델
- 파일 읽기와 쓰기, 터미널 명령 실행, 헤드리스 브라우저 사용 등을 지원함
- 작업 흐름은 승인 기반 워크플로우를 유지해 사용자가 통제권을 갖도록 설계됨
- 모델 지원은 네이티브 툴 호출이 가능한 경우로 한정하며, 신뢰성과 성능 확보를 이유로 둠
- README 기준 MCP는 지원하지 않음
사용 방식과 커스터마이징
-
프로젝트별 동작 제어
AGENTS.md파일로 프로젝트별 지침을 적용해 동작을 커스터마이징할 수 있음.ai,.claude,.agents디렉터리를 자동으로 읽어 Claude skills도 함께 활용함
-
CLI 사용 흐름
dirac auth로 인증한 뒤dirac "Analyze the architecture of this project"처럼 작업을 실행할 수 있음dirac -p "prompt"는 Plan Mode로 전략을 먼저 확인하는 방식임dirac -y "prompt"는 Yolo Mode로 모든 동작을 자동 승인함git diff | dirac "Review these changes"처럼 파이프 입력으로 컨텍스트를 직접 넘길 수 있음dirac history로 이전 작업을 보고 다시 이어갈 수 있음
-
VS Code 통합
- VS Code Marketplace에서 확장을 설치할 수 있음
- VS Code 사이드바를 열고 Anthropic, OpenAI, OpenRouter 등 선호 AI 제공자를 설정한 뒤 새 작업을 시작하는 흐름임
실행 환경과 제공자 연동
-
API 키와 환경 변수
- 인증 단계를 건너뛰기 위해
ANTHROPIC_API_KEY,OPENAI_API_KEY,OPENROUTER_API_KEY,GEMINI_API_KEY,GROQ_API_KEY,MISTRAL_API_KEY,XAI_API_KEY,HF_TOKEN등을 환경 변수로 받을 수 있음 - 전체 목록은
src/shared/storage/env-config.ts에 있음
- 인증 단계를 건너뛰기 위해
-
AWS Bedrock 지원
AWS_REGION,AWS_ACCESS_KEY_ID,AWS_SECRET_ACCESS_KEY,AWS_SESSION_TOKEN과 함께AWS_BEDROCK_MODEL또는AWS_BEDROCK_MODEL_ACT,AWS_BEDROCK_MODEL_PLAN을 설정하면 Bedrock provider로 자동 전환됨- aws-vault와 함께 사용할 수 있는 실행 예시를 포함함
- Sonnet 4.6 이상 같은 최신 Claude 모델은
us.,eu.,ap.같은 cross-region inference profile prefix가 필요하며, 지원 모델 ID는 AWS docs 참조를 안내함
프로젝트 배경
-
오픈소스와 계보
- Apache License 2.0 기반 오픈소스 프로젝트임
- Cline을 포크한 프로젝트로 명시됨
-
참고 리소스