기술 제원 및 공개 범위

MIT 라이선스로 공개된 DeepSeek Harness는 현재 개발자 프리뷰(Developer Preview) 단계의 오픈소스 코딩 에이전트 프레임워크다. 이 도구의 핵심은 '모든 것이 플러그인(Everything is a Plugin)'이라는 설계 원칙에 있다. 단순히 외부 도구를 연결하는 수준을 넘어 모델 어댑터(Model Adapter), 툴(Tool), 세션 로그(Session Log), 그리고 에이전트의 핵심 동작을 결정하는 에이전트 루프(Agent Loop) 자체를 플러그인으로 분리했다. 사용자는 고정된 코어(Core)를 수정하지 않고 필요한 플러그인을 추가하거나 기존 구현체를 교체함으로써 에이전트의 동작 방식과 실행 환경 전체를 조립할 수 있다.

지원 모델 범위는 DeepSeek뿐만 아니라 Anthropic, OpenAI를 포함하며, 클라우드 인프라인 Bedrock, Vertex, Azure, Codex 등과도 연동된다. 특히 사내 게이트웨이나 자체적인 OpenAI-compatible 엔드포인트를 등록할 수 있어 폐쇄망 환경이나 커스텀 API 환경에서도 운용이 가능하다. 기본적으로 제공하는 코딩 에이전트 기능은 프로젝트 파일 읽기 및 수정, 셸 명령 실행, 작업 위임, 계획 관리 등을 포함한다.

사용자가 즉시 실행할 수 있는 진입점은 세 가지다. 첫째는 `npx @deepseek-ai/dsh web` 명령어를 통해 Web UI를 바로 띄우는 방식이며, 이때 워크스페이스(Workspace)를 지정해 세션을 시작한다. 둘째는 UI 없이 동작하는 헤드리스(Headless) 실행 모드다. 셋째는 Python SDK를 통해 CLI 자동화 도구를 만들거나 기존 애플리케이션 내부에 에이전트 런타임을 직접 내장하는 방식이다.

작동 구조 및 세션 메커니즘

설계의 중심에는 Cordis가 자리 잡고 있다. 플러그인이 서비스(Service), 이벤트(Event), 툴(Tool) 등을 등록하거나 제거할 때, Cordis는 이와 연결된 관련 리소스를 함께 정리하여 메모리 누수나 리소스 충돌을 방지한다. 플러그인의 조합은 프로필(Profile)과 번들(Bundle) 단위를 통해 관리된다. 기본적으로 제공되는 web 또는 headless 구성 위에 사용자 정의 설정을 덮어쓰는 방식으로 자신만의 에이전트 환경을 구축하는 구조다.

세션 기록은 '추가 전용 이벤트 로그(append-only Event Log)'를 중심으로 이루어진다. 모델이 입력받은 데이터와 툴 호출 이력이 순차적으로 기록되며, 시스템은 이 로그를 바탕으로 전체 세션을 재구성한다. 이러한 기록 방식 덕분에 중단된 세션을 다시 시작하는 리줌(Resume), 특정 시점에서 경로를 바꾸는 포크(Fork), 전체 대화 내용을 추출하는 트랜스크립트(Transcript) 기능이 구현된다.

툴 실행 시에는 권한 정책(Permission Policy) 레이어를 거친다. 파일시스템 접근, 셸/터미널 조작, 샌드박스 실행, 서브에이전트 생성, 백그라운드 작업 등의 독립 구성 요소들은 모두 이 정책의 제어를 받는다. 현재 Web UI 버전에서는 승인이 필요한 작업이 발생할 경우 사용자에게 확인을 요청하는 인터페이스가 적용되어 있다.

개발 환경 적용 및 영향

Python SDK를 활용하면 프로그램 레벨에서 동일한 런타임을 호출할 수 있다. 특히 세션을 유지할 경우 단순한 대화 맥락뿐 아니라 지속성 셸(Persistent Shell) 상태까지 이어서 사용할 수 있어, 복잡한 빌드 과정이나 상태 유지가 필요한 개발 작업에 적합하다. 파일시스템과 샌드박스, 권한 승인 체계가 독립된 플러그인으로 분리되어 있어, 기업 내부의 보안 정책에 맞춘 전용 샌드박스나 승인 워크플로우를 직접 구현해 교체하는 것이 가능하다.

결과적으로 DeepSeek Harness는 특정 목적의 코딩 에이전트라기보다, 에이전트의 런타임 구성 요소를 자유롭게 조립할 수 있는 플랫폼에 가깝다. 개발자는 기존의 고정된 에이전트 도구에서 벗어나 LLM 어댑터부터 실행 루프, 세션 관리 방식까지 전체 파이프라인을 제어해야 하는 커스텀 에이전트 구축 시 이 프레임워크를 선택지로 고려할 수 있다.