tracks
코딩 에이전트 비교는 대개 속도, 가격, 도구 개수, 벤치마크 점수 경쟁으로 흐릅니다. 하지만 이 두 도구를 가르는 핵심 질문은 다릅니다. 바로 개발자가 에이전트 런타임의 얼마를 대체할 수 있느냐입니다.
DeepSeek Harness와 Claude Code는 그 질문에 서로 다른 층위에서 답합니다. Harness는 모델 어댑터, 스토리지, 샌드박스, 에이전트 루프를 플러그인으로 공개합니다. Claude Code는 Claude를 중심으로 자체 루프를 패키징하고 워크플로 확장 지점을 제공합니다. 이 경계가 여기서는 DeepSeek과 Claude 모델 자체를 비교하는 것보다 더 중요합니다.
두 도구에 동일한 깨진 리포지토리와 동일한 Claude 모델을 주고, 런타임이 무엇을 바꾸는지 확인했습니다. 단일 사례 연구로 제품을 순위 매길 수는 없지만, 하니스(harness)가 단순 배경 요소가 아님을 보여줍니다. 모델 선택, 설정, 검증, 로그, 비용 차이에 집중하겠습니다.
요약
- 런타임이 일의 일부라면: Harness는 모델 어댑터, 스토리지, 샌드박스, 에이전트 루프를 교체 가능한 플러그인으로 제공하며 여러 모델 제공자를 지원합니다.
- 주된 일이 애플리케이션 코드라면: Claude Code는 더 많은 런타임을 패키징하고 Skills, 훅, MCP 등으로 워크플로를 확장합니다.
- 동일 모델 테스트: 둘 다 바이트 단위로 동일한 패치를 생성해 기존 테스트를 통과했습니다. 이 Windows 실행에서 Claude Code는 55.0초, Harness는 세 번의 승인 프롬프트 후 125.4초를 기록했습니다.
- 비용: DeepSeek Harness 자체에는 라이선스 비용이 없으며, 모델 사용료는 선택한 제공자에 따라 과금되고 필요한 경우 인프라 비용이 발생합니다. Claude Code는 유료 Claude 요금제에 포함됩니다.
- 간단한 원칙: 일반적인 애플리케이션 작업은 Claude Code로 시작하세요. 런타임 변경이나 점검이 작업의 일부라면 Harness로 시작하세요.
DeepSeek Harness vs Claude Code: 빠른 비교
|
구분 |
DeepSeek Harness |
Claude Code |
|---|---|---|
|
정의 |
교체 가능한 부품을 가진 에이전트 런타임 |
패키징된 코딩 에이전트 |
|
라이선스 및 상태 |
MIT, 개발자 프리뷰, 안정 릴리스 없음 |
상용, 프로덕션 제품 |
|
모델 |
DeepSeek, Anthropic, OpenAI, Bedrock, Vertex, Azure, 로컬 |
Claude, 단독 또는 Bedrock/Vertex 경유 |
|
교체 가능한 루프 |
가능, 오버라이드 가능한 플러그인 엔트리 |
불가, 확장은 루프 주변에 부착 |
|
확장 단위 |
Cordis 플러그인, 어떤 런타임 기능이든 |
스킬, 훅, 에이전트, MCP를 묶은 플러그인 |
|
실행 이력 |
추가 전용 타입 이벤트 로그, 재생 가능 |
JSONL 대화록, 체크포인트, OpenTelemetry |
|
접점 |
로컬 웹 UI, 헤드리스 CLI, Python SDK |
터미널, IDE, 데스크톱, 웹, Slack, CI |
|
설정 |
제공자 구성 및 프로필 숙지가 필요 |
기본 설정 부담 낮음; 권한, 훅, MCP, 프로젝트 설정은 선택 |
DeepSeek Harness란?
DeepSeek Harness는 현재 개발자 프리뷰 단계의 오픈 소스 에이전트 하니스입니다. 모델이 도구와 컨텍스트를 사용하는 런타임을 제공하며, DeepSeek 이외의 제공자 모델도 실행할 수 있습니다. README에는 업데이트가 기존 설정을 깨뜨릴 수 있다고 경고합니다.
관심이 있다면 DeepSeek Harness 튜토리얼부터 시작하시길 권합니다.
DeepSeek Harness의 동작 방식
에이전트 루프는 플러그인으로 구현됩니다. Harness는 Cordis를 사용해 모델 어댑터, 도구, 세션, 스토리지, 샌드박스, 루프를 조합합니다.
Cordis는 플러그인이 서비스를 찾고 이벤트를 교환하도록 합니다. 의존성이 바뀌면 플러그인이 로드/언로드되며, 핫 리로드가 오래된 리스너와 백그라운드 작업을 정리합니다.
기본 프로필은 루프를 구성으로 보여줍니다. dsh --profile headless --dump-default-config 명령에는 다음 항목이 포함됩니다.
- id: agent-loop
name: '@deepseek-ai/dsh-agent-loop'
config:
agents: []
이 항목은 cordis.patch.yml로 대체할 수 있으며, 루프 자체가 고정되어 있지 않음을 보여줍니다.
런타임 구성 요소를 보여주는 플러그인 패널. 영상: 작성자.
네 가지 런타임 모드
DeepSeek Harness는 네 가지 런타임 모드를 제공합니다.
- Standard: 완전한 코딩 에이전트 모드
- PTC/Code: 여러 도구 호출을 하나의 TypeScript 프로그램으로 결합
- Minimal: 지속형 bash와 str_replace_editor만 유지
- Creator: 런타임 점검 및 테스트용
DeepSeek은 벤치마크에 Minimal 모드를 사용했습니다.
Claude Code란?
Claude Code는 Anthropic의 상용 코딩 에이전트이자 에이전트형 하니스이며, 터미널, IDE, 데스크톱, 웹, Slack, CI에서 로컬 또는 관리형으로 사용할 수 있습니다.
CLI는 프로젝트 디렉터리에서 claude로 시작합니다. 해당 디렉터리가 기본 파일 범위가 되며, 세션은 CLAUDE.md의 프로젝트 지침을 읽습니다. 이후 파일 접근 범위를 넓히거나 외부 서비스를 추가할 수 있습니다.
Anthropic은 이를 Claude Code에 접근하는 다양한 인터페이스로 제시합니다. 로컬 세션은 내 머신에서 실행되고, 클라우드 세션은 관리형 환경이나 조직이 운영하는 서버에서 실행됩니다. Remote Control은 브라우저로 로컬 작업을 제어하게 해 줍니다.
가장 좋은 시작점은 우리의 Claude Code 튜토리얼과 Claude Code 모범 사례 가이드입니다.
내장 루프와 확장
Anthropic은 Claude Code를 Claude를 둘러싼 에이전트형 하니스로 설명하며, 반복되는 컨텍스트-액션-검증 루프를 갖습니다. 사용자는 실행 중에도 이를 조정할 수 있습니다.
Claude Code는 세션을 로컬에 저장하고, 창이 가득 차면 오래된 컨텍스트를 압축합니다. CLAUDE.md와 자동 메모리는 선택한 지침과 프로젝트 세부 정보를 세션 간에 유지합니다. 서브에이전트는 별도 컨텍스트 창을 쓰고, 요약을 부모 세션에 반환합니다.
Claude Code 확장 레이어의 동작
Claude Code는 여러 확장 메커니즘을 지원합니다. CLAUDE.md, 스킬, 후크, MCP, 서브에이전트, 플러그인, Agent Teams, Agent SDK가 워크플로를 확장합니다.
이 확장들은 Claude Code의 내장 루프 주변에서 동작합니다. 훅은 도구 호출 규칙을 강제할 수 있고, Agent SDK는 코드에서 도구와 컨텍스트 관리를 제공합니다.
DeepSeek Harness vs Claude Code: 아키텍처와 제어
DeepSeek Harness는 더 하위 수준의 런타임 부품을 교체 대상으로 공개합니다. Claude Code는 내장 루프를 고정하고 그 주변의 확장을 지원합니다.
교체 가능한 런타임 vs 패키징된 에이전트
DeepSeek Harness는 런타임을 구성 가능한 인프라로 봅니다. 모델 어댑터, 스토리지, 샌드박스, 루프를 프로필 엔트리로 교체할 수 있습니다. Claude Code는 내장 루프를 고정하고 그 주변의 워크플로를 확장합니다.
DeepSeek Harness는 이 메커니즘으로 모델 제공자나 기타 런타임 부품을 교체할 수 있습니다. 여기서 “플러그인”이라는 말의 범위도 다릅니다:
- Claude Code의 플러그인은 루프 주변 기능을 묶습니다.
- DeepSeek Harness의 플러그인은 런타임 자체의 일부를 정의할 수 있습니다.
모델 지원과 제공자 선택
DeepSeek Harness는 더 많은 모델 제공자를 지원합니다. DeepSeek, Anthropic, OpenAI, 클라우드 제공자, 호환 로컬 엔드포인트를 실행합니다. Claude Code는… 그렇습니다, Claude를 실행합니다. 다시 말해, DeepSeek Harness는 Claude를 호스팅할 수 있지만 Claude Code는 DeepSeek을 호스팅할 수 없습니다.
바로 이것 때문에 테스트에서 모델을 동일하게 유지할 수 있었습니다. Harness의 DeepSeek 모델과 Claude Code의 Claude를 비교하면 두 변수가 동시에 바뀝니다.
제공자 선택에는 자격 증명과 엔드포인트 설정, 정확한 모델 ID 지정이 수반됩니다. Claude Code는 모델 계열과 대부분의 요청 동작을 제어합니다.
제공자를 바꿔도 동작이 동일하다는 보장은 없습니다. 모델마다 도구 포맷, 컨텍스트 크기, 추론 제어가 다를 수 있습니다. Harness는 주변 플러그인 구성을 유지하지만, 제공자 어댑터는 선택한 엔드포인트에 맞아야 합니다.
세션 로그와 실행 추적성
DeepSeek Harness는 프롬프트, 컨텍스트 삽입, 도구 호출, 권한 결정을 추가 전용 이벤트 스트림에 기록합니다. 궤적(trajectory) 뷰는 각 기록의 출처를 보여 주고 재개, 분기, 검색, 재생을 지원합니다.
Claude Code는 JSONL 대화록을 저장하고, 재개와 분기를 지원하며, OpenTelemetry 트레이스를 내보냅니다.
둘 다 세션 이력을 노출하지만, DeepSeek Harness는 런타임 경로의 더 많은 부분을 UI에 표시합니다.
전체 실행을 재구성하는 궤적(trajectory) 뷰. 영상: 작성자.
실행 환경과 권한
DeepSeek Harness는 Linux에서 bubblewrap 또는 Landlock, macOS에서 Seatbelt, Windows에서 ACL 제한 토큰을 사용합니다. 샌드박스를 시작할 수 없으면 Harness는 명령을 중단합니다. Claude Code는 권한 모드와 허용, 질의, 거부 규칙을 제공합니다. 이 실행에서는 Windows 샌드박스가 검증 경로와 타이밍에 영향을 주었습니다.
접근 레이블이 달라 두 설정을 정확히 일치시키기는 불가능했습니다.
-
DeepSeek Harness의 권한 프리셋에는
read-only,workspace-write,danger-full-access가 있습니다. -
Claude Code는 자동 편집, 수동 승인, 계획, 규칙 기반 명령 접근을 분리합니다. 또한 Git 없이도 롤백할 수 있도록 편집 전 파일을 스냅샷합니다.
터미널과 VS Code의 현재 Pro, Max, Team 세션에서는 Auto 모드가 Claude Code의 기본 시작 모드입니다. 분류기가 백그라운드에서 동작을 검토합니다. 이 테스트는 명시적으로 acceptEdits를 사용했으므로, 권한 동작은 현재 기본값이 아니라 테스트 구성의 반영입니다.
승인 횟수를 비교할 때 이 차이는 중요합니다.
실행 위치도 다릅니다. Harness는 주로 웹 UI 또는 헤드리스 프로세스를 호스팅하는 머신에서 실행됩니다. Claude Code는 로컬, Anthropic 관리형 클라우드, 또는 자체 호스팅 인프라에서 실행될 수 있습니다. Remote Control은 실행은 로컬에 두고 브라우저 인터페이스를 추가합니다.
DeepSeek Harness vs Claude Code 실습 테스트
런타임 차이가 실행에 영향을 주는지 보기 위해, 두 도구에 동일한 한 줄짜리 TypeScript 버그를 제시했습니다. 시간만 궁금하다면 이 섹션을 보세요.
테스트 구성: 동일한 모델, 리포지토리, 프롬프트
버그가 한 줄 있는 TypeScript 습관-연속(habit-streak) 라이브러리를 작성했습니다. 경과 밀리초를 반올림해 달력을 기준으로 날 수를 측정했습니다.
- 23:50에 완료하고 00:10에 이어서 완료하면 같은 날로 보였습니다.
- 다음 날 08:00과 20:00에 완료하면 하루를 놓친 것으로 보였습니다.
고정된 10개 테스트가 3개의 실패를 드러냈습니다.
각 신규 클로ン은 타이밍 측정 전 의존성을 설치했습니다. 두 에이전트는 동일한 지시를 받았고 Claude Sonnet 5를 사용했습니다. 리포지토리와 프롬프트는 고정되었고, 도구·권한·샌드박스 동작은 제품별로 달랐습니다.
권한 구성은 동등하지 않았습니다. DeepSeek Harness는 workspace-write로 시작했지만 Windows 샌드박스를 시작하지 못했습니다. 웹 UI가 승인을 요청했고, danger-full-access를 세 번 허용했습니다. Claude Code는 accept-edits를 사용했고 bash를 통해 테스트 명령만 실행할 수 있었습니다.
이 좁은 과제는 로컬 코드와 테스트만 사용했습니다. 에이전트는 한 줄 버그를 찾아 수정하고, 스위트를 실행해야 했습니다. 의존성은 타이밍 전 설치했지만, Harness는 npm install을 다시 실행하기로 선택했습니다.
테스트 결과: 동일한 패치, 다른 승인 경로
Claude Code는 55.0초를 보고했습니다. 스위트를 실행하고, 버그를 찾아, 소스 파일 한 곳을 수정한 뒤, 테스트를 재실행했습니다. 10/10 통과.
이 Windows 테스트에서 DeepSeek Harness는 125.4초가 걸렸습니다. 동일한 미사용 daysBetween 헬퍼를 발견해 같은 수정을 했고, 원래 스위트를 성공적으로 실행했습니다.
diff는 바이트 단위까지 동일했습니다:
-import { DAY_MS } from './dates.js';
+import { daysBetween } from './dates.js';
function gapInDays(earlier: number, later: number): number {
- return Math.round((later - earlier) / DAY_MS);
+ return daysBetween(earlier, later);
}
승인 경로와 반복된 셸 작업이 시간 차이의 대부분을 설명합니다.
Windows에서 DeepSeek Harness가 더 오래 걸린 이유
DeepSeek Harness의 workspace-write 샌드박스가 Windows에서 시작되지 않아, 웹 UI가 세 번 더 넓은 권한 모드를 요청했습니다. 승인 후 Harness는 원래 스위트를 실행하고, src/streak.ts를 수정하고, 스위트를 다시 실행했습니다. 10/10 통과.
이 결과는 Linux나 macOS에서의 Harness를 의미하지 않습니다. 두 실행이 같은 모델 ID를 사용했으므로 시간 차이는 모델 계열 차이에서 올 수 없습니다. 그러나 서로 다른 권한과 도구 경로가 각 실행을 결정지었습니다.

두 실행 모두 10개 테스트를 통과했습니다. 이미지: 작성자.
동일 모델 테스트가 분리해 준 것
공유된 모델 ID가 요청을 동일하게 만들지는 않았습니다. 각 제품이 자체 시스템 프롬프트, 도구 설명, 컨텍스트, 권한 규칙을 제공했기 때문입니다. 이들 입력은 다음 모델 응답에 영향을 줄 수 있습니다.
따라서 이 설정은 DeepSeek 모델 vs Claude 비교보다 모델 계열을 더 잘 통제하지만, 모든 변수를 분리하지는 못합니다.
또한 구성별로 타이밍 측정을 한 번만 실행했습니다. 시간을 성능 지표로 취급하려면 무작위 순서의 반복 실행이 필요합니다.
DeepSeek Harness vs Claude Code: 비용, 벤치마크, 테스트 한계
단일 Windows 사례 연구로 더 넓은 성능이나 가격 비교를 결론낼 수는 없습니다. 다만 벤치마크의 세부가 왜 중요한지는 보여 줍니다.
벤치마크 유의점: DeepSeek은 Minimal 모드 사용
DeepSeek이 공개한 점수는 Minimal 모드를 사용했지, 이번 비교에서 사용한 Standard 모드가 아닙니다. 다른 하니스를 사용한 독립 테스트는 더 낮은 결과를 보고했습니다. 저는 그 테스트를 재현하지 않았습니다. Minimal 모드 결과로 Standard 모드 성능을 단정할 수 없고, Claude Code를 측정한 것도 아닙니다.
비용: API 과금 vs Claude 구독
DeepSeek Harness는 라이선스 비용이 없지만, 모델과 인프라 비용은 여전히 발생합니다. DeepSeek의 API는 피크/오프피크 요금을 사용합니다. Claude Code는 유료 Claude 요금제에 포함됩니다. 예산 책정 전 Anthropic 요금 페이지를 확인하세요.
Harness 실행은 Anthropic API 정가 기준 약 $0.11이 들었습니다. Claude Code는 구독 자격 증명을 사용하면서 $0.349를 표시했습니다. 서로 다른 과금 시스템에서 나온 수치이므로 직접적인 가격 비교는 아닙니다.
Claude 개인 요금제는 Pro가 월 $20, Max가 월 $100 또는 $200로 표기되어 있으며, DeepSeek Harness에는 대응 구독이 없습니다. 비용은 모델 제공자에게서 청구됩니다. 로컬 모델은 API 요금은 없지만 머신의 연산 자원을 사용합니다.
팀은 모델 청구와 별개로 호스팅 샌드박스나 자체 호스팅 연산 비용도 고려해야 합니다. 이 비용은 Harness 라이선스에 나타나지 않습니다.
안정성: 개발자 프리뷰 vs 프로덕션 제품
테스트 당시 Harness는 릴리스 후보 상태였습니다. 업데이트가 프로필이나 저장된 세션을 깨뜨릴 수 있으므로, 팀은 패키지 버전을 고정해야 합니다. Claude Code는 이미 프로덕션입니다.
DeepSeek Harness vs Claude Code의 한계
두 시스템 모두 모든 워크플로를 포괄하지는 않습니다. 한계는 설계의 다른 지점에서 나옵니다.
DeepSeek Harness의 한계
Harness는 더 많은 런타임 부품을 공개하지만, 그만큼 설정과 테스트 책임이 사용자에게 있습니다.
-
프로젝트가 여전히 개발자 프리뷰이며, 업데이트가 프로필이나 저장된 세션을 깨뜨릴 수 있음
-
제공자 자격 증명, 모델 ID, 엔드포인트 규칙을 수동 구성해야 함
-
이 Windows 사례 연구에서
workspace-write샌드박스가 시작에 실패했고,danger-full-access를 세 번 승인해야 했음 -
현재 Python SDK에는 Windows용 휠이 없음
샌드박스 관련 발견은 앞서 설명한 Windows 실행에만 적용됩니다. Linux나 macOS에서 재실행하지는 않았습니다.
v0.1.0-rc.7 릴리스 노트에는 지속형 Bash 지연(latency) 수정과 더 넓은 PTY 호환성을 위한 node-pty 업그레이드가 언급됩니다. 이 관찰은 버전 및 Windows에 특화되어 있습니다.
Claude Code의 한계
Claude Code는 더 많은 런타임 결정을 처리하지만, 고정된 경계 때문에 일부 실험은 불가능합니다.
-
Claude 모델을 실행하며, 다른 모델 계열로 전환 경로를 제공하지 않음
-
내장 세션 루프가 교체 가능한 구성 요소로 노출되지 않음
-
Claude Code는 유료 접근 또는 별도 과금 API 크레딧이 필요하며, 둘 다 사용 한도가 있음
-
긴 세션은 오래된 컨텍스트가 압축될 수 있어, 지속 규칙은
CLAUDE.md에 두어야 함
이 한계는 다른 모델 제공자나 커스텀 루프가 필요한 작업에서 특히 중요합니다.
DeepSeek Harness vs. Claude Code: 무엇을 선택할까?
잠시 모델 이름을 잊어봅시다. 과제가 애플리케이션 코드를 완성하는 일인가요, 아니면 작업을 수행하는 런타임을 변경하는 일인가요?
DeepSeek Harness를 선택하세요. 런타임 자체가 프로젝트인 경우에 적합합니다. 제공자 간 테스트, 커스텀 루프나 샌드박스, 상세 실행 추적에 의존하는 작업에 맞습니다. 프리릴리스 상태이므로 버전 변경과 구성 테스트 책임을 함께 집니다.
Claude Code를 선택하세요. 기존 코드베이스에서 파일을 점검하고, 코드를 편집하며, 프로젝트의 점검을 적은 런타임 설정으로 실행하고 싶다면 적합합니다. 이 Windows 테스트에서, Harness가 필요로 한 세 번의 전체 접근 승인 없이 원래 스위트를 실행했습니다.
둘 다 사용하세요. 현업에서 그런 분업이 있다면 말이죠. 팀은 일상 코딩에는 Claude Code를, 프롬프트·도구·에이전트 루프 실험에는 Harness를 사용할 수 있습니다.
마무리
두 도구 모두 리포지토리를 점검하고, 파일을 편집하며, 명령을 실행할 수 있습니다. 차이는 런타임의 소유에 있습니다. Harness는 부품을 플러그인으로 공개하고, Claude Code는 내장 루프를 패키징해 그 주변 워크플로 확장을 허용합니다.
이 테스트를 기준으로 시작점을 고르라면, 일반적인 애플리케이션 작업에는 Claude Code를 고르겠습니다. 런타임 변경이나 점검 자체가 목적이라면 Harness를 고르겠습니다. 이는 프리릴리스 Harness로 진행한 한 건의 Windows 사례 연구일 뿐, 영구적인 순위가 아닙니다.
관련 비교로는 Grok Build, Cursor, OpenCode, Codex, 기타 Claude Code 대안 글이 있습니다.
DeepSeek Harness vs Claude Code 자주 묻는 질문(FAQs)
DeepSeek Harness가 Claude Code 프로젝트 지침을 재사용할 수 있나요?
예. Harness는 CLAUDE.md와 AGENTS.md를 읽으므로 리포지토리 지침을 가져올 수 있습니다. Claude Code Skills는 별개로 유지됩니다.
DeepSeek Harness가 Claude Code나 Codex를 서브에이전트로 실행할 수 있나요?
예. 프리릴리스 빌드에는 Claude Code와 Codex용 서브에이전트 제공자 번들이 선택 사항으로 포함됩니다. 구성에 의존하기 전 Harness 버전을 고정하세요.
Claude Code에서 다른 모델로 교체할 수 있나요?
아니요, Claude만 실행합니다. Harness는 Claude를 호스팅할 수 있지만, Claude Code는 DeepSeek을 호스팅할 수 없습니다.
DeepSeek Harness의 Python SDK는 어떤 플랫폼을 지원하나요?
현재 휠은 x64 또는 arm64의 Linux와 최신 arm64 macOS를 지원합니다. Windows용 휠은 없으며, 예시 컴포지션은 전체 파일 시스템 접근을 사용합니다.
Claude Code에는 Harness의 Python SDK처럼 플랫폼 제한이 있나요?
완전히 그렇지는 않습니다. 네이티브 Windows 샌드박스가 없어 Windows에서는 /sandbox에 WSL2가 필요하지만, CLI 자체는 macOS, Linux, Windows에서 실행됩니다.
DeepSeek Harness의 Code 모드가 Python 프로그램을 실행할 수 있나요?
기본 제공 백엔드로는 불가능합니다. PTC(또는 Code) 모드는 여러 프로그래밍 언어를 인식하지만, 문서화된 코드 런타임은 현재 TypeScript 백엔드를 제공합니다.
DeepSeek Harness에서 로컬 모델을 실행할 수 있나요?
예. 로컬 Ollama나 vLLM 서버 같은 OpenAI 호환 엔드포인트를 노출하는 커스텀 제공자를 추가한 다음, DeepSeek Harness에 모델 ID를 등록하세요.