Hermes 에이전트 설정을 10배 효율적으로 만드는 숨겨진 기능

AAI LABS
Computing/SoftwareManagementInternet Technology

Transcript

00:00:00헤르메스를 사용하기 시작한 이후로 저희는 많은 워크플로우를 헤르메스에 설정했습니다.
00:00:04이전 영상들에서 보여드린 것처럼 앱을 모니터링하고 슬랙에서 팀을 조율하는 등의 일을 해왔지만,
00:00:09사용할수록 똑같은 문제들에 부딪혔고 현재 설정으로는
00:00:13충분하지 않다는 느낌이 들기 시작했습니다. 늘 그렇듯 문제를 해결할 방법을 찾기 시작했는데,
00:00:18그때 필요한 모든 것이 이미 헤르메스 안에 있다는 것을 깨달았습니다.
00:00:23저희가 그 잠재력을 충분히 활용하지 못했던 거죠. 채널이 처음이신 분들,
00:00:27환영합니다. 저희는 소프트웨어 기업이고, 이곳은 AI 랩스입니다. 저희 팀의 검증된 방법을 통해
00:00:32AI로 비즈니스를 최적화하는 법을 보여드립니다. 이번 영상에서는 워크플로우를 개선하기 위해
00:00:37변경한 모든 설정을 다뤄보겠습니다. 첫 번째 카테고리는 컨텍스트와 출력 제한에 관한 것입니다.
00:00:43헤르메스는 에이전트를 실행하는 모든 설정과 정보가 담긴 .hermes 폴더를 사용합니다.
00:00:49이 모든 정보는 config.yaml이라는 단일 파일에 들어있습니다. 에이전트 설정과 연결된
00:00:55모든 설정이 들어있는 매우 긴 파일이죠. 저희처럼 여러 프로필을 관리한다면,
00:01:00각 프로필마다 별도의 폴더가 있고 각 프로필별로 config.yaml 파일이 존재합니다. 첫 번째로 변경할 설정은
00:01:06max bytes입니다. 기본값은 50,000으로, 도구 출력에서 한 번에 50,000자까지
00:01:13컨텍스트 창으로 가져오고 나머지는 잘리게 됩니다. 테스트 실행을 모니터링할 때
00:01:17문제가 길어지면 제대로 파악하지 못하는 문제가 발생했습니다. 그래서 컨텍스트 창에
00:01:23더 많은 출력이 필요했습니다. config.yaml 파일에서 직접 max bytes를 설정하거나,
00:01:29hermes config 명령어를 사용해 필요한 숫자로 변경할 수 있습니다. 변경이 완료되면 해당 글자 수만큼
00:01:34모든 도구 출력을 컨텍스트 창으로 가져옵니다. 다만 올바른
00:01:39프로필이 선택되었는지 확인해야 합니다. hermes config 명령어로 변경한 내용은 활성
00:01:44프로필의 설정 파일에 반영되기 때문입니다. 에이전트가 줄 수가 많은 파일을 읽을 때 또 다른 문제가 생깁니다.
00:01:50헤르메스를 회사 지식 베이스에 연결했을 때 겪은 일인데, 2,000줄이 넘는
00:01:55대규모 정책 문서들이 있었습니다. 파일을 청크로 나누어 불러오면 중요한 세부 사항을
00:02:01계속 놓치더군요. 그래서 5,000으로 설정하여 에이전트가 한 번에 더 많은 파일을 읽게 했습니다. 또 다른
00:02:07제한은 대용량 마크다운 파일이 많을 때 발생합니다. 긴 문단이
00:02:12한 줄에 저장되어 있고 그 길이가 2,000자를 넘으면 전부 읽지 못합니다. 늘리고 싶다면
00:02:18hermes config 명령어로 필요한 글자 수로 설정하면 됩니다.
00:02:23그렇게 하면 에이전트가 한 줄에 2,000자 이상을 읽을 수 있습니다. 첫 세 가지 설정은
00:02:28큰 파일을 다룰 때 중요하지만, 다음 설정은 모두에게 중요합니다. 바로
00:02:33압축 임계값(compression threshold)입니다. 기본값은 50이며, 이는 컨텍스트 창이 50%
00:02:39찼을 때 압축을 시작한다는 뜻입니다. 하지만 코덱스나
00:02:45클로드 코드 같은 다른 에이전트들은 약 75%로 설정되어 있습니다. 헤르메스를 200,000 컨텍스트의
00:02:51작은 모델로 설정했을 때 너무 빨리 압축되어 업무 처리에 이상적이지 않았습니다.
00:02:56오퍼스나 100만 토큰 창을 가진 제미나이 같은 모델들은 괜찮습니다. 압축이
00:03:02500,000 토큰에서 발생하니까요. 하지만 200,000 컨텍스트 모델은
00:03:08100,000 토큰에서 압축이 일어나 장기 실행 시 문제가 됩니다. 그래서 압축 임계값을
00:03:150.75로 설정했습니다. 이렇게 하면 압축 전까지 컨텍스트 창의 75%를 사용할 수 있습니다. 또 다른
00:03:22설정은 target ratio인데 기본값이 20입니다. 헤르메스가 압축을 실행할 때
00:03:28전체 채팅을 압축하는 게 아니라 대화의 20%는 압축하지 않고 남겨둡니다.
00:03:34새로운 대화는 요약과 함께 이 압축되지 않은 부분으로 시작됩니다. 즉 압축되지 않은 20%가 꼬리(tail)가 되는 것이죠.
00:03:40새 압축 대화가 시작되면요. 얼마나 남길지는
00:03:45컨텍스트 창 크기에 따라 다릅니다. 100만 토큰 컨텍스트 창에서는 10만 토큰이 추가되고, 200,000
00:03:52토큰 창에서는 2만 토큰이 추가됩니다. 이 꼬리 부분은 에이전트에게 이전 대화에 대한 추가 컨텍스트를 제공하여
00:03:58쉽게 작업을 이어갈 수 있게 합니다. 200,000 컨텍스트 창에서는 20%가 적당하지만,
00:04:04더 큰 모델을 사용 중이라면 config 명령어로 더 높게 설정할 수 있습니다. 이상적인 범위는
00:04:0910~80%입니다. 숫자가 클수록 컨텍스트 창에 많은 토큰이 남지만,
00:04:15작업할 여유 공간은 줄어듭니다. 이전 영상에서 언급했듯이 헤르메스가 유지하는 memory.md와 user.md
00:04:21파일은 저장할 수 있는 글자 수에 엄격한 제한이 있습니다. 그 후에는 헤르메스가
00:04:26필요 없다고 판단하는 정보를 삭제합니다. 이 제한도 변경할 수 있습니다.
00:04:32config.yaml 파일에서 직접 하거나 헤르메스 데스크톱 앱의 설정 창에서 할 수 있습니다.
00:04:37거기서 방금 다룬 대부분의 설정을 변경할 수 있습니다. 영상이 유익했다면
00:04:42구독과 좋아요를 눌러주세요. 이런 작은 응원이 저희에게 큰 힘이 됩니다.
00:04:47두 번째 카테고리는 서브 에이전트입니다. 헤르메스에서는 한 번에 세 개의 서브 에이전트만 생성할 수 있는데,
00:04:53작업 중에 이 제한에 걸려 예상보다 시간이 더 걸리는 경우가 있었습니다.
00:04:58설정에서 이 제한은 max concurrent children 값에서 오며 기본값은 3입니다.
00:05:03문제가 발생하여 config 명령어를 사용하여 이 값을 5로 변경했습니다. 그 이후로는
00:05:08서브 에이전트를 최대 5개까지 함께 실행할 수 있습니다. 하지만 이는 토큰을
00:05:13많이 소모하므로 많은 서브 에이전트를 사용한다면 비용을 주의해야 합니다. 클로드 코드에서는
00:05:18각 서브 에이전트가 자체 서브 에이전트를 생성할 수 있습니다. 이는
00:05:23중첩된 저장소를 탐색하기 위해 에이전트가 가지를 뻗어 나갈 수 있어 유용하지만, 헤르메스는
00:05:28max spawn depth 플래그로 이를 제한하며 기본값은 1입니다. 서브 에이전트가 더 이상
00:05:34생성되지 못하게 막는 거죠. 이 값을 1보다 크게 설정하면
00:05:39서브 에이전트가 또 다른 서브 에이전트를 생성할 수 있게 됩니다. auto-approve라는 기능도 있는데 기본값은 false입니다.
00:05:44즉, 생성된 서브 에이전트는 부모의 권한만 상속받고,
00:05:50여전히 권한 승인 프롬프트에 막힐 수 있습니다. 이를 변경하려면 여기서
00:05:55true로 설정하면 됩니다. 설정 후에는 서브 에이전트가 auto-approve 모드로 실행되어
00:06:00권한 승인 프롬프트에 막히지 않습니다. 서브 에이전트는 무거운 작업을 필요로 하지 않는 웹 검색 같은 간단한 작업을 수행합니다.
00:06:06하지만 이를 고성능 모델에서 실행하면 비용이 많이 듭니다. 그래서
00:06:11서브 에이전트에 사용하는 모델을 더 작은 것으로 변경하면 토큰을 절약할 수 있습니다.
00:06:16다른 제공업체의 모델이라면 hermes auth 명령어를 사용해
00:06:21원하는 곳에서 모델을 가져올 수 있습니다. 하지만 비용을 절약하는
00:06:25설정으로 넘어가기 전에 후원사인 헬릭스에 대해 말씀드리겠습니다. 매주 앱, 웹사이트, 제품을
00:06:31더 빠르게 만들 수 있게 돕는 새로운 AI 도구가 나옵니다. 하지만 개발 시작 전
00:06:37과정에 대해서는 아무도 말하지 않죠. 많은 사람들이 미완성된 아이디어로 바로 코딩을 시작했다가
00:06:42똑같은 작업을 세 번씩 반복하게 됩니다. 헬릭스는 AI 가이드 제품 기획 플랫폼으로, 거친 아이디어를
00:06:48개발자나 이해관계자에게 전달할 수 있는 체계적인 계획으로 바꿔줍니다.
00:06:53아이디어를 한 문장으로 설명하면 5명의 AI 전문 에이전트가 검증, 시장 조사, 제품 개발,
00:06:59비즈니스 모델링, 성장 전략을 다룹니다. 실시간으로 시장 데이터를 가져오고,
00:07:05노션, 지라, 에어테이블 등 이미 사용하는 20개 이상의 도구와 연결되며, 캔버스는 일반적인 템플릿에
00:07:11강제로 끼워 맞추는 것이 아니라 실제 제품 요구 사항에 맞게 조정됩니다. 완료 후에는
00:07:16추측이 아닌 실제 연구를 기반으로 한 투자자용 PDF 설계도를 내보낼 수 있습니다. 설명란의 링크를
00:07:21클릭하고 헬릭스를 무료로 체험해보세요. 세 번째 카테고리는 비용입니다. 토큰을 절약하는 설정들이죠.
00:07:27헤르메스를 처음 설정할 때 목적에 따라 모델을 지정하지만, 보조(auxiliary) 모델도
00:07:32설정할 수 있습니다. 보조 모델은 기본적으로 헤르메스가 백그라운드 하위 작업에 사용하는
00:07:38더 저렴하고 빠른 모델입니다. 이렇게 하면 설정한 메인 모델이 복잡하지 않은 작은 작업에 낭비되지 않습니다.
00:07:43기본적으로 보조 모델을 비워두면 헤르메스는 설정된 가장 저렴한 모델로
00:07:48돌아갑니다. 저희는 오픈 라우터를 사용했기에 제미나이 플래시로 설정되어 있었습니다. 이런
00:07:54저렴한 모델들이 백그라운드 작업을 처리할 수 있죠. 비용을 절약하고 싶다면 더 저렴한
00:07:59모델을 수동으로 설정하세요. 웹 검색이나 압축 같은 작업에서 많은 비용을 아낄 수 있습니다. 메인
00:08:05모델이 오퍼스 같은 것이라면 사소한 작업에 낭비하고 싶지 않을 테니까요. 비용 절약 관련,
00:08:11또 다른 설정은 사용 중인 모델의 노력(effort) 수준입니다. 노력 수준은
00:08:15모델이 작업에 쏟는 사고량입니다. 노력이 높으면 출력은 좋아지지만,
00:08:20토큰 소비도 커집니다. 낮음이나 최소로 설정하여 토큰 낭비를 막을 수 있습니다.
00:08:26노력 수준을 사용하고 싶지 않다면 사고 기능을 완전히 끌 수도 있습니다. 네 번째 카테고리는
00:08:32워크플로우이며, 헤르메스를 훨씬 더 좋게 만드는 다른 기능들을 다룹니다. 첫 번째는
00:08:37빠른 명령어(quick commands)입니다. 클로드 코드를 사용해봤다면 재사용 가능한
00:08:43사용자 지정 지침을 추가하는 슬래시 명령어를 아실 겁니다. 헤르메스도 유사한 기능을 하지만,
00:08:48프롬프트 지침 방식을 사용하지 않아 다르게 처리합니다. 빠른 명령어는 두 가지 유형이 있습니다. 첫 번째는
00:08:54exec인데, 터미널 명령어를 실행하고 그 출력을 컨텍스트 창에 넣습니다. 이는
00:08:59단 한 번의 명령으로 일련의 명령을 실행하는 스크립트를 만들 때 유용합니다. 예를 들어 깃 작업 시,
00:09:04사용자 지정 exec 명령어를 설정하고 에이전트가 원할 때마다 실행하게 할 수 있습니다.
00:09:09다른 하나는 앨리어스(alias)입니다. 사용자 지정 명령어라기보다 기존 명령어를 이름 바꾸는 방식이죠.
00:09:15압축을 더 빨리 실행하고 싶다면 한 글자로 앨리어스를 설정해서
00:09:20빠르게 실행할 수 있습니다. 직접 설정하는 방법은 없으므로 config.yaml에서 하거나
00:09:25클로드 코드나 헤르메스에게 해달라고 하면 스스로 변경해 줄 겁니다. 그 외에도 헤르메스에는
00:09:31체크포인트 매커니즘이 있습니다. 체크포인트는 특정 시점의 파일 상태를
00:09:36저장하는 것입니다. 실험으로 무언가 고장 났을 때 이전으로 돌릴 수 있죠. 기본적으로 꺼져 있으니
00:09:41true로 설정해야 합니다. 체크포인트가 켜지면 rollback 명령어를 사용해
00:09:46이전 체크포인트로 돌아갈 수 있습니다. 또 다른 변경 가능 설정은 백그라운드 프로세스 알림입니다. all로 설정하면
00:09:52헤르메스가 백그라운드에서 하는 모든 작업에 알림이 옵니다. 원치 않는다면
00:09:56변경할 수 있습니다. 또한 'hermes ephemeral system prompt'라는 플래그가 있어 에이전트의
00:10:01시스템 프롬프트에 내용을 추가할 수 있습니다. 이는 환경 변수이며 값으로 넣은 지침이
00:10:06시스템 프롬프트의 일부가 됩니다. 그래서 원하는 지침을 추가할 수 있지만,
00:10:11이 프롬프트는 해당 터미널에서 연 세션에만 적용되며 장기적으로 유지되지 않습니다.
00:10:16그러니 일회성 용도로 유용합니다. 또한 헤르메스를 yolo 모드로 실행할 수 있는데, 이는
00:10:22클로드의 권한 건너뛰기 모드와 같습니다. 에이전트가 모든 작업마다 승인을
00:10:27기다리지 않게 합니다. yolo 명령어나 터미널에서 --yolo 플래그로 시작할 수 있습니다. 오류가 발생했는데
00:10:32헤르메스 자체 문제인지 설정한 구성 때문인지 확실하지 않았을 때가 있었습니다.
00:10:37그때 'ignore user config' 모드를 발견했습니다. .hermes 폴더의 모든 설정을
00:10:43제외하고 격리된 상태로 실행하여 무엇이 오류를 유발하는지 확인하고
00:10:48수정할 수 있습니다. 또한 여러 성격을 전환할 수 있으며
00:10:53personality 명령어를 사용해 설정에 이미 있는 다양한 목소리 스타일을 즐길 수 있습니다.
00:10:59많은 분이 요청해주셔서 필요한 모든 가이드와 리소스를 담은 스타터 팩을
00:11:03커뮤니티인 'AI 랩스 프로'에 준비해 두었습니다. 채널을 후원하고
00:11:09리소스 팩에 접근하고 싶다면 꼭 확인해보세요. 링크는 설명란에 있습니다.
00:11:14이번 영상은 여기서 마치겠습니다. 채널을 후원하고 이런 영상을 계속
00:11:19만들 수 있도록 돕고 싶다면 아래 'Super Thanks' 버튼을 이용해주세요. 항상
00:11:24시청해주셔서 감사하며, 다음 영상에서 뵙겠습니다.

Key Takeaway

config.yaml 파일 내의 max bytes, 압축 임계값, 서브 에이전트 동시성 및 보조 모델 설정을 최적화하여 Hermes 에이전트의 효율성과 비용 관리 성능을 10배 이상 향상할 수 있습니다.

Highlights

  • config.yaml 파일의 max bytes 값을 기본값 50,000에서 늘리면 에이전트가 도구 출력 내용을 더 많이 컨텍스트로 가져올 수 있습니다.

  • 대규모 파일 읽기 시 누락 방지를 위해 파일 청크 크기를 5,000으로 설정하면 에이전트가 더 많은 내용을 한 번에 처리합니다.

  • 압축 임계값(compression threshold)을 0.75로 조정하면 200,000 토큰 모델에서 조기 압축 문제를 방지하고 더 긴 컨텍스트를 활용할 수 있습니다.

  • max concurrent children 값을 3에서 5로 변경하면 동시에 실행되는 서브 에이전트 수를 늘려 작업 속도를 향상할 수 있습니다.

  • 보조 모델을 더 저렴한 모델로 수동 지정하고 노력(effort) 수준을 낮게 설정하면 토큰 소비 비용을 절감할 수 있습니다.

  • exec 및 앨리어스 명령어를 활용하면 복잡한 스크립트를 단일 명령어로 단축하거나 자주 쓰는 명령어를 빠르게 실행할 수 있습니다.

Timeline

컨텍스트 및 출력 제한 최적화

  • max bytes 값을 조정하여 도구 출력 시 잘리는 내용을 방지하고 더 많은 컨텍스트를 확보합니다.
  • 파일 읽기 청크를 5,000줄로 설정하여 대규모 문서 처리 시 세부 정보 누락을 방지합니다.
  • 마크다운 파일의 한 줄당 최대 읽기 길이를 늘려 긴 문단도 온전하게 인식합니다.

헤르메스의 모든 설정은 .hermes 폴더 내 config.yaml 파일에서 관리됩니다. 기본 max bytes 값인 50,000은 도구 출력 시 데이터를 잘리게 하여 긴 작업 분석을 방해하므로 수동 변경이 필요합니다. 또한 대규모 지식 베이스 연결 시 2,000줄 이상의 문서를 처리할 때 파일 청크 및 행당 최대 글자 수 설정을 강화하여 데이터 인식 오류를 제거합니다.

압축 전략 및 메모리 관리

  • 압축 임계값을 0.75로 설정하여 컨텍스트 창 활용도를 최적화합니다.
  • target ratio 20%를 통해 대화의 꼬리 부분을 유지하여 연속적인 작업 수행을 돕습니다.
  • memory.md 및 user.md 파일의 엄격한 데이터 삭제 제한을 수동으로 조절합니다.

기본 압축 임계값 50%는 200,000 토큰 모델에서 너무 빠르게 압축을 유발하여 장기 실행 작업에 비효율적입니다. 이를 75%로 높이면 더 많은 정보를 유지할 수 있습니다. 압축 시 전체를 지우지 않고 최근 대화의 20%를 꼬리로 남겨두어 에이전트가 문맥을 이어갈 수 있게 설계되었습니다. 이는 모델의 토큰 창 크기에 따라 10만에서 2만 토큰 정도의 추가 컨텍스트를 제공합니다.

서브 에이전트 확장 및 비용 절감

  • max concurrent children 값을 5로 늘려 서브 에이전트의 병렬 처리 능력을 높입니다.
  • max spawn depth를 조절하여 서브 에이전트가 스스로 에이전트를 생성하는 깊이를 제어합니다.
  • 백그라운드 하위 작업에 저렴한 보조 모델을 지정하여 메인 모델의 토큰 낭비를 막습니다.

기본 3개로 제한된 서브 에이전트 생성 수는 max concurrent children 설정을 통해 5개까지 늘릴 수 있습니다. 또한 auto-approve 모드를 활성화하면 반복적인 권한 승인 프롬프트를 건너뛸 수 있습니다. 비용 효율을 위해 웹 검색과 같은 단순 작업은 제미나이 플래시 같은 보조 모델로 처리하고, 고성능 메인 모델의 노력(effort) 수준을 낮추어 불필요한 토큰 소비를 방지합니다.

워크플로우 개선 기능

  • exec와 앨리어스를 사용하여 복잡한 명령어를 단순화하고 재사용성을 확보합니다.
  • 체크포인트 기능을 활성화하여 실험적인 작업 실패 시 이전 상태로 즉시 복구합니다.
  • ignore user config 모드로 격리 환경을 구축하여 설정 오류를 진단합니다.

빠른 명령어를 통해 반복되는 터미널 작업을 자동화하고, 앨리어스로 명령을 단축하여 작업 속도를 높입니다. 시스템 프롬프트를 일회성으로 변경하는 ephemeral 플래그와 yolo 모드를 통한 권한 승인 자동화는 워크플로우를 가속합니다. 또한, 성격(personality) 명령어로 에이전트의 말투를 변경하거나 체크포인트를 활용하여 개발 도중 발생하는 오류에 대비할 수 있습니다.

Community Posts

View all posts