TerminalBench 1위 달성한 오픈소스 코딩 에이전트 Dirac - API 비용 50~80% 절감
Show HN: OSS Agent I built topped the TerminalBench on Gemini-3-flash-preview
TL;DR Highlight
컨텍스트를 극도로 효율적으로 관리해 API 비용을 평균 64.8% 줄이면서도 코드 품질은 올린 오픈소스 코딩 에이전트 Dirac이 공개됐다. Gemini-3-flash-preview 기준 TerminalBench-2에서 65.2%로 1위를 기록했다.
Who Should Read
Claude Code, Cline, Aider 같은 AI 코딩 에이전트를 쓰면서 API 비용이 부담스러운 개발자, 또는 대규모 코드베이스 리팩토링 작업에 에이전트를 도입하려는 개발자.
Core Mechanics
- Dirac의 핵심 철학은 '컨텍스트 길이가 길어질수록 모델의 추론 능력이 저하된다'는 잘 알려진 현상에서 출발한다. 컨텍스트를 타이트하게 유지하면 정확도와 비용을 동시에 개선할 수 있다는 것.
- Hash-Anchored Edits(해시로 코드 위치를 고정한 뒤 변경하는 방식)를 최적화해 파일 편집 시 토큰 낭비를 크게 줄인다. 기존 에이전트들이 파일 전체를 읽고 쓰는 것과 달리, 변경이 필요한 부분만 정밀하게 타깃팅한다.
- AST(Abstract Syntax Tree, 소스코드의 구조를 트리 형태로 표현한 것) 분석을 통해 모델이 실제로 필요한 코드 조각만 컨텍스트에 올린다. 큰 파일 전체를 읽는 대신 필요한 함수나 클래스만 골라서 가져오는 방식이다.
- 대량의 읽기/쓰기 작업을 동시에 병렬로 처리한다. 순차적으로 한 작업씩 처리하는 다른 에이전트와 달리 여러 파일 편집을 한 번에 배치로 실행해 속도와 효율을 높인다.
- 모델이 bash/python/perl 스크립트를 직접 작성해 실행하고 결과를 분석할 수 있다. 정적으로 파일을 읽는 대신 코드를 실행해 동적으로 정보를 수집하는 방식이다.
- 'opportunistic context update(예측적 컨텍스트 업데이트)' 전략을 쓴다. 모델이 다음에 요청할 것이 확실한 정보를 미리 컨텍스트에 넣어둬서 불필요한 추가 API 호출을 방지한다.
- Gemini-3-flash-preview 기준 TerminalBench-2 리더보드에서 65.2%를 기록해 1위를 달성했다. Google 공식 결과(48%)보다 17%p 높은 수치로, 같은 모델이라도 에이전트 하네스(harness, 에이전트를 감싸는 실행 프레임워크)의 품질이 결과를 크게 좌우한다는 것을 보여준다.
- MCP(Model Context Protocol)를 사용하지 않는다. Cline 포크 기반이지만 자체 아키텍처로 발전시켰으며, Apache 2.0 라이선스 오픈소스로 공개돼 있다.
Evidence
- 댓글에서 가장 많은 공감을 받은 관점은 '하네스가 모델보다 성능에 더 큰 영향을 준다'는 것이다. 한 댓글에서는 '모델을 Gemini에서 Sonnet으로 바꾸는 것보다 하네스를 바꾸는 것이 벤치마크 점수 차이를 더 크게 만든다'고 지적했고, 이에 대해 여러 개발자들이 동의하는 반응을 보였다.
- 실제 사용 경험으로, Kimi 2.6과 Dirac을 조합해 Rust 코드베이스를 리팩토링했다는 사례가 공유됐다. Clean Architecture 패턴 적용 작업에서 OpenCode보다 생산적이었고, OpenCode는 .rs 파일을 망가뜨려서 코드를 되돌려야 했다는 경험도 언급됐다.
- 텔레메트리(사용 데이터 자동 수집) 관련 우려가 제기됐다. 한 사용자가 Dirac이 dirac.run/v1/event 엔드포인트로 데이터를 전송하고 있음을 발견했고, API 에러 내용도 포함되어 민감한 정보가 유출될 수 있다고 지적했다. 게다가 opt-out(설치 후 직접 꺼야 함) 방식이라 신뢰 문제로 사용을 포기하겠다고 밝혔다.
- 컨텍스트 관리 방식이 현재 모델의 한계를 보완하는 임시방편일 수 있다는 반론도 나왔다. 한 댓글에서 '컨텍스트 관리는 현 세대 모델 문제를 해결하는 것이지 범용적인 특성이 아니며, 몇 세대 후 모델에서는 RAG처럼 구시대 기술이 될 수 있다'고 전망했다.
- 벤치마크가 Gemini 3 Flash에서만 측정됐다는 한계도 지적됐다. 다른 모델 패밀리(예: Minimax 2.7)에서도 동일한 성능이 나오는지 검증하지 않으면 Gemini에 오버핏된 것일 수 있다는 의견이 있었다. 또한 랜딩 페이지에 Gemini 기준임을 명시하지 않은 것도 지적됐다.
How to Apply
- 기존에 Cline이나 Aider를 쓰면서 API 비용이 과도하게 나오고 있다면, Dirac으로 교체하고 동일한 작업을 돌려서 비용과 결과물을 비교해볼 수 있다. 평균 64.8% 절감 효과가 있다고 주장하므로 실제 워크플로우에서 검증 가능하다.
- 대규모 Rust/TypeScript 코드베이스 리팩토링 작업처럼 파일이 많고 컨텍스트가 금방 터지는 작업에 Dirac을 투입하면, AST 기반 컨텍스트 선택 덕분에 컨텍스트 한도 초과 없이 작업을 완료할 가능성이 높아진다.
- 회사 LLM 프록시를 쓰는 환경이라면, 댓글에서 'api/config 파일 몇 줄 수정으로 사내 프록시에 연결해서 잘 동작했다'는 사례가 있으니 설정 파일을 수정해 기존 인프라에 연결할 수 있다.
- 텔레메트리가 걱정된다면, opt-out 설정을 먼저 확인하고 비활성화한 뒤 사용을 시작해야 한다. API 에러가 외부 서버로 전송될 수 있으므로 민감한 코드베이스 환경에서는 이 부분을 반드시 점검할 것.
Terminology
관련 논문
프로덕션 AI 에이전트를 GPT-5.6으로 마이그레이션: 2.2배 빠르고 27% 저렴
마케팅 웹사이트를 자동 생성하는 프로덕션 AI 에이전트를 Claude Opus 4.8에서 GPT-5.6 Sol로 전환한 실전 경험담으로, 단순 모델 교체가 아니라 eval 하네스, 툴 스키마, 캐싱, 추론 리플레이까지 손봐야 했던 과정을 구체적인 수치와 함께 정리했다.
xAI Grok Build CLI가 xAI 서버로 전송하는 데이터: 네트워크 레벨 분석
xAI의 공식 코딩 CLI 도구 Grok Build가 사용자 동의 없이 전체 Git 저장소와 .env 시크릿 파일을 xAI 서버로 업로드한다는 사실이 네트워크 트래픽 분석으로 밝혀졌다.
중요할 때 기억하라: Long-Horizon 에이전트를 위한 Proactive Memory Agent
LLM 에이전트가 긴 작업 중 중요한 정보를 잊어버리는 문제를 별도의 메모리 에이전트가 '적절한 타이밍에' 끼어들어 해결하는 방법
WebSwarm: 깊고 넓은 웹 검색을 위한 재귀적 Multi-Agent Orchestration
복잡한 웹 검색을 재귀적으로 분해하고 각 노드에 적합한 검색 모드를 동적으로 할당하는 멀티에이전트 프레임워크
웹 앱을 리버스 엔지니어링해서 AI Agent 도구로 자동 변환하기
로그인된 웹 앱의 API 호출을 브라우저에서 감시해 자동으로 MCP 도구로 변환하는 에이전트를 만들었다. 소스 코드나 공식 API 문서 없이도 Jira, Spotify 같은 서비스에 AI 어시스턴트를 붙일 수 있다.
FableCut – AI 에이전트가 조작할 수 있는 브라우저 기반 비디오 에디터 (zero deps)
타임라인 전체를 JSON 파일 하나로 표현하고 MCP/REST로 AI 에이전트가 직접 편집할 수 있는 브라우저 비디오 에디터로, Claude 같은 AI가 프롬프트 하나로 영상을 자동 컷편집하고 결과를 실시간으로 UI에 반영해준다.