AI·News
뒤로

오픈 모델이 임계점을 돌파했다

Open Models have crossed a threshold

지난 몇 주 동안 우리는 오픈 가중치 대규모 언어 모델들을 Deep Agents 하네스 평가를 통해 실행해왔으며, 초기 결과는 이들이 폐쇄형 프론티어 모델 대신 사용하거나 함께 사용할 수 있는 실행 가능한 옵션임을 보여줍니다. GLM-5(z.ai)와 MiniMax M2.7은 파일 작업, 도구 사용, 명령 따르기와 같은 핵심 에이전트 작업에서 폐쇄형 프론티어 모델과 유사한 점수를 얻습니다.

SWE-Rebench 및 SWE-RebenchTerminal Bench 2.0과 같은 대규모 오픈 벤치마크를 통해 오픈 모델의 발전을 따라온 경우라면 이것은 놀랍지 않습니다. 도구 호출이 안정적이고 명령 따르기가 일관됩니다. 프로덕션에 에이전트를 배포하는 개발자들에게 오픈 모델은 현실 세계의 워크플로우를 훨씬 더 실행 가능하게 만드는 수준의 일관성과 예측 가능성을 제공합니다.

오픈 모델을 사용하는 이유

오픈 모델을 탐색할 때 빌더와 고객들은 몇 가지 핵심 요소에 집중하는 경향이 있습니다: 비용, 지연 시간, 그리고 작업 성능입니다.

이상적으로는 모든 작업에 가장 똑똑한 프론티어 모델을 최고 수준의 추론으로 사용하고 싶을 것입니다. 하지만 실제로는 두 가지 제약이 이를 불가능하게 만듭니다: 비용과 지연 시간입니다. 폐쇄형 프론티어 모델은 높은 처리량 워크로드에서 8-10배 더 많은 비용이 들 수 있으며, 사용자가 대화형 제품에서 기대하는 응답 시간에 비해 종종 너무 느립니다.

모델 유형 입력 ($/M tokens) 출력 ($/M tokens)
Claude Opus 4.6 (Anthropic) 폐쇄형 $5.00 $25.00
Claude Sonnet 4.6 (Anthropic) 폐쇄형 $3.00 $15.00
GPT-5.4 (OpenAI) 폐쇄형 $2.50 $15.00
GLM-5 (Baseten) 오픈 $0.95 $3.15
MiniMax M2.7 (OpenRouter) 오픈 $0.30 $1.20

가격을 맥락에서 이해하자면: 하루에 10M 토큰을 출력하는 애플리케이션은 Opus 4.6에서는 약 $250/일의 비용이 들지만 MiniMax M2.7에서는 약 $12/일입니다. 이는 연간 약 $87,000의 차이입니다.

오픈 모델은 폐쇄형 프론티어 모델보다 작은 경향이 있으며, 특화된 추론 인프라에서 가속화될 수 있습니다 — Groq, Fireworks, Baseten과 같은 제공자들은 대부분의 팀이 자체적으로 달성할 수 있는 것보다 훨씬 빠른 지연 시간과 처리량을 최적화합니다. OpenRouter 데이터는 Baseten의 GLM-5가 평균 0.65초의 지연 시간과 초당 70 토큰을 달성하는 반면, Claude Opus 4.6은 2.56초와 초당 34 토큰을 달성함을 보여줍니다. 지연 시간에 민감한 제품의 경우 이러한 격차는 엔지니어링으로 극복하기 어렵습니다.

평가 방법

우리는 Deep Agents 평가 구축 방법에서 우리의 평가 방법론에 대해 깊이 있게 작성했습니다. 우리는 호스팅된 추론 제공자를 사용하여 평가를 실행하지만, Deep Agents는 Ollama, vLLM 등을 통해 완전히 로컬하고 프라이빗한 모델을 사용하여 실행할 수 있습니다.

오픈 모델의 경우 7가지 평가 카테고리를 실행했습니다: 파일 작업, 도구 사용, 검색, 대화, 메모리, 요약 및 "단위 테스트". 이들은 기본 사항을 연습하는 작업을 다룹니다: 모델이 안정적으로 도구를 호출하고, 구조화된 지침을 따르고, 파일을 작업할 수 있습니까? 이들은 모델이 에이전트 하네스에서 사용 가능한지를 결정하는 기능입니다.

각 평가 사례는 성공 주장(정확성을 결정하는 하드 실패 검사)과 효율성 주장(모델이 어떻게 도달했는지 측정하는 소프트 검사)을 정의합니다. 우리는 4가지 메트릭을 보고합니다:

  • 정확성 — 모델이 해결한 테스트의 분수: 통과 / 총계. 0.68의 점수는 68%의 테스트 사례가 올바르게 해결되었다는 의미입니다. 이것이 주요 품질 신호입니다.
  • 해결률 — 정확성과 속도의 결합 측정. 각 테스트에 대해 예상_단계 / 벽시계_초를 계산합니다. 실패한 테스트는 0으로 기여합니다. 최종 점수는 모든 테스트에 걸친 평균입니다. 높을수록 좋습니다 — 작업을 올바르고 빠르게 해결하는 모델이 가장 높은 점수를 얻습니다.
  • 단계 비율 — 모델이 실제로 취한 에이전트 단계가 예상했던 단계의 몇 배인지, 모든 테스트에 걸쳐 집계: 총_실제_단계 / 총_예상_단계. 1.0의 값은 모델이 정확히 예상된 수의 단계를 사용했음을 의미합니다. 1.0 위는 더 필요함을 의미(효율성 낮음); 1.0 아래는 초기 예상보다 더 적은 단계가 필요함을 의미합니다.
  • 도구 호출 비율 — 단계 비율과 동일한 개념이지만, 단계 대신 개별 도구 호출을 계산합니다. 1.0은 예산 내, 1.0 위는 초과 예산, 아래는 미사용 예산입니다.

단계 비율과 도구 호출 비율은 효율성 메트릭입니다. 테스트 통과 여부에 영향을 주지 않지만, 모델이 얼마나 경제적으로 답에 도달하는지 드러냅니다. 예상된 5 단계 대신 2 단계로 작업을 해결하는 모델은 올바르면서 동시에 효율적입니다.

평가 결과

이들은 초기 결과입니다; 우리는 적극적으로 평가 세트를 유지 및 확장하고 있습니다. 최근 실행을 실시간으로 GitHub 저장소이 공유된 LangSmith 프로젝트에서 볼 수 있습니다.

오픈 모델

CI 실행 보기 (모델 이름을 클릭하여 개별 평가 보기)

모델 정확성 통과 해결률 단계 비율 도구 호출 비율
baseten:zai-org/GLM-5 0.64 138 중 94 1.17 1.02 1.06
ollama:minimax-m2.7 0.57 138 중 85 0.27 1.02 1.04

카테고리별 정확성:

모델 대화 파일 작업 메모리 검색 요약 도구 사용 단위 테스트
baseten:zai-org/GLM-5 0.38 1 0.44 1 0.6 0.82 1
ollama:minimax-m2.7:cloud 0.14 0.92 0.38 0.8 0.6 0.87 0.92

프론티어 모델

CI 실행 보기 (모델 이름을 클릭하여 개별 평가 보기)

모델 정확성 통과 해결률 단계 비율 도구 호출 비율
anthropic:claude-opus-4-6 0.68 138 중 100 0.38 0.99 1.02
google_genai:gemini-3.1-pro-preview 0.65 138 중 96 0.26 0.99 1.01
openai:gpt-5.4 0.61 138 중 91 0.61 1.05 1.15

카테고리별 정확성:

모델 대화 파일 작업 메모리 검색 요약 도구 사용 단위 테스트
anthropic:claude-opus-4-6 0.05 1 0.67 1 1 0.87 1
google_genai:gemini-3.1-pro-preview 0.24 0.92 0.62 1 0.8 0.79 0.92
openai:gpt-5.4 0.29 1 0.44 1 0.8 0.76 1

각 모델에 대해 우리는 제공자의 기본 생각 수준을 사용하기로 선택합니다.Gemini 3+의 경우 이는 highOpenAI의 경우 이는 mediumClaude의 경우 이는 확장된 생각 없음

DIY: Deep Agent 평가를 로컬에서 실행

우리의 CI는 open 그룹(baseten:zai-org/GLM-5, ollama:minimax-m2.7:cloud, ollama:nemotron-3-super)을 포함하여 그룹으로 구성된 52개의 모델에 걸쳐 동일한 평가 제품군을 실행하며, 모든 평가 워크플로우에서 실행됩니다. 모든 모델 그룹을 대상으로 지정할 수 있습니다:

# 모든 오픈 모델에 대해 평가 실행
pytest tests/evals --model-group open

# 특정 모델에 대해 실행 
pytest tests/evals --model baseten:zai-org/GLM-5

이를 통해 동일한 작업과 동일한 채점 기준을 사용하여 오픈 모델을 서로 비교하고 폐쇄형 프론티어 모델과 비교할 수 있습니다.

Deep Agents SDK에서 오픈 모델 사용

오픈 모델로 전환하는 것은 한 줄의 변경입니다:

GLM-5:

# pip install langchain-baseten
from deepagents import create_deep_agent
agent = create_deep_agent(model="baseten:zai-org/GLM-5")

MiniMax M2.7:

# pip install langchain-openrouter
from deepagents import create_deep_agent
agent = create_deep_agent(model="openrouter:minimax/minimax-m2.7")

이것이 전부입니다. 하네스가 나머지를 처리합니다 — 모델의 컨텍스트 윈도우 크기를 감지하고, 지원되지 않는 양식을 비활성화하고, 에이전트가 어떤 것으로 작업하는지 알 수 있도록 시스템 프롬프트에 올바른 신원을 주입합니다.

동일한 오픈 모델은 종종 여러 제공자를 통해 사용할 수 있습니다. 제약에 맞는 것을 선택하세요. 예를 들어 GLM-5는 baseten:zai-org/GLM-5, fireworks:fireworks/glm-5, 또는 자체 호스팅의 경우 ollama:glm-5로 사용할 수 있습니다. 동일한 모델, 동일한 하네스, 다른 인프라입니다.

LangChain은 가장 인기 있는 오픈 모델 제공자에 대한 지원을 제공합니다. 이 릴리스를 위해 테스트한 제공자는: Baseten, Fireworks, Groq, OpenRouter, 및 Ollama(클라우드)입니다.

모델에 대한 하네스 수준 조정

오픈 모델은 폐쇄형 프론티어 모델과 다른 컨텍스트 윈도우, 다른 도구 호출 형식, 다른 실패 모드를 가집니다. Deep Agents 하네스는 이러한 차이를 흡수하여 당신이 그렇게 할 필요가 없도록 합니다:

  • 모델 신원 주입 — 시스템 프롬프트는 런타임에 모델의 이름, 제공자, 컨텍스트 제한 및 지원되는 양식으로 패치됩니다. 에이전트는 자신이 무엇이고 무엇을 할 수 있는지 압니다.
  • 컨텍스트 관리 — 압축, 오프로드, 요약 임계값은 하드코딩된 기본값이 아닌 모델의 실제 컨텍스트 윈도우에 적응합니다. 4K 컨텍스트를 가진 모델은 1M의 Opus보다 더 적극적인 압축을 받습니다.

Deep Agents CLI

각 모델은 Deep Agents CLI에서도 사용 가능합니다. Deep Agents CLI는 우리의 오픈 소스 코딩 에이전트이자 Claude Code의 대체물입니다.

Deep Agents SDK의 모든 기능 외에도 CLI는 런타임 모델 교환을 지원합니다. 우리는 세션 중간에 에이전트를 다시 시작하지 않고도 모델을 전환할 수 있도록 새로운 미들웨어(ConfigurableModelMiddleware )를 도입했습니다. 이는 계획을 위해 프론티어 모델을 사용하고 실행을 위해 오픈 모델을 사용하는 패턴을 가능하게 합니다.

세션 중간에 /model 슬래시 명령으로 모델을 전환할 수 있습니다. 이는 프론티어 모델로 작업을 시작한 다음 더 저렴한 오픈 모델로 전환하는 패턴을 가능하게 합니다.

다음 단계

우리가 곧 공유하고 싶어 하는 몇 가지:

  • 특정 오픈 모델 계열에 대한 하네스 튜닝 패턴 문서화
  • 다중 모델 서브에이전트 구성 테스트(예: 프론티어 폐쇄형 모델 오케스트레이터 + 오픈 모델 서브에이전트)

오픈 모델은 오늘날 에이전트를 위해 작동합니다. 우리는 좋은 하네스를 엔지니어링하고 작업에 중요한 것을 측정하는 타겟팅된 평가를 구축하는 데 도움이 되는 설계 패턴을 보여주고 싶습니다.

Deep Agents는 오픈 소스입니다. 선호하는 오픈 모델로 시도해보고 우리와 함께 훌륭한 평가와 에이전트를 구축해봅시다.

Over the past few weeks, we’ve been running open weight Large Language Models through Deep Agents harness evaluations, and the initial results show they are a viable option to use instead of, and alongside, closed frontier models. GLM-5 (z.ai) and MiniMax M2.7 each score similarly to closed frontier models on core agent tasks such as file operations, tool use, and instruction following.

This isn’t surprising if you’ve been following open model progress via the large set of open benchmarks such as SWE-Rebench and Terminal Bench 2.0. Tool calling is reliable and instruction following is consistent. For developers deploying agents in production, open models now offer a level of consistency and predictability that makes real-world workflows much more viable.

Why open models

When exploring open models, builders and customers tend to focus on a few key factors: cost, latency, and task performance.

In the limit, it would be great to use the smartest frontier model at the highest reasoning level for every task. In practice, two constraints make that unworkable: cost and latency. Closed frontier models can run 8–10x more expensive for high-throughput workloads, and they're often too slow for the response times users expect in interactive products.

Model Type Input ($/M tokens) Output ($/M tokens)
Claude Opus 4.6 (Anthropic) Closed $5.00 $25.00
Claude Sonnet 4.6 (Anthropic) Closed $3.00 $15.00
GPT-5.4 (OpenAI) Closed $2.50 $15.00
GLM-5 (Baseten) Open $0.95 $3.15
MiniMax M2.7 (OpenRouter) Open $0.30 $1.20

To put the pricing in context: an application outputting 10M tokens/day costs roughly $250/day on Opus 4.6 versus ~$12/day for MiniMax M2.7. That's about a $87k annual difference.

Open models tend to be smaller than closed frontier models, and can be accelerated on specialized inference infrastructure — providers like Groq, Fireworks, and Baseten optimize for latency and throughput far beyond what most teams could achieve on their own. OpenRouter data show GLM-5 on Baseten averaging 0.65s latency and 70 tokens/second, compared to 2.56s and 34 tokens/second for Claude Opus 4.6. For latency-sensitive products, that gap is hard to engineer around.

How we evaluated

We've written about our eval methodology in depth in How we build evals for Deep Agents. We run evals using hosted inference providers, but Deep Agents can be run using fully local and private models via Ollama, vLLM, etc.

For open models, we ran seven eval categories: file operations, tool use, retrieval, conversation, memory, summarization, and “unit tests”. These cover tasks that exercise fundamentals: can the model reliably call tools, follow structured instructions, and operate on files? These are the capabilities that gate whether a model is usable in an agentic harness at all.

Each eval case defines success assertions (hard-fail checks that determine correctness) and efficiency assertions (soft checks that measure how the model got there). We report four metrics:

  • Correctness — the fraction of tests the model solved: passed / total. A score of 0.68 means 68% of test cases were solved correctly. This is the primary quality signal.
  • Solve rate — a combined measure of accuracy and speed. For each test, we compute expected_steps / wall_clock_seconds; failed tests contribute zero. The final score is the average across all tests. Higher is better — a model that solves tasks both correctly and quickly scores highest.
  • Step ratio — how many agentic steps the model actually took compared to how many we expected, aggregated across all tests: total_actual_steps / total_expected_steps. A value of 1.0 means the model used exactly the expected number of steps. Above 1.0 means it needed more (less efficient); below 1.0 means it needed fewer steps than initially expected.
  • Tool call ratio — same idea as step ratio, but counting individual tool calls instead of steps. 1.0 is on-budget, above is over-budget, below is under-budget.

Step ratio and tool call ratio are efficiency metrics. They don't affect whether a test passes, but they reveal how economically a model reaches the answer. A model that solves a task in 2 steps instead of the expected 5 is both correct and efficient.

Findings from our evals

These are early results; we’re actively maintaining and expanding our eval set. You can view recent runs in realtime both in our GitHub repo and at this shared LangSmith project.

Open models

View CI run (click model names to view individual evals)

Model Correctness Passed Solve Rate Step Ratio Tool Call Ratio
baseten:zai-org/GLM-5 0.64 94 of 138 1.17 1.02 1.06
ollama:minimax-m2.7 0.57 85 of 138 0.27 1.02 1.04

Per-category correctness:

Model Conversation File Ops Memory Retrieval Summarization Tool Use Unit Test
baseten:zai-org/GLM-5 0.38 1 0.44 1 0.6 0.82 1
ollama:minimax-m2.7:cloud 0.14 0.92 0.38 0.8 0.6 0.87 0.92

Frontier models

View CI run (click model names to view individual evals)

Model Correctness Passed Solve Rate Step Ratio Tool Call Ratio
anthropic:claude-opus-4-6 0.68 100 of 138 0.38 0.99 1.02
google_genai:gemini-3.1-pro-preview 0.65 96 of 138 0.26 0.99 1.01
openai:gpt-5.4 0.61 91 of 138 0.61 1.05 1.15

Per-category correctness:

Model Conversation File Ops Memory Retrieval Summarization Tool Use Unit Test
anthropic:claude-opus-4-6 0.05 1 0.67 1 1 0.87 1
google_genai:gemini-3.1-pro-preview 0.24 0.92 0.62 1 0.8 0.79 0.92
openai:gpt-5.4 0.29 1 0.44 1 0.8 0.76 1

For each model, we opt to use the provider’s default thinking level.For Gemini 3+, this is highFor OpenAI, this is mediumFor Claude, this is without extended thinking

DIY: Run Deep Agent evals locally

Our CI runs the same evaluation suite across 52 models organized into groups — including an open group (baseten:zai-org/GLM-5, ollama:minimax-m2.7:cloud, ollama:nemotron-3-super) that runs on every eval workflow. You can target any model group:

# Run evals against all open models
pytest tests/evals --model-group open

# Run against a specific model 
pytest tests/evals --model baseten:zai-org/GLM-5

This makes it straightforward to compare open models against each other and against closed frontier models on the same tasks, using the same grading criteria.

Using open models in Deep Agents SDK

Swapping to an open model is a one-line change:

GLM-5:

# pip install langchain-baseten
from deepagents import create_deep_agent

agent = create_deep_agent(model="baseten:zai-org/GLM-5")

MiniMax M2.7:

# pip install langchain-openrouter
from deepagents import create_deep_agent

agent = create_deep_agent(model="openrouter:minimax/minimax-m2.7")

That's it. The harness handles the rest — it detects the model's context window size, disables unsupported modalities, and injects the right identity into the system prompt so the agent knows what it's working with.

The same open model is often available through multiple providers. Pick the one that matches your constraints. For example, GLM-5 is available as baseten:zai-org/GLM-5, fireworks:fireworks/glm-5, or ollama:glm-5 for self-hosted. Same model, same harness, different infrastructure.

LangChain provides support for the most popular open model providers. The providers we have tested for this release are: Baseten, Fireworks, Groq, OpenRouter, and Ollama (cloud).

Harness-level adjustments for your model

Open models have different context windows, different tool-calling formats, and different failure modes than closed frontier models. The Deep Agents harness absorbs these differences so you don't have to:

  • Model identity injection — the system prompt is patched at runtime with the model's name, provider, context limit, and supported modalities. The agent knows what it is and what it can do.
  • Context management — compression, offloading, and summarization thresholds adapt to the model's actual context window, not a hardcoded default. A model with a 4K context gets more aggressive compaction than Opus with 1M.

Deep Agents CLI

Each model is also available in the Deep Agents CLI. The Deep Agents CLI is our open-source coding agent and alternative to Claude Code.

In addition to all the capabilities in Deep Agents SDK, the CLI supports Runtime model swapping. We introduced a new middleware (ConfigurableModelMiddleware ) to enable switching models mid-session without restarting the agent. This enables patterns like using a frontier model for planning and an open model for execution.

You can switch models mid-session with the /model slash command. This enables patterns like starting a task with a frontier model for planning, then switching to a cheaper open model for execution.

What’s next

Some things we’re excited to share soon:

  • Documenting harness tuning patterns for specific open model families
  • Testing multi-model subagent configurations (ex: frontier closed model orchestrator + open model subagents)

Open models work for agents today. We want to show the design patterns that help us engineer a good harness and build targeted evals that measure what matters for your task.

Deep Agents is open source. Try it with your preferred open model and come build great evals and agents with us.

원문 보기 https://www.langchain.com/blog/open-models-have-crossed-a-threshold