오픈 모델을 위한 코딩 하니스 CodeAF
요약
CodeAF는 오픈 모델을 위한 코딩 하니스로, 저렴한 비용으로 최고 수준의 코딩 성능을 구현하도록 설계되었습니다. 기존 방식처럼 여러 에이전트가 분산된 터미널에서 작동하는 것이 아니라, 하나의 창에서 모든 프로젝트 진행 상황과 대규모 태스크 트리를 통합 관리할 수 있습니다. DeepSWE 벤치마크에서 Claude Code, Codex 등 기존 하니스를 능가하는 성능을 가장 낮은 비용으로 달성했습니다.
핵심 포인트
- 오픈 모델에 최적화된 코딩 하니스로 높은 효율성을 제공합니다.
- 여러 에이전트의 작업을 단일 창에서 통합 관리하여 워크플로우를 간소화합니다.
- DeepSWE 벤치마크에서 낮은 비용으로 최고 성능을 기록했습니다.
- Go 언어로 작성되어 별도의 설치 없이 작은 바이너리로 사용 가능합니다.
저렴한 비용으로 오픈 모델에서 최고 수준의 코딩 성능 구현.
CodeAF는 오픈 모델에 최적화된 코딩 하니스(coding harness)로, 투입되는 모든 비용 대비 최대의 효율을 얻도록 설계되었습니다. 또한, 여러 작업이 동시에 진행될 때 기존 방식과는 다른 워크플로우를 제공합니다. 이전에는 에이전트 세 개가 각각 터미널에서 작동하고 사용자가 그 사이에 끼어들어 관리해야 했지만, CodeAF는 하나의 창에서 모든 프로젝트의 진행 상황을 파악하고, 판단이 필요한 지점에만 개입할 수 있게 합니다. 마치 자체 기계로 운영되는 공장과 같아서, 작업을 많이 위임할수록 더 많은 일을 처리합니다.
동일 모델 기반 10개 코딩 하니스 중 DeepSWE에서 1위 기록. Claude Code, Codex, OpenCode, Kilo, 그리고 DeepSeek 자체 하니스를 능가하는 성능을 가장 낮은 비용으로(벤치마크 기준) 달성했습니다.
Apache 2.0 라이선스로 작성되었으며 Go 언어로 하나의 작은 바이너리로 구성되어 별도의 설치나 실행 과정이 필요 없습니다. AgentField AI에서 개발했습니다.
초기 프리뷰 버전인 만큼 CodeAF는 빠르게 발전하고 있습니다. 사용 중 불편한 점이 있다면 Discord 또는 이슈 트래커를 통해 알려주시면 감사하겠습니다.
codeaf-demo.mp4
사운드와 함께 실시간 속도를 경험해 보세요. DeepSeek V4.1 Flash에서 세 가지 작업이 라이브로 실행되며, 다른 프로젝트들과 대규모 태스크 트리(large task tree)는 시연용으로 구성되었습니다.
curl -fsSL https://agentfield.ai/get/codeaf | bash
codeaf
버전을 고정하거나 소스에서 빌드하기
스크립트를 실행하면 릴리스 바이너리가 ~/.codeaf/bin에 배치됩니다.
버전을 특정하고 싶다면, 에셋과 체크섬이 함께 제공되는 릴리스 페이지의 태그를 사용하세요:
curl -fsSL https://agentfield.ai/get/codeaf | VERSION=<tag> bash
직접 빌드하려면 다음 단계를 따르세요: git clone, make build, bin/codeaf (가이드).
최초 실행 시 브라우저를 통해 OpenRouter에 연결하거나 키를 입력해야 합니다. Codex는 /connect 또는 codeaf connect codex를 통해 ChatGPT 플랜으로 로그인하며, DeepSeek, GLM, Kimi, MiniMax, Qwen은 API 키가 필요하고, Ollama는 별도의 설정이 필요 없습니다.
에이전트가 하나의 폴더에 존재한다는 것은 리포지토리당 터미널을 의미하며, 어떤 것이 무엇인지 기억하기 위해 tmux 레이아웃이 필요합니다. CodeAF는 이 모든 것을 단일 창으로 통합했습니다.
home은 기기 내의 모든 프로젝트와 대화를 나열합니다. enter를 누르면 해당 프로젝트로 이동합니다.
탭에서 열거나 그만둔 대화는 계속 스트리밍되며 작업이 실행됩니다. 탭을 전환합니다. Alt+K를 누르면 열려 있든 닫혀 있든 모든 대화로 이동할 수 있습니다. 각각은 자체 승인 규칙, 모델 및 지출 한도를 유지합니다.
'home'은 필요한 것, 읽지 않은 것, 실행 중인 것, 그리고 그 모든 것에 대한 비용을 한 번에 알려줍니다. 숫자는 해당 행에서 질문에 답합니다.
동료에게 말하듯이 무엇이 잘못되었는지 이야기하세요. 하나의 메시지에 세 가지 항목을 언급하면 각각 자체 작업이 되고, 자체 저장소 복사본의 자체 브랜치에서 실행됩니다. 대화는 당신의 것이며 계속 유지되고, 옆쪽 레일에는 모든 작업과 하위 작업이 표시됩니다.
› 이어서 세 가지: CI에서 5번에 한 번 테스트 재시도가 실패하고, 가격 페이지가 휴대폰에서 단어 중간에 끊기며, 배포 키가 금요일에 만료됩니다.
검사를 통과한 작업은 main, dev 또는 릴리스 브랜치에 직접 도착하지 않고, 자체적으로 당신의 브랜치에 도착합니다. 검사할 필요가 없는 작업은 'unread' 아래에서 기다립니다: '1' 수락, '2' 적절하지 않음.
수동으로 실행되는 에이전트는 빠르지만, 스케줄링, 확인 및 병합은 여전히 당신에게 달려 있었습니다.
공장은 세 번째 그림입니다. 한 줄이 나가고, 한 줄이 돌아옵니다.
그것이 중간을 처리합니다. 작업의 크기를 조정하고, 분할하며, 충돌할 수 없는 부분들을 실행하고, 돌아온 것을 테스트하며, 통과한 것을 병합합니다.필요할 때만 질문합니다. 모든 프로젝트에서 'needs you' 아래에 질문이 기다립니다. 나머지 모든 것은 그것이 결정하고, 기록하고, 계속 진행합니다.
일반 에이전트는 모든 것을 조금씩 합니다. 가장 중요한 작업은 같은 형태로 돌아옵니다: 이 풀 리퀘스트 검토하기, 이 이슈 수정하기, 이 종속성 감사하기. 서브하네스(subharness)는 정확히 그 작업을 위해 구축된 전문가이며, 자체 계획, 자체 확인 절차 및 적합한 모델을 가지고 있습니다. 유형화된 입력을 받아 유형화된 출력을 반환하므로, 약속한 것을 제공하거나 불완전으로 표시됩니다.
실행(run)은 'home'에서 방과 정지 버튼이 있는 다른 작업과 같은 작업입니다.
**Coming soon, native:**PR-AF, Martian Code-Review-Bench에서 최고의 오픈 소스 코드 리뷰어입니다.Native now:/senior-dev
개발자 서브하니스(developer subharness)입니다. DeepSWE의 10개 하니스 중 첫 번째이며, 아래 벤치마크에 있습니다.사용자 정의:
내장된 Provider: OpenRouter, DeepSeek, GLM, Kimi, MiniMax, Qwen, ChatGPT 플랜을 통한 Codex, Ollama 및 모든 OpenAI 호환 엔드포인트.
설치(Installs)는 모델에 대해 측정한 내용을 모을 수 있습니다. 기본적으로 활성화되어 있으며, 설치가 전송하는 내용은 실행된 모델에 대한 텍스트 없는 숫자(역할, 모델, 숫자, 어떤 모델이 판단했는지, 도어, 크기 버킷, 날짜)를 개별 설치의 nonce 하에, 코드, 프롬프트, 경로 또는 신원 없이 계산됩니다. 그리고 codeaf pool status는 무엇을 기다리고 있는지 정확히 보여줍니다. 설정 시트에서 model_pool = off로 끄거나 CODEAF_MODEL_POOL=off로 끌 수 있습니다.
; read은 풀(pool)을 사용하고 아무것도 전송하지 않으며, 그리고 CODEAF_TELEMETRY=off는 사용량 카운트와 함께 이를 read 수준으로 제한합니다. 릴레이(relay)는 설치가 측정한 내용의 서명된 인덱스를 게시합니다. 이 인덱스는 pool/index.json에서 model-pool 브랜치에 미러링됩니다. 설계는 Pareto Crewing이며, 릴레이 코드는 relay/ 아래에 있고, 자체적으로 실행할 수 있는 런북(runbook)이 포함되어 있습니다.
규칙, 알림, 감시(watches)는 한 가지이며, 말함으로써 설정합니다.
shows
해당 머신이 가진 프로젝트, 작업 및 정기 명령(standing orders)을 보여줍니다.
codeaf chat --host devbox # 사용자의 SSH: 설정, 키, 점프 호스트 등. codeaf를 설치할 필요는 없습니다.
타이핑은 네트워크를 기다리지 않습니다. 화면을 그리는 것은 왕복(round trip)이 아닙니다. 엔터를 누르는 것이 하나입니다.뚜껑을 닫아도 작업은 계속됩니다. 대화는 devbox에서 살아있습니다. 연결이 끊기면 5분 동안 재연결되며, 자리를 비운 사이에 질문한 내용도 돌아왔을 때 여전히 기다리고 있고, 책상과 노트북은 같은 차례를 지켜볼 수 있습니다.파일은 양방향으로 전송됩니다. 스크린샷을 붙여넣거나 파일을 드롭하면 devbox에 도착합니다. 답변에서 경로를 클릭하면 사용자의 에디터에서 여기서 열립니다.
휴대폰에는 설치할 앱이 없습니다. 모든 모바일 터미널에서 SSH로 접속하여 codeaf를 실행하고, 프로젝트 내에서 실행하면 화면 크기에 맞춰 접혀서 동일한 라이브 대화에 참여합니다.
여전히 연결을 통한 로컬 작업: 지출(spend), 검색 및 메모리입니다. SSH가 전혀 없는 머신에 릴레이와 페어링 코드를 통해 접근하는 것은, 호스팅된 릴레이가 작동할 때 구축되고 전원이 켜집니다. 작동 방식은 다음과 같습니다.
| a copilot | CodeAF | |
|---|---|---|
| 작업하는 곳 | 하나의 창, 하나의 저장소 | 제어실에서 모든 머신의 모든 프로젝트를 관리합니다 |
| ... | ||
| One Go 바이너리로 디스크에 53MB: 필드보다 최대 21배 작습니다. |
| CodeAF | claude | 가장 무거운 경쟁 모델 측정 |
|---|---|---|
| 디스크 용량 | 53 MB | 224 MB, 4배 |
| ... | ||
| 우리 제품 16개가 반 기가바이트에 들어갑니다. claude의 네 번째 탭만 더 많이 필요합니다. |
Harness(프레임워크), 방법론 및 모든 표: docs/benchmarks/performance.
codeaf manual
또는 키맵을 위한 alt+.
매뉴얼은 바이너리에 포함되어 있으며 채팅에서도 읽을 수 있습니다. - 가이드: 모든 플래그, 키, 슬래시 명령어 및 종료 코드.
- docs/: 아키텍처, 헤드리스(headless), 원격(remote), 제한 사항.
전송(Sent): 버전, OS, 모드 (채팅 또는 작업), 세션 횟수, 오류 수 및 사용된 총 토큰 — 무작위 설치 ID별 카운트와 범위로 기록됩니다.절대(Never): 사용자나 작업에 관한 어떠한 정보도 전송되지 않습니다. 프롬프트, 코드, 파일 이름, 경로, 저장소 이름, 키, 이메일, IP 주소, 컴퓨터 이름 또는 모델 이름 등은 제외됩니다.끄기(Turn off): 채팅의 /settings 스위치, CODEAF_TELEMETRY=off, 또는 DO_NOT_TRACK=1 중 하나를 사용하십시오. 이 세 가지 방법 중 어느 것을 사용하든 모든 스트림, Model Pool의 행을 포함하여 전송이 중단됩니다. /settings 스위치는 즉시 전송을 중지시키며, 다시 켜면 codeaf이 다음 시작 시점에 적용됩니다. 본 페이지와 docs/TELEMETRY.md가 전체 공개 내용입니다: 제품 자체는 어떠한 알림도 출력하지 않으며 텔레메트리 명령어도 없습니다. 이 문서는 어떤 필드가 전송되는지, 언제 전송되는지, 그리고 비활성화하는 모든 방법을 나열하며, 테스트를 통해 코드로 구현되어 있습니다.
AgentField 팀이 제작했습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub Trending Go (weekly)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기