주요 요점
💡TL;DR: Deep Agents는 이전에 모든 모델 계열에서 잘 작동하도록 일반적인 방식으로 설계되었습니다. 오늘 우리는 프롬프트, 도구 및 미들웨어를 조정하기 위한 모델별 프로필을 추가하고 있습니다. 이를 통해 모델 계열별 프롬프팅 가이드를 더 잘 준수할 수 있습니다. 우리는 OpenAI, Anthropic 및 Google 모델에 대한 프로필을 기본으로 제공하며, 이는 기본 하네스에 비해 tau2-bench의 일부에서 10-20포인트의 성능 향상을 가져옵니다.
오늘까지, deepagents는 모든 대규모 언어 모델에서 잘 작동하도록 설계된 단일 프롬프트, 도구 및 미들웨어 세트로 배포되었습니다. 개발자는 다양한 모델을 선택하거나 시스템 프롬프트에 추가 도구 확장으로 하네스를 확장할 수 있었습니다. 하지만 기본 프롬프트, 도구 및 미들웨어는 고정되어 있었고 모델별로 최적화되지 않았습니다.
오늘부터 우리는 하네스 프로필을 출시하여 이러한 매개변수를 모델별로 제어할 수 있는 방법을 제공하게 되었습니다. 이것이 중요한 이유는 다음과 같습니다:
- 프롬프팅 가이드는 모델별로 다릅니다. OpenAI의 Codex 프롬프팅 가이드는 Codex 모델에서 성능을 높이는 특정 도구 구현 및 이름(
apply_patch,shell_command)을 규정합니다. Anthropic의 Claude 프롬프팅 가이드는 다른 규약 세트를 강조합니다. 같은 계열 내에서도 Opus 4.6 → 4.7 마이그레이션 가이드는 적용할 가치가 있는 프롬프트 수준의 변경 사항을 지적합니다. - 평가 리더보드는 동일한 모델이 다른 하네스에서 매우 다른 성능을 낼 수 있음을 보여줍니다. Terminal-Bench 2.0은 가장 명확한 공개 사례입니다. Claude Code 하네스는 Opus 4.6 제출물 중에서 마지막 순위입니다. 우리는 이전 작업에서 신중한 하네스 엔지니어링의 유사한 효과를 보았습니다: Improving Deep Agents with harness engineering. 여기서 우리는
gpt-5.2-codex를 Terminal-Bench 2.0에서 52.8%에서 66.5%로 높였습니다(발표 당시 상위 30에서 상위 5로) 프롬프트 및 미들웨어 훅과 같은 하네스 레이어 변경만으로.
단일 하네스는 모든 모델에 최적일 수 없습니다. 따라서 우리는 모델별로 하네스를 다양하게 지원하기 쉽게 만들었습니다.
이것이 얼마나 중요할까요?
프로필의 효과 측정 결과
이것이 얼마나 중요한지 판단하기 위해 우리는 tau2-bench (다중 턴 도구 사용 + 명령 따르기)의 부분 집합에 대한 성능을 측정했습니다. 우리는 최첨단 모델이 아직 포화시키지 않은 더 어려운 작업의 큐레이션된 부분 집합을 사용하여 에이전트에 대한 하네스 레벨 변경의 영향을 더 잘 측정할 수 있습니다.
모델별로 변경된 사항
우리는 Codex 및 Claude 프롬프팅 가이드를 각 프로필별로 적용할 변경 사항의 출처로 사용했습니다.
Codex의 경우 주요 변경 사항은 다음과 같습니다:
- 도구 변경:
deepagents의 기본edit_file구현을 권장되는apply_patch도구로 재정의하고,deepagents의execute도구 이름을shell_command로 별칭 지정 - 프롬프트 변경: 주로 프롬프팅 가이드의 세부 사항을 사용하는 도구 호출 및 계획 관련
도구를 호출하기 전에 필요한 모든 파일과 리소스를 결정하세요. 읽기, 검색 및 기타 독립적인 작업을 한 번에 하나씩 발행하는 대신 병렬 도구 호출로 일괄 처리하세요.
Opus의 경우 주요 변경 사항은 모두 도구 사용 및 계획에 초점을 맞춘 프롬프팅이었습니다. 예를 들어, 다음은 프롬프트에 추가된 두 스니펫입니다.
<tool_result_reflection>
도구 결과를 받은 후 그 품질을 신중하게 반영하고 진행하기 전에 최적의 다음 단계를 결정하세요. 이 새로운 정보를 바탕으로 계획하고 반복하기 위해 사고를 사용한 다음 최선의 다음 조치를 취하세요.
</tool_result_reflection>
<tool_usage>
작업이 파일, 테스트 또는 시스템 출력의 상태에 따라 달라지는 경우 도구를 사용하여 그 상태를 직접 관찰하기보다는 메모리에서 추론하세요. 파일을 설명하기 전에 읽으세요. 테스트가 통과한다고 주장하기 전에 실행하세요. 기호가 존재하거나 존재하지 않는다고 주장하기 전에 코드베이스를 검색하세요. 도구를 사용한 능동적 조사가 폴백이 아닌 기본 작업 모드입니다.
</tool_usage>
우리의 결론은 모델별로 하네스를 사용자 정의하기 위한 인터페이스를 노출하는 것이 개발자가 에이전트별 프로필을 관리하고, 버전을 지정하고, 구성 차이를 쉽게 테스트할 수 있는 유용한 기본 기능이라는 것입니다.
오늘 바로 사용해보세요
이를 오늘 사용하려면 다음을 사용하기만 하면 됩니다:
deepagents: uv add deepagentsagent = create_deep_agent(
model="google_genai:gemini-3.1-pro-preview",
tools=[internet_search],
system_prompt=research_instructions,
)프로필은 지원되는 모델에 대해 자동으로 적용됩니다. 각 기본 프로필이 현재 어떤 모습인지에 대한 세부 사항을 확인하려면 저장소의 코드를 검사할 수 있습니다. 자신의 프로필을 등록하는 방법을 알아보려면 계속 읽으세요.
프로필의 내부 작동 방식
하네스 프로필은 모델별로 다양한 하네스 부분에 대한 선언적 재정의 레이어입니다: 시스템 프롬프트 접두사/접미사, 도구 포함 및 이름 지정, 미들웨어 선택, 하위 에이전트 구성 및 기술. 모델이나 제공자에 대한 프로필을 등록하거나 YAML에서 기존 프로필을 로드하고, create_deep_agent는 모델을 바꿀 때 적응합니다. 중요한 점은 호출 사이트가 변경되지 않는다는 것입니다.
우리는 OpenAI, Anthropic 및 Google 모델에 대한 기본값을 제공합니다. 이를 재정의하거나, 자신의 것을 계층화하거나, 플러그인으로 프로필을 배포할 수 있습니다.
from deepagents import (
HarnessProfile,
register_harness_profile,
)
register_harness_profile(
"openai:gpt-5.4",
HarnessProfile(
system_prompt_suffix="Respond in under 100 words.",
excluded_tools={"execute"},
excluded_middleware={"SummarizationMiddleware"},
),
)또는 YAML로 프로필을 선언합니다:
# openai.yaml
base_system_prompt: You are helpful.
system_prompt_suffix: Respond briefly.
excluded_tools:
- execute
- grep
excluded_middleware:
- SummarizationMiddleware
- my_pkg.middleware:TelemetryMiddleware
general_purpose_subagent:
enabled: false더 자세한 내용은 프로필 문서에서 전체 필드 표면, 병합 의미 체계 및 플러그인 패키징을 읽으세요. 시작 시 사용하는 모델에 대한 프로필을 등록하거나 우리가 제공하는 기본 제공 프로필을 사용하세요.
Deep Agents를 기반으로 구축하고 프로필을 공유하려면 PR을 여세요 또는 진입점을 통해 플러그인으로 배포하세요. 우리는 모델 전반에 걸쳐 프로필 표면을 계속 확장할 것입니다. 목표는 어떤 모델을 선택하든 Deep Agents가 작업에 최고의 하네스를 만들기 위한 도구와 기본값을 제공하는 것입니다. 우리는 개발자가 작업에 맞게 에이전트 하네스를 사용자 정의하는 방법을 보여주는 더 많은 정보와 연습을 공개할 예정입니다.