Trawling

oh-my-hermes — Hermes Agent용 올인원 플러그인, 코딩 인텔리전스와 장기 메모리·워크플로우 패키지

Nous Research의 코딩 에이전트 Hermes 위에 올리는 운영 레이어 플러그인 oh-my-hermes(OMH)가 공개됐습니다. 요청을 카테고리별 모델·추론 강도로 라우팅하고, 파일 소유권이 겹치지 않는 병렬 레인으로 작업을 나누며, '실행됐다'고 관측된 것만 보고하는 증거 경계를 강제합니다. 같은 작업 기준 $4.29·23분을 $0.66·5분으로 줄였다는 자체 측정치를 제시합니다.

본문

oh-my-hermes(OMH)는 Hermes Agent를 교체하지 않고 그 위에 얹는 '운영 레이어'입니다. curl 한 줄 설치 후 omh setup을 실행하면 워크플로우와 스킬이 Hermes에 등록되며, Homebrew·Bun·npm·hermes skills tap 경로도 지원됩니다. Hermes는 자연어 인터페이스로 남고, OMH가 문제를 프레이밍하고 워크플로우와 증거 게이트를 골라 네이티브 스킬을 그 경로 안의 capability로 실행하는 구조입니다.

Mixture-of-Models 라우팅과 모델별 캘리브레이션

모든 요청은 디스패치 전에 점수화되어 ultrabrain, deep, architect, quick, writing, visual-engineering 등 12개 카테고리 중 하나로 라우팅됩니다. 각 카테고리는 '모델 + reasoning effort'의 순서 있는 체인이며, 프로바이더가 모델을 거부하면 체인을 따라 폴백하고, 서빙 불가능한 프로바이더를 물려받을 디스패치는 조용히 다운그레이드하지 않고 거부됩니다. 이름 변경 같은 가벼운 요청은 quick 레인으로, 'X의 모든 참조를 찾아라' 같은 요청은 exhaustive-search 신호를 타고 빠뜨리지 않는 모델로 갑니다. 같은 GPT-6 Astra로 같은 코딩 작업을 측정했을 때 동일한 답을 $4.29·23분 대신 $0.66·5분에 얻었다고 보고합니다. 13개 모델 패밀리마다 문서화된 특성에 맞춘 캘리브레이션 블록이 붙는데, 예컨대 Gemini에는 'tool 출력 없는 주장은 증거가 아니다', Qwen3-Coder에는 'thinking 태그를 출력하지 마라' 같은 지시가 들어갑니다. 이 튜닝은 벤치마크 쌍이 도움이 된다고 말하는 동안만 유지되며, Astra의 첫 번째 초안 블록은 통과하지 못할 작업을 계속 붙들게 만들어 비용이 10% 늘었고 그 숫자를 근거로 잘라냈다고 명시합니다. 체인은 ~/.omh/routing/model-chains.json 한 파일에서 코드 수정 없이 편집할 수 있고, omh model이나 TUI 안의 /omh-model 화살표 키 피커로도 바꿀 수 있습니다.

ulw-* 워크플로우와 병렬 실행

채팅에서 트리거를 말하면 Hermes가 9개 워크플로우로 라우팅합니다. ulw-interview는 원하는 것을 알 때까지 한 번에 한 질문만 하고, ulw-research는 실제 코드와 라이브 웹을 파고들며 출처를 유지하고, ulw-plan은 옵션 비교·리스크·완료 기준이 합의된 계획을 만들고, ulw-work는 수용된 계획을 파일을 공유하지 않는 유닛으로 쪼개 각각 하나의 고정 SHA에서 브랜치된 worktree에서 병렬 실행합니다. ulw-maestro는 Claude Code나 Codex 같은 외부 CLI로 위임하는 별도 레인이고, ulw-loop은 목표가 실제로 통과할 때까지 plan→build→review를 돌며, ulw-qa는 적대적 시나리오로 빌드를 공격합니다. 각 유닛은 process exited·schema valid·verification observed·integration ready라는 4상태의 타입드 결과로 돌아오고, exit 0이어도 증거가 없으면 게이트가 확인할 때까지 'reported done'에 머뭅니다.

증거 경계와 상태 표기

OMH의 핵심 규칙은 '지켜보지 않은 일은 일어났다고 보고하지 않는다'입니다. 모든 상태는 단계와 확신도 두 부분으로 표시됩니다. 'Plan · not run'은 프롬프트만 준비된 상태, 'Code · reported done'은 실행기가 끝났다고 말했을 뿐 아무도 검증하지 않은 상태, 'Test · verified'만이 게이트를 실제로 통과한 상태입니다. 비용도 마찬가지로 요율표로 가격을 매길 수 없는 호출은 $0이 아니라 unknown으로 표시됩니다. 108개의 omh-* 전문가 스킬(프런트엔드, Rust, 네이티브 디버깅, 보안 리뷰, 성능 예산, 리팩터 계획 등)은 사용자가 명시적으로 부르지 않아도 요청이 해당 표면을 건드리면 자동으로 툴콜로 올라타고, 한국어로 말해도 라우터가 전문가를 고릅니다.

장기 메모리와 정직한 벤치마크

메모리는 조용히 저장되지 않습니다. 세션에서 후보가 캡처되면 리뷰 카드에 올라가 기억·거절·보류 중 하나가 이유와 함께 기록되고, 승인된 레코드는 출처와 리뷰 기한을 가지며 확인하면 시계가 리셋되고 방치하면 active→reference→archive로 노화합니다. 다음 세션에는 태스크에 맞춰 랭킹되고 토큰 예산으로 잘린 recall pack이 주입되며, Hermes 자체 메모리는 읽거나 패치하지 않습니다. 제품 간 비교 벤치마크(product-ab/v1)는 이 리포지토리의 머지된 PR을 코퍼스로 삼아 통과율·통과 작업당 비용·벽시계·false-completion rate 네 가지를 보고하도록 설계됐지만, 아직 공개된 측정 실행은 없다고 README가 스스로 밝히고 있습니다.

원문: GitHub / 번역·요약: Trawling

참고 자료

오류 제보