HarnessRouter는 Claude Code, Codex, Gemini CLI처럼 서로 다른 AI 작업 환경을 한곳에서 선택하고 관리하는 오픈소스 도구입니다. 핵심은 모델만 바꾸는 것이 아니라, 같은 모델을 어떤 harness(모델에 도구·파일 접근·실행 환경을 연결하는 작업 틀)에서 실행할지도 비교할 수 있다는 점입니다. 로컬 설치 후 지출 보고서 검토, 데이터 대시보드 작성, 슬라이드 생성까지 이어지는 작업을 한 콘솔에서 다룰 수 있습니다.

모델이 같아도 작업 환경을 비교해야 하는 이유

모델은 요청에 응답할 수 있지만, 파일을 열고 도구를 호출하며 여러 단계를 거쳐 결과물을 만드는 일에는 실행 환경이 필요합니다. 이때 harness는 agent(도구를 이용해 여러 단계의 작업을 수행하는 AI)가 파일과 도구를 사용하는 방식을 맡습니다. HarnessRouter는 여러 harness를 한 콘솔에 모아, 작업마다 환경을 따로 준비해야 하는 번거로움을 줄입니다.

HarnessRouter 개발팀은 동일한 언어 모델로 스프레드시트 평가 작업 50개를 네 가지 harness에서 수행했습니다. 가장 높은 결과는 성공률 85%였고, 가장 낮은 결과는 77%였습니다. 최고 성적을 낸 환경의 작업 시간은 최저 성적 환경의 약 절반이었습니다. 이 수치는 해당 평가에서 나온 결과입니다. 모든 업무에서 같은 차이가 난다는 뜻보다는, 모델을 고른 뒤에도 실행 환경을 비교할 이유가 있다는 근거로 보는 편이 적절합니다.

로컬에서 시작하고 모델 키 연결하기

Docker Desktop이 설치된 컴퓨터에서는 Docker 명령 한 줄로 HarnessRouter를 실행할 수 있습니다. 이 명령은 HarnessRouter를 백그라운드 컨테이너로 띄우고, 로컬 컴퓨터의 3000번 포트에 콘솔을 연결하며, harness 설정을 보존할 Docker 저장 공간(volume)을 붙입니다.

실행 뒤에는 Docker 로그에서 서비스 준비 상태를 확인하고 브라우저로 로컬 콘솔에 접속합니다. 콘솔에는 Claude Code, Codex, Gemini CLI, Pi, Hermes 등 선택 가능한 harness와 작업 현황이 표시됩니다. 외부 도구를 쓰는 작업을 위해 브라우저나 GitHub 연동도 설정할 수 있습니다.

모델을 사용하려면 자신의 API 키를 연결해야 합니다. Google AI Studio 키로 Gemini 모델에 접근하거나, OpenRouter 키로 다른 모델을 연결하는 방식입니다. HarnessRouter 자체는 무료 오픈소스 도구이지만, 모델 접근에 필요한 키는 사용자가 준비해야 합니다. 따라서 처음에는 사용할 모델과 키를 정한 뒤, 그 모델로 어떤 harness를 비교할지 선택하는 순서가 간단합니다.

두 작업 경로가 같은 지출 목록을 검토하고 일부 항목을 표시한 모습

▲ 지출 항목 검토

같은 지출 보고서를 두 환경에서 검토하기

비교 사례에는 34개 항목이 담긴 지출 보고서가 쓰였습니다. 검토 기준은 식비가 $75를 넘으면 관리자 승인이 필요하고, $25를 넘는 지출에는 영수증이 있어야 하며, 중복 청구는 허용되지 않는다는 세 가지 규칙입니다. 보고서에는 이 기준을 어기는 항목 7개가 미리 포함돼 있었습니다.

먼저 Gemini CLI에서 gemini-3.8-flash 모델을 선택하고 파일과 검토 지시를 전달했습니다. 이 환경은 도구를 61차례 호출하며 항목을 확인했고, 검토 결과를 덧붙인 스프레드시트와 요약 문서를 만들었습니다. 표시한 7개 항목의 합계는 $487.65로, 미리 포함된 위반 항목과 일치했습니다. 같은 모델과 파일, 지시를 유지한 채 harness를 Pi로 바꿨을 때도 동일한 7개 항목을 찾아냈습니다.

검토 결과에는 같은 날짜에 두 직원이 같은 금액인 $42.80의 택시 요금을 각각 청구한 건도 따로 언급됐습니다. agent는 두 사람이 택시를 함께 탔을 가능성이 크다고 짚었고, 두 청구를 모두 문제 항목으로 본다면 검토 대상은 8개 항목, 합계는 $530.45로 늘어난다고 덧붙였습니다. 미리 심어 둔 7개 위반 사항과 달리 이 건은 정답이 정해진 문제가 아니므로, 실제 처리 여부는 사람이 맥락을 보고 판단해야 할 것으로 보입니다.

반복 업무라면 지출 규칙을 매번 다시 입력하지 않아도 됩니다. Gemini CLI를 바탕으로 맞춤 harness를 만들고 규칙을 지침 파일에 저장하면, 다음에는 새 보고서를 올려 짧게 검토를 요청할 수 있습니다. 수행 중 어떤 도구 명령이 실행됐는지 기록을 살펴볼 수 있어 결과뿐 아니라 작업 과정도 확인할 수 있습니다.

대시보드와 슬라이드로 넓히는 작업 범위

미리 준비된 대시보드 구성에서는 PostgreSQL 데이터베이스의 네 개 표를 연결하고, Hermes에 deepseek-v4-pro 모델을 사용했습니다. 최근 12개월 매출 추이와 매출 상위 제품 다섯 개, 지역별 실적을 요청하자 데이터 구조를 파악하고 조회를 수행해 대화형 차트를 만들었습니다. 완성까지 걸린 시간은 2분 미만이었습니다.

이 소매업체 사례의 대시보드에는 총매출 $148만 2393, 완료 주문 5705건, 평균 주문액 $259.84가 표시됐습니다. 표시된 합계는 연결된 데이터베이스 기록과 일치했습니다. 이는 특정 데이터베이스에 연결해 만든 결과이며, 다른 데이터에서도 같은 속도나 결과가 보장된다는 뜻은 아닙니다.

슬라이드용 구성에서는 같은 소매 실적을 바탕으로 5장의 발표 자료를 만들었습니다. 요약과 주요 매출 요인뿐 아니라, 여름철 한 지역의 월매출이 $9000 아래로 떨어진 점과 한 제품의 반품률이 29.6%로 제시된 점도 담았습니다. 이 제품에 제시된 비교 기준은 4~6%였습니다. 완성된 슬라이드는 인터페이스에서 직접 수정할 수 있습니다.

데이터베이스에서 차트가 만들어지고 옆에 슬라이드가 구성된 모습

▲ 분석과 슬라이드 작성

어떤 작업부터 적용할까

HarnessRouter의 쓰임은 여러 도구를 단순히 한 화면에 모으는 데서 끝나지 않습니다. 같은 파일과 모델로 harness를 바꿔 결과를 비교하고, 반복 지침을 저장하며, 데이터베이스 분석이나 발표 자료 작성으로 작업을 이어갈 수 있습니다. 먼저 로컬 콘솔에 사용할 API 키를 연결하고, 정답이나 검토 기준이 분명한 작은 파일 작업으로 결과와 실행 기록을 확인하는 것이 좋습니다. 그 뒤 반복할 만한 규칙이 확인되면 맞춤 harness로 저장하고, 대시보드와 슬라이드처럼 범위가 넓은 작업에 적용할 수 있습니다.