Ornith-1.0: 스스로 Scaffold를 생성하는 Agentic Coding LLM
Ornith-1.0: Self-scaffolding LLMs for agentic coding
TL;DR Highlight
모델이 문제 풀이 전략(scaffold)을 직접 생성하고 개선하는 자기강화 학습 프레임워크를 적용한 오픈소스 코딩 특화 LLM으로, 9B 소형 모델부터 397B 대형 모델까지 라인업을 갖추고 SWE-Bench 등 주요 벤치마크에서 Claude Opus 4.7을 능가하는 성능을 보여줬다.
Who Should Read
오픈소스 LLM을 활용해 코드 자동화 에이전트를 구축하거나, 엣지 디바이스에 경량 코딩 모델을 배포하려는 ML 엔지니어 및 백엔드 개발자.
Core Mechanics
- Ornith-1.0은 Gemma 4와 Qwen 3.5를 베이스로 파인튜닝한 오픈소스 모델 패밀리로, 9B Dense, 31B Dense, 35B MoE, 397B MoE 네 가지 크기로 출시됐다.
- 핵심 혁신은 'Self-Scaffolding'이라는 학습 방식인데, 기존에는 사람이 직접 설계한 하네스(모델이 문제를 풀 때 따르는 실행 프레임)를 고정해서 쓰는 반면, Ornith-1.0은 모델이 그 scaffold 자체를 스스로 생성하고 RL(강화학습)로 함께 최적화한다.
- 학습의 각 RL 스텝은 두 단계로 진행된다. 먼저 모델이 이전에 쓴 scaffold를 보고 더 나은 scaffold를 제안하고, 그 scaffold를 바탕으로 실제 솔루션을 생성한다. 이 두 단계 모두에 리워드가 역전파되므로 scaffold와 풀이 품질이 동시에 개선된다.
- 이 구조 덕분에 태스크 카테고리별로 최적화된 전략이 자동으로 발견되고, 사람이 하네스를 손으로 설계할 필요 없이 지속적인 성능 향상이 가능하다.
- 리워드 해킹 방지를 3단계로 구현했다. 환경/도구 표면/테스트 격리는 모델이 수정할 수 없도록 고정하고, 결정론적 모니터가 허가되지 않은 경로 읽기나 검증 스크립트 수정 시도를 감지해 해당 트라젝토리에 리워드 0을 부여한다.
- 세 번째 방어층으로는 별도의 frozen LLM judge를 veto 역할로 사용한다. 도구 표면 안에서도 intent 수준의 게이밍(예: 테스트 파일을 읽어 답을 하드코딩하거나 오라클 솔루션을 복사하는 행위)을 걸러낸다.
- 플래그십 Ornith-1.0-397B는 Terminal-Bench 2.1에서 77.5, SWE-Bench Verified에서 82.4를 기록해 Claude Opus 4.7(70.3 / 80.8), MiniMax M3(66.0 / 80.5), DeepSeek-V4-Pro(67.9 / 80.6)를 모두 능가했다.
- 35B MoE 모델은 397B 파라미터인 Qwen 3.5-397B를 Terminal-Bench 2.1에서 64.4 vs 53.5로 앞섰고, 엣지용 9B 모델은 SWE-Bench Verified에서 69.4를 달성해 Gemma 4-31B와 동등하거나 더 좋은 성능을 보였다.
Evidence
- 실제 보안 버그 탐지 벤치마크(Mythos 기반)에서 테스트해봤는데, read/grep/ls만 허용했을 때는 성능이 저조했지만 full shell과 Python을 허용하자 탐지 건수가 두 배로 늘었다는 경험이 공유됐다. 이는 모델이 실제로 도구를 활용해 문제를 해결하는 방식을 취한다는 것을 실증한다고 볼 수 있다.
- 같은 테스트에서 Ornith-1.0-35B는 동일한 Qwen 3.6 MoE를 베이스로 agentic use에 맞게 파인튜닝한 'Qwen AgentWorld'보다 낮은 성능을 보였다는 보고도 있었다. 벤치마크 수치는 좋지만 특정 도메인에서는 아직 경쟁 모델에 미치지 못할 수 있음을 시사한다.
- 9B 모델이 Qwen 3.6 35B와 동등한 성능을 낸다는 주장이 'bonkers한 클레임'이라며 회의적인 반응도 있었다. 모델 크기 대비 성능 차이가 너무 크다는 점에서 벤치마크 설정이나 평가 방식에 의문을 품는 시각이다.
- Self-Scaffolding이 결국 '모델이 코드를 작성해서 실행하는 방식으로 질문에 답하도록 학습시킨 것'이고, 그렇다면 fancy한 프롬프트 최적화와 본질적으로 다른가 하는 의문이 제기됐다. 이에 대해 명확한 반론이나 저자의 답변은 댓글에서 확인되지 않았다.
How to Apply
- SWE-Bench 스타일의 GitHub 이슈 자동 해결 파이프라인을 구축 중이라면 Ornith-1.0-35B MoE를 먼저 평가해볼 것. 397B 대비 훨씬 적은 리소스로 비슷한 수준의 agentic coding 성능을 낼 수 있고, Qwen 3.5-397B보다 Terminal-Bench에서 높은 점수를 기록했다.
- 엣지 디바이스나 제한된 GPU 환경에서 코드 자동완성/버그 수정 에이전트를 돌려야 한다면 Ornith-1.0-9B를 검토해볼 것. 9B임에도 SWE-Bench Verified 69.4로 Gemma 4-31B와 동등한 성능을 내므로 배포 비용을 크게 낮출 수 있다.
- 모델에 shell, Python 실행 등 full tool access를 주는 환경을 설계할 때는 read/grep/ls만 허용하는 제한적 환경보다 성능이 크게 올라가므로, 보안 제약이 허용하는 범위 내에서 최대한 넓은 도구 접근을 부여하는 것이 효과적이다.
- 자체 agentic 학습 파이프라인을 설계할 때 scaffold를 고정하지 말고 학습 가능한 오브젝트로 다루는 접근을 참고할 수 있다. 단, 리워드 해킹 방지를 위해 환경 격리, 결정론적 모니터, LLM judge 세 레이어를 모두 갖추는 것이 필수다.
Terminology
관련 논문
Micro-Agent: Model API 내부 협업으로 Frontier 모델을 이기는 방법 (vLLM Semantic Router)
vLLM 팀이 단일 모델 API 호출 뒤에서 여러 모델이 협업하는 'Micro-Agent' 개념을 공개했습니다. 별도의 에이전트 코드 없이 라우터 레이어에서 모델 조합을 실행해 GPT-4급 결과를 더 저렴하게 낼 수 있다는 아이디어입니다.
Ornith-1.0: 에이전틱 코딩을 위한 자기 개선형 오픈소스 모델
Gemma 4와 Qwen 3.5를 기반으로 파인튜닝한 코딩 특화 오픈소스 모델로, RL(강화학습)을 통해 스캐폴드(에이전트 실행 구조)까지 함께 최적화하는 방식을 주장하지만, 커뮤니티에서는 벤치마크 과최적화에 불과하다는 의심을 받고 있다.
Tool-Augmented Agent에서의 Entity Binding 실패 분석
AI 에이전트가 올바른 도구를 선택해도 잘못된 대상에 실행하는 'Entity Binding 실패' 문제를 정의하고, 이를 막는 실행 정책을 평가한 논문.
Herdr: 터미널에서 여러 AI Agent를 한 번에 관리하는 Agent Multiplexer
여러 AI 코딩 에이전트(Claude, Codex 등)를 하나의 터미널에서 동시에 실행·관리할 수 있는 Rust 기반 오픈소스 툴로, tmux처럼 세션이 유지되고 SSH로 원격 접속도 가능해 멀티 에이전트 워크플로우를 크게 단순화해준다.
Adrafinil – AI 에이전트가 작업 중일 때만 Mac을 깨어있게 유지하는 macOS 앱
Claude Code, Codex, Cursor 같은 AI 코딩 에이전트가 실행 중일 때만 Mac의 절전 모드(뚜껑 닫힘 포함)를 막아주는 macOS 메뉴바 앱으로, 에이전트 세션이 끝나면 즉시 정상 절전으로 돌아온다.
OpenKnowledge – Obsidian/Notion의 오픈소스 AI-first 대안
Git 기반 동기화와 Claude/Codex/Cursor 연동을 내장한 로컬 우선 마크다운 에디터로, AI 에이전트의 두 번째 뇌(LLM Wiki)로 활용할 수 있는 오픈소스 도구다.