스크립트
00:00:00매주 새로운 자바스크립트 프레임워크가 쏟아져 나오던 때를 기억하시나요? 글쎄요, 그와 똑같은 현상이
00:00:04이번에는 에이전트 하네스(agent harness) 분야에서 벌어지고 있습니다. 이번에는 보통 돈만
00:00:09굴리던 사람들이 직접 키보드를 집어 들고 코드를 작성했네요. 뭐 사실 클로드(Claude)가 다 했을지도 모르지만요.
00:00:14아무튼 스타트업 액셀러레이터인 Y 콤비네이터(Y Combinator)에서 자체 에이전트 하네스인 qm을 내놓았습니다.
00:00:19슬랙과 웹에서 협업하기 위한 멀티플레이어 에이전트 하네스라고 부르는데, 몇 가지 흥미로운
00:00:24기능들이 있습니다. 게다가 스타트업을 위해 특별히 설계되었죠. 만약 여러분이 수익이 전혀
00:00:29나지 않는 회사를 운영 중이라면 이 도구가 딱일지도 모릅니다. 자, 대체 qm이란 무엇일까요? 깃허브 저장소를
00:00:39읽어보셨다면, 설명을 워낙 엉망으로 해놓아서 해답보다는 의문점이 더 많이 남으셨을 겁니다.
00:00:44'하네스'라는 단어 때문에 노트북에 설치해서 터미널로 실행하는 클로드 코드(Claude Code) 같은 걸 연상하기 쉽지만,
00:00:49실제로는 기업이 자체 인프라에 직접 배포하는 풀스택 웹 애플리케이션이며, 조직의 모든
00:00:54구성원이 그 안에서 각자 격리된 작업 공간을 할당받게 됩니다.
00:01:00그 밑에는 에이전트 루프를 구동하는 헤드리스 백엔드와 세션 히스토리를 저장하는
00:01:05포스트그레스크엘(Postgres)이 있어서, 데이터가 여러분의 로컬 기기에 남지 않습니다. 슬랙과 연동되어
00:01:10사람들이 평소 일하는 곳 어디서나 사용할 수도 있고, 웹 UI를 통해 직접 제어할 수도 있습니다.
00:01:15그러니 한 번 세팅해 두고 잊고 지내고 싶다면 그렇게 하시면 되고, 최신 도구
00:01:19트렌드를 계속 파악하고 싶다면 베터 스택(Better Stack)을 구독해 보세요. 그렇다면 왜 굳이 이걸 써야 할까요? 하나씩 살펴보죠. qm은
00:01:26여러분의 기기가 아니라 클라우드에서 실행됩니다. 즉, 에이전트와 도구 호출이 전부 기기 외부에서 이루어지므로
00:01:32웹에 연결되는 어떤 기기로든 접속할 수 있습니다. 또한 모든 작업 공간에는 전용 스토리지와 연결된
00:01:38독립된 컨테이너가 할당되므로 에이전트가 설치한 모든 것들이 그대로 유지됩니다. 월요일에 파이썬 환경을
00:01:44구축해 놓으면 파일이나 클론한 항목들과 함께 금요일에도 그대로 남아 있죠. 즉 각 작업 공간은
00:01:50자체 상태를 유지하는 실제 머신입니다. 다음 장점은 공유 컨텍스트입니다. 프로젝트를 생성하고
00:01:56팀원을 추가하여 조직 내에서 메모리, 파일, 앱, 커넥터를 서로 공유할 수 있습니다. 즉,
00:02:02한 번만 세팅해 두면 모두가 혜택을 누릴 수 있죠. 기본적으로 모든 사용자에게는 개인 공간이 주어지는데, 이는 사실상
00:02:09비공개로 설정된 프로젝트여서, 나만 접근할 수 있는 항목들만 따로 설정하고 인증 정보 같은 민감한 내용도
00:02:15안전하게 구성할 수 있습니다. 하지만 여러 팀원이 동일한 도구, 파일, 인증 정보에 접근해야 하는 경우라면
00:02:20그 역시 가능합니다. 다만 웹 UI는 현재 어떤 컨텍스트에 들어와 있는지 알려주는 기능을 정말 엉망으로 만들어 놔서,
00:02:26화면 어디를 봐도 내가 지금 어떤 환경을 설정하고 있는지 알 수 있는 정보가 거의 없습니다.
00:02:32여기서 보시다시피 공유 프로젝트를 클릭하면 파일 탭에 해당 프로젝트에 업로드 중임을 알려주는
00:02:37작은 알약 모양 표시가 뜨지만, 다른 탭들에는 지표가 전혀 없습니다. 내가 어떤 컨텍스트에 있는지
00:02:43알려주는 상시 UI 요소가 있을 거라 기대했는데, 곧 추가되겠죠. 다음 장점은
00:02:49하네스 시스템입니다. 클로드 코드처럼 특정 하네스의 작동 방식을 정말 좋아한다면,
00:02:54이를 qm 내에서 실행되도록 설정할 수 있습니다. 여기 보시면 기본 하네스는 pi이지만 클로드로 전환할 수 있고,
00:03:01그러면 익숙하게 쓰던 바로 그 클로드 코드 하네스를 클라우드 환경에서 그대로 실행하게 됩니다.
00:03:06클로드 코드를 저 목록에 넣는 데는 사실 약간의 삽질이 필요했습니다. 관리자가 모든 사용자가
00:03:11선택할 수 있는 하네스를 결정하며, 기본 배포 상태에서는 딱 하나만 제공됩니다.
00:03:16그래서 제 드롭다운 메뉴에는 처음엔 pi만 나오고 다른 건 없었죠. 관리자 패널 어디에도 이를 제어할 UI가 없어서
00:03:21API 호출로 직접 설정해야 했습니다. 하네스 엔드포인트에 PUT 요청을 보내 제가 원하는 두 하네스의 ID를
00:03:27지정하니, 새로고침 후 둘 다 정상적으로 나타났습니다. 다음 장점은 도구 표면적이 정말 작다는 점입니다.
00:03:32이 부분은 정말 마음에 들었는데요. 에이전트에게 주어지는 도구는 단 7개뿐입니다. execute, read,
00:03:38write, publish, memory, history, background가 전부입니다.
00:03:43나머지 작업은 전부 자체 샌드박스 내부의 쉘 명령어로 처리합니다. 따라서 MCP 서버를 산더미같이 연결해 놓고
00:03:49모델이 올바른 것을 고르기를 바라는 대신, 그냥 머신 하나를 통째로 쥐여주고 평소 하던 대로 일하게 만들 수 있죠.
00:03:53클로드 코드가 취하는 방식과도 일치하며, 설계의 핵심에 이런 철학이 녹아 있어 반갑네요. 그렇다면
00:03:58에이전트가 큰 사고를 치지 않도록 하면서 사내 데이터에 접근하게 하려면 어떻게 해야 할까요? 이를 위한 조직 전체 설정이
00:04:033단계로 마련되어 있습니다. strict 모드에서는 거의 모든 도구 호출이 일시 중지되고 사람이 승인할 때까지 기다립니다. auto는
00:04:09기본값으로, 외부 데이터와 도구 결과가 모델에 도달하기 전에 분류기를 거쳐 검사합니다.
00:04:16그리고 dangerous 모드에서는 별도의 스크리닝이나 일시 중지가 없습니다. 각 팀이 자체 범위 내에서 보안을 더 강화할 수는 있지만,
00:04:21조직에서 정한 기준보다 느슨하게 풀 수는 없습니다. 또한 어떤 보안 모드에 있든 공통으로 적용되는 명령어 정책도 있어서,
00:04:27재귀적 삭제나 파괴적인 SQL 같은 작업은 dangerous 모드일지라도 차단됩니다.
00:04:33전사 직원들 앞에 에이전트를 배치하려면 당연히 이런 안전장치가 있어야 하며,
00:04:36모두가 각자의 기기에서 로컬로 에이전트를 돌릴 때는 얻을 수 없는 장점입니다. 전반적으로 볼 때 qm은
00:04:42팀원들이 사내 문서에 대한 접근 권한을 공유하는 강력한 도구가 될 수 있습니다. 관리자로서 인증 정보를 통해
00:04:47외부 도구에 대한 세밀한 접근 제어를 구성할 수 있고, 다양한 프로세스 실행에 관한 파일이나
00:04:52메모를 포함하도록 선택할 수도 있습니다. 프로젝트 누구나 접근할 수 있는 공유 스킬을 만드는 것도 가능합니다.
00:04:58따라서 오늘날 CLI 도구들처럼 각자 고립된 환경을 쓰는 대신, 조직 전체가 모두의 노고로부터
00:05:04혜택을 누릴 수 있게 해주죠. 개인적으로는 살펴볼 가치가 충분하다고 생각합니다. 깃허브에서 이미 13,000개의
00:05:09스타를 받았지만, UI와 UX 측면에서는 아직 개선해야 할 점이 많다고 봅니다. 개발자들을 변호하자면
00:05:14프로젝트가 세상에 나온 지 겨우 2주밖에 되지 않아서 말 그대로 성숙하지 않은 단계입니다. 하지만 잠재력만큼은
00:05:18어마어마합니다. 오픈소스이므로 필요하다면 소스 코드 수정까지 포함해 절대적으로 모든 것을 제어하고 입맛대로 조정할 수 있습니다.
00:05:24더 자세한 내용은 설명란에 링크된 깃허브 저장소를 확인해 보시고요.
00:05:29재미있게 보셨다면 베터 스택 구독도 잊지 마세요. 그럼 다음 영상에서 뵙겠습니다.