에이전트형 코딩 성능을 끌어올린 Ornith 35B 공개
Ornith-1.0-35B는 에이전트형 코딩과 도구 호출을 위해 <think> 기반 추론 출력과 RL 기반의 self-improving 학습을 적용한 35B급 오픈소스 LLM이다.
TL;DR
Ornith-1.0-35B는 에이전트형 코딩을 겨냥해 강화학습 기반의 self-improving 프레임워크로 scaffold와 솔루션을 공동 최적화하도록 설계된 35B급 모델이다. 모델은 생성 시작부에 <think> 블록을 넣어 추론 흔적을 노출하고 <tool_call> 블록을 통해 도구 호출을 표준화된 tool_calls로 노출하는 파서 체인을 제공해 에이전트 워크플로와의 통합을 용이하게 한다. 공식 벤치마크 표에서 Terminal-Bench 64.2와 SWE-bench Verified 75.6, Claw-eval Avg 69.8 같은 점수를 기록해 공개 동급 모델들과 비교해 높은 에이전트형 코드 처리 성능을 보였다. 단점으로는 최신 vLLM, SGLang, Transformers 같은 런타임을 요구하고 서빙 예시에서는 tensor-parallel 구성을 제시해 실제 운영 환경에서 요구되는 인프라 사양 검토가 필요하다.
핵심 역량
- Ornith-1.0-35B는 도구 호출 형식의 출력을 생성해 서버 쪽 파서로 tool_calls 필드에 전달할 수 있어 외부 기능과의 연결을 자동화한다. 이 기능은 쉘 명령 실행이나 함수 호출 같은 에이전트 워크플로와 직접 연동되도록 설계되었다. 도구 호출 정보는 OpenAI 스타일의 구조로 노출되어 표준 에이전트 프레임워크와 호환된다.
- 모델은 생성 시작부에 <think> 블록을 넣어 내부 추론 근거를 노출하며 서버에서 reasoning_content로 분리해 제공한다. 이 구조는 답변의 근거 추적과 디버깅을 가능하게 하며 도구 선택 근거를 검사할 수 있게 한다. 추론 흔적과 최종 답변의 분리는 체계적 검증과 감사에 유리하다.
- 대규모 코드베이스 이해와 터미널 기반 에이전트 작업에서 높은 성능을 보이며 Terminal-Bench, SWE-Bench, Claw-Eval 같은 코드 중심 벤치마크에서 높은 점수를 기록했다. 제공된 서빙 레시피와 파서 설정을 통해 vLLM, SGLang, Transformers 환경에서 동작하도록 최적화되었다. GGUF 빌드로 로컬 추론 환경과 다양한 런타임과의 호환성을 지원한다.
- 긴 컨텍스트 처리를 위한 서빙 설정과 함께 동작하도록 설계되어 최대 262144 토큰 수준의 컨텍스트 길이를 예시로 제시했다. 이로 인해 대형 코드 문맥을 포함한 복잡한 에이전트 작업에서 컨텍스트 유지를 시도할 수 있다. 실제 평가에서는 여러 콘텍스트 설정을 사용한 벤치마크 규칙을 명시해 결과의 재현성을 확보하려는 노력이 보인다.
강점
- 공식 벤치마크 표에서 Ornith-1.0-35B는 Terminal-Bench 2.1에서 64.2, SWE-bench Verified에서 75.6, Claw-eval Avg에서 69.8 등의 점수를 기록해 동급 공개 모델 대비 높은 코드·에이전트 성능을 보였다. 이러한 수치는 에이전트형 상호작용과 터미널 기반 작업에서의 실전 성능 우위를 지지한다. 벤치마크는 동일한 실행 설정과 반복 측정을 통해 제시되어 결과의 신뢰도를 확보하려는 노력이 반영되어 있다.
- 서빙 호환성과 도구 호출 인터페이스가 잘 정비되어 있어 다양한 에이전트 프레임워크와 직접 연동이 가능하다. vLLM과 SGLang 레시피, OpenAI 호환 chat completions API 예시, GGUF 배포 가이드가 모두 포함되어 운영 환경으로의 이식성을 높였다. 또한 MIT 라이선스는 상업적 사용과 배포에 제약을 거의 두지 않아 실무 도입 장벽을 낮춘다.
훈련 방식
Ornith 계열은 self-improving 학습 프레임워크를 적용해 강화학습을 통해 단순한 솔루션 롤아웃뿐 아니라 그 롤아웃을 유도하는 scaffold까지 공동으로 최적화하도록 설계되었다. 이 방식은 탐색 경로를 개선해 더 높은 품질의 해답을 찾는 데 초점을 맞추며 학습 중에 에이전트의 행동 생성 규칙을 강화하는 효과를 노렸다. README는 이 접근을 핵심 차별점으로 제시해 에이전트형 코딩 성능 향상과 직접 연결하고 있다.
알아두면 좋은 것
- Ornith-1.0-35B는 Ornith 계열의 경량 멤버로 단일 GPU 배포를 염두에 둔 설계 목표를 명시하고 있으며 배포 예시로는 tensor-parallel 8 구성의 8×80GB 노드와 로컬 GGUF 사용 방법을 함께 제시했다. 이 문서는 vLLM, SGLang, Transformers 등 최신 런타임 버전을 요구해 실전 서빙 환경의 최소 요구사항을 분명히 했다. MIT 라이선스를 적용해 글로벌 접근성이 보장된다.
- 모델 학습 측면에서는 RL 기반의 self-improving 프레임워크를 도입해 해답 생성뿐 아니라 그 해답을 이끌어내는 scaffold까지 공동으로 최적화한다고 표기되어 있다. 이 접근은 탐색 경로를 개선하고 더 높은 품질의 솔루션을 발견하는 목적을 가진다. 학습 구조 자체가 에이전트 스스로 더 나은 행동을 학습하는 방향으로 설계되었다.
- 서빙 레시피에서 <think> 블록을 별도 reasoning_content로 추출하는 파서와 <tool_call> 블록을 OpenAI 스타일의 tool_calls로 변환하는 툴 호출 파서 옵션을 제공한다. 이 처리 파이프라인은 에이전트형 인터랙션에서 추론 근거와 도구 접근을 분리해 운영과 감사 목적으로 활용 가능하다. 또한 여러 클라이언트와 호환되는 OpenAI 호환 엔드포인트를 표준화해서 다양한 에코시스템과 연동을 용이하게 했다.
- 벤치마크 표는 Terminal-Bench, SWE-Bench, NL2Repo, Claw-Eval 등 에이전트형 코드 벤치마크 전반에서 Ornith-1.0-35B의 점수를 다른 공개 모델들과 직접 비교한 수치를 수록하고 있다. 각 벤치마크는 실행 환경과 파서, 온도, 컨텍스트 길이 같은 재현 조건을 명시해 결과의 해석 가능성을 높였다. 벤치마크 수치는 모델의 코드 생성 및 에이전트 행동 성능을 정량적으로 평가하는 근거로 제시되었다.
기술적 특징
- 기본 생성 흐름에서 <think> … </think> 블록을 앞부분에 삽입하는 설계를 채택해 모델이 내부 추론의 중간 산물을 텍스트로 출력하는 형태를 기본 동작으로 삼았다. 서버 측에서는 reasoning_parser를 통해 이 블록을 reasoning_content 필드로 분리해 제공하도록 구성해 추론 근거의 구조적 추출을 가능하게 했다. 이 구조는 도구 호출 결정 근거나 디버깅 정보를 체계적으로 확보하는 데 유리하다.
- 툴 호출을 위한 출력 표준화가 구현되어 있어 모델이 생성하는 <tool_call> 블록을 다양한 파서가 OpenAI 스타일의 tool_calls 구조로 변환한다. 이로 인해 외부 함수 호출이나 쉘 명령 실행 같은 에이전트 행동을 표준화된 인터페이스로 서버에 전달할 수 있다. 표준화된 형식은 기존 에이전트 프레임워크와의 호환성을 확보하고 자동화된 도구 연동을 단순화한다.
- 학습 측면에서는 강화학습 기반의 self-improving 프레임워크를 적용해 솔루션 롤아웃과 이를 유도하는 scaffold를 공동으로 최적화하도록 설계했다. 이 공동 최적화는 탐색 경로의 품질을 개선해 동일한 자원에서 더 나은 해답을 찾는 것을 목표로 한다. README는 이 학습 전략을 Ornith의 핵심 차별점으로 제시해 에이전트 행동의 질적 향상에 중점을 둔 설계임을 드러냈다.
- 서빙과 추론 효율을 위해 vLLM, SGLang, Transformers 같은 최신 런타임에 대한 명시적 요구사항을 제시했고 대용량 컨텍스트 처리 예시로 262144 토큰을 지원하는 설정을 안내했다. 이러한 구성은 대형 코드 문맥 유지와 긴 대화 기록을 필요로 하는 에이전트형 작업에서 컨텍스트 유지를 시도할 수 있게 한다. 또한 GGUF 포맷을 통한 로컬 배포 옵션을 제공해 다양한 운영 환경에 적응할 수 있도록 했다.
차별점
- 모델이 기본적으로 <think> 블록을 생성하여 추론 흔적을 노출하고 이를 reasoning_content로 분리하는 파서 체인을 제공하는 점이 차별화 요소이다. 이 동작은 단순한 답변 제공을 넘어 내부 의사결정 근거를 시스템적으로 확보할 수 있게 한다.
- 학습 과정에서 솔루션과 이를 이끄는 scaffold를 공동 최적화하는 self-improving RL 프레임워크를 적용해 에이전트형 코드 생성의 탐색 효율을 높이려 한 점이 디자인상 특징이다. 이 접근은 단순한 Fine-tuning보다 행동 시퀀스 생성의 질을 직접 개선하는 데 초점을 둔다.
- 서빙 레시피와 파서 설정을 통해 vLLM, SGLang, Transformers 등 주요 런타임에 대한 구체적 가이드를 제공하고 GGUF 배포까지 지원해 운영 환경으로의 이식성이 높다. 또한 MIT 라이선스 채택으로 사용 제한이 적어 실무 도입이 용이하다.
벤치마크
| 벤치마크 | 지표 | 값 | 비교 |
|---|---|---|---|
| Terminal-Bench 2.1 (Terminus-2) | score | 64.2 | Qwen3.5-35B=41.4, Qwen3.6-35B=52.5, Gemma4-31B=42.1, Qwen3.5-397B=53.5 |
| Terminal-Bench 2.1 (Claude Code) | score | 62.8 | Qwen3.5-35B=38.9, Qwen3.6-35B=49.2, Qwen3.5-397B=48.6 |
| SWE-bench Verified | score | 75.6 | Qwen3.5-35B=70, Qwen3.6-35B=73.4, Gemma4-31B=52, Qwen3.5-397B=76.4 |
| SWE-bench Pro | score | 50.4 | Qwen3.5-35B=44.6, Qwen3.6-35B=49.5, Gemma4-31B=35.7, Qwen3.5-397B=51.6 |
| SWE-bench Multilingual | score | 69.3 | Qwen3.5-35B=60.3, Qwen3.6-35B=67.2, Gemma4-31B=51.7, Qwen3.5-397B=69.3 |
| NL2Repo | score | 34.6 | Qwen3.5-35B=20.5, Qwen3.6-35B=29.4, Gemma4-31B=15.5, Qwen3.5-397B=36.8 |
| Claw-eval Avg | score | 69.8 | Qwen3.5-35B=65.4, Qwen3.6-35B=68.7, Gemma4-31B=48.5, Qwen3.5-397B=70.7 |
| SWE Atlas - QnA |
이미지 분석

372
Likes
550.2k
Downloads
조회수
관련 토론
아직 관련 토론이 없습니다.
댓글
댓글을 작성하려면 로그인이 필요합니다.