Dirac: Gemini-3-flash-preview로 TerminalBench 1위를 찍은 오픈소스 코딩 에이전트
Show HN: OSS Agent I built topped the TerminalBench on Gemini-3-flash-preview
TL;DR Highlight
해시 앵커 편집과 AST 도구를 쓴 에이전트가 8개 리팩터링에서 평균 비용 $0.18을 기록했다
Who Should Read
코딩 에이전트 하네스(모델을 감싸는 도구 체계)를 직접 만들거나 API 비용을 줄이고 싶은 백엔드 개발자
Core Mechanics
- 같은 모델로 하네스만 바꿨다
- 원문은 7개 하네스 모두 gemini-3-flash-preview(thinking high)로 8개 멀티파일 리팩터링을 돌렸다고 한다.
- Dirac은 8/8 완료, 평균 비용 $0.18로 가장 낮았다.
- 비교 대상 평균 비용은 $0.38~$0.73
- Cline $0.49(5/8), Kilo $0.73(6/8), Ohmypi $0.51(8/8), Opencode $0.44(6/8), Pimono $0.38(6/8), Roo $0.60(8/8)이다.
- 원문 표에서는 Dirac과 Ohmypi, Roo가 8/8을 기록했다.
- 검색-치환 대신 해시 앵커 편집
- 각 줄에 안정적인 앵커(줄 식별 표식)를 붙여 모델이 정확한 범위만 교체한다.
- 근처 줄이 밀려도 동작하며 편집 페이로드, 모호성, 재시도가 줄어든다고 한다.
- AST로 파일 전체를 읽지 않는다
- inspect_ast로 여러 파일의 개요나 특정 함수 구현과 참조만 가져온다.
- edit_ast로 함수 통째 교체나 수백 개 참조 이름 변경을 한 번에 한다.
- 읽기·검색·편집을 한 응답에 배치
- 독립적인 작업을 한 번에 보내서 파일마다 모델 왕복을 하지 않는다.
- 서브에이전트는 동시에 돌고, 오래된 소스에 대한 편집은 쓰기 시점에 거부한다.
- 싼 Utility 모델로 부수 작업 분리
- 컨텍스트 압축, 새 작업 인계, 커밋 메시지, 권한 판단을 별도의 저렴한 모델에 맡길 수 있다.
- 원문은 컨텍스트 압축 사례에서 이 방식이 비용을 80% 넘게 줄였다고 한다.
Community Reactions
- 하네스가 모델만큼 중요하다는 의견
- Google 공식 결과 48%에서 65%로 오른 점이 크다는 댓글이 있었다.
- 하네스끼리 같은 모델로 비교한 리더보드가 있느냐는 질문도 나왔다.
- 일반화 여부는 아직 검증이 부족하다는 의견
- Gemini 3 Flash에만 과적합됐을 수 있으니 다른 모델 계열로도 벤치마크해야 한다는 댓글이 있었다.
- 랜딩 페이지에 Gemini 기준이라는 언급이 없고 속도 비교도 빠졌다는 지적도 있었다.
- Kimi 2.6로 Rust 리팩터링에 써 봤더니 OpenCode보다 낫더라는 경험
- OpenCode는 .rs 파일을 망가뜨려 되돌려야 했다고 한다.
- 다른 댓글은 더 정확하게 느껴졌지만 OpenRouter 429 에러 때 세션이 멈추는 재시도 문제가 있었다고 한다.
- 텔레메트리가 기본 켜짐이라 거부했다는 의견
- dirac.run/v1/event로 전송되고 API 에러가 민감 정보를 담을 수 있다는 지적이다.
- 1인 개발이라 불안하다는 이유였다.
How to Apply
- 지금 쓰는 에이전트에 일괄 처리 지시 넣기
- 오늘 시스템 프롬프트나 AGENTS.md에 독립적인 읽기·검색은 한 응답에 묶어 호출하라고 적자.
- 같은 리팩터링 작업을 전후로 돌려 호출 횟수와 토큰 비용을 비교하자.
- 부수 작업을 싼 모델로 분리하기
- 컨텍스트 압축, 커밋 메시지, 권한 판단용 모델을 메인과 따로 설정하자.
- 비용 로그로 분리 전후를 비교하자.
- 파일 전체 읽기 대신 구조 먼저 보게 하기
- 큰 파일은 함수 목록부터 보고 필요한 함수만 읽도록 도구를 구성하자.
- 편집은 줄 번호나 해시 앵커로 범위를 지정하게 해서 재시도를 줄이자.
- Dirac을 CLI로 같은 작업에 돌려 비교하기
- npm install -g dirac-cli 후 dirac auth로 모델을 설정하자.
- 지금 쓰는 에이전트와 같은 모델로 같은 리팩터링을 돌려 비용과 성공 여부를 비교하자.
Try It
# Claude Code 또는 CLI 에이전트의 시스템 프롬프트/AGENTS.md에 붙여넣기 (원문 방법의 간이 버전)
## 효율 규칙
1. 파일 전체를 읽기 전에 먼저 구조(클래스·함수 목록)만 확인한다.
2. 필요한 함수 구현과 그 참조만 가져온다. 큰 파일을 통째로 읽지 않는다.
3. 서로 독립적인 읽기·검색·편집은 한 응답에 묶어 동시에 호출한다.
4. 편집은 정확한 줄 범위나 심볼 단위로 하고, 바꿀 부분만 교체한다.
5. 루틴한 단계는 서술하지 말고, 결정·주의사항·실패·검증 결과만 간결히 보고한다.
작업: {{리팩터링 작업 설명}}Terminology
관련 논문
모델이 그렇게 좋다면 OpenAI는 왜 회사 100개를 직접 안 차릴까
HN 댓글 답: 코드는 쉬워도 뭘 만들지 아는 건 별개라 토큰을 판다
OpenShell: 자율 AI 에이전트를 가두는 NVIDIA의 안전한 샌드박스 런타임
정책 파일로 에이전트의 파일·네트워크·자격증명 접근을 커널 수준에서 통제한다
Omnara: Claude Managed Agents의 오픈소스 대안 (셀프호스팅 가능)
어떤 모델·머신에서도 에이전트를 돌리는 오픈소스 managed agent 플랫폼
Rust off Rails: 코드 없이 Markdown 60개로 만든 AI 에이전트용 웹 스택
Markdown 규칙 60개로 에이전트가 Rust 웹앱을 짜게 한다는 프레임워크
LayerFS: AI 코딩 에이전트를 위한 파일시스템
에이전트마다 임시 Workspace를 마운트하고 결과만 커밋하는 파일시스템
Launch HN: Alter (YC S25) – 멀티유저 에이전트용 접근 제어
에이전트마다 별도 신원·정책·감사로 API 키 공유 문제를 푼다
Claude로 코드의 공격 표면(attack surface) 줄이기
Claude로 25개 오픈소스를 분석해 불필요하게 열린 코드 493건을 찾았다
WhatsApp 도움말 페이지에 숨겨진 LLM 지시문: 규제기관을 추천하지 말라
WhatsApp 도움말에 화면엔 안 보이는 AI 지시문 102개가 숨어 있었다