QM: 작업을 위한 멀티플레이어 에이전트 허브
QM은 개인용 비서에서 조직 도구로 AI 에이전트를 이동하도록 설계된 멀티플레이어 에이전트 허브입니다. 스타트업 직원은 공유 채널, 그룹 메시지 및 프로젝트에서 에이전트와 협업하면서 격리된 개인 작업 공간을 유지할 수 있습니다.
범위 지정 메모리와 협업 환경
QM은 범위 지정 아키텍처를 구현하여 회사 전체 에이전트 배포의 복잡성을 해결합니다. 단일 단일석 에이전트 대신, QM은 데이터와 권한에 대한 명확한 경계를 제공합니다:
- 개인 범위: 각 사용자는 자신의 메모리, 파일, 키체인 뷰, 권한 및 내구 샌드박스를 갖춘 격리된 작업 공간을 가집니다.
- 공유 범위: 에이전트는 Slack 채널 및 프로젝트에서 작동할 수 있으며, 여기서 메모리와 도구는 그룹 간에 공유됩니다.
이 구조는 사용자가 동료에게 영향을 주지 않고 에이전트를 특정 요구에 맞게 맞춤 설정할 수 있도록 보장하면서도 팀 전체 조정을 위해 에이전트를 활용할 수 있게 합니다.
기술 아키텍처 및 모델 불가지론
QM은 헤드리스 코어로 구축되어 에이전트 로직을 인터페이스 및 기본 LLM과 분리합니다.
핵심 구성 요소
- 헤드리스 코어: TypeScript(Node.js)에서 Fastify를 사용하여 작성된 코어는 ID, 정책 및 스케줄링을 관리합니다.
- 에이전트 루프: 시스템은 모델에 구애받지 않으며, Pi, OpenCode, Codex 및 Claude Code와 같은 다양한 허니스를 지원합니다.これにより、オペレーターはコアデプロイを変更せずにモデルを切り替えることができ、ベンダーロックインを防ぎます。
- 영속성 계층: Postgres 데이터베이스는 세션, 메모리 및 작업 큐를 저장합니다.
- 범위별 샌드박스: 각 범위에는 에이전트가
execute도구를 통해 명령을 실행할 수 있는 내구 샌드박스("내구 컴퓨터"라 함)가 있습니다. 이 샌드박스에 설치된 도구는 세션 간에 지속됩니다.
인터페이스 플러그인
코어는 다양한 인터페이스가 플러그인할 수 있는 HTTP API를 제공합니다:
- Slack: Bolt를 사용하는 선택적 인프로세스 플러그인입니다.
- 웹 UI: Lit을 사용한 Vite 기반 프론트엔드 렌더링입니다.
- 관리자 패널 & 공개 포털: 조직 관리를 위한 선택적 플러그인입니다.
보안 자세 및 비밀 관리
QM은 사용자를 대신하여 행동하는 에이전트가 해당 사용자의 특정 자격 증명과 권한을 활용하는 보안 모델을 따릅니다. 위험을 관리하기 위해 관리자는 세 가지 보안 자세 중 하나를 설정할 수 있습니다:
- 엄격: 턴 종료 명령을 제외하고 모든 도구 호출에 인간 승인이 필요합니다.
- 자동 (기본값): 분류기가 모델에 도달하기 전에 외부 데이터 및 도구 결과를 검사합니다.
- 위험: 콘텐츠 검사 또는 도구 호출 간 일시 중지가 없습니다.
어떤 자세이든, 사전 선언된 명령 정책은 재귀적 삭제 또는 파괴적인 SQL 쿼리와 같은 파괴적인 작업에 대한 하드 거부를 적용합니다.
배포 및 커스터마이징
QM은 데이터 주권을 보장하기 위해 운영자 자신의 클라우드 계정(AWS 및 Fly.io 지원) 내에 배포하도록 설계되었습니다.
배포 옵션
- 표준 배포:
qmCLI를 사용하여 사용자는 전체 소스 체크아웃 없이 인프라 및 커넥터 자격 증명을 관리하는 배포 저장소를 초기화할 수 있습니다. - 개인 포크: 깊은 커스터마이징이 필요한 조직을 위해 QM은 개인 포크 전략을 지원합니다. 일반 클론(GitHub 포크가 아님)을 만들고 조직별 구성을
deploy/layers/<org>/에 배치함으로써 팀은 커스터마이징을 비공개로 유지하면서 업스트림 코어와 바이트 동일성을 유지하여 병합을 쉽게 할 수 있습니다.
실제 사용 사례
QM은 다음과 같은 높은 leverage 조직 워크플로를 가능하게 합니다:
- 회사 뇌 검색: 내부 노트, 이메일, 문서 및 데이터베이스를 동시에 검색합니다.
- 받은 편지함 triage: 과거 이메일에서 사용자의 작성 목소리를 학습하여 답변을 초안화하고 일정에 따라 받은 편지함을 레이블링합니다.
- 리포지토리 관리: 코드베이스 내에서 테스트 실행, PR 열기 및 CI/CD 로그 모니터링을 직접 수행합니다.
- 내부 앱 게시: 맞춤형 내부 웹 앱을 스핀업하고 특정 사용자 그룹에 배포합니다.
커뮤니티 통찰 및 관점
QM에 대한 논의는 멀티플레이어 에이전트의 잠재력과 현재 AI 환경의 과제를 강조합니다. 일부 개발자는 멀티플레이어 에이전트의 어려움이 루프 자체가 아니라 "컨텍스트와 권한의 범위 지정"이라는 점을 지적했는데, 이는 QM이 명시적으로 해결하는 문제입니다.
그러나 일부 비평가는 "멀티플레이어" 에이전트의 유용성에 대해 회의적이며, 이들이 단순히 정교한 작업 스케줄러인지 아니면 에이전트가 서로 대화하면서 구체적인 결과를 내지 않는 "에이전트가 에이전트와 대화하는" 사이클을 만들 위험이 있는지 의문을 제기합니다. 또한 QM의 독특한 기여 모델에 대한 주목할 만한 논의도 있는데, 이는 AI 생성 "슬롭"을 방지하기 위해 코드 PR 대신 인간이 작성한 텍스트 변경 설명을 요청하기 때문입니다.
"멀티플레이어 에이전트에서 가장 어려운 문제... 에이전트 루프가 아니었습니다. 범위 지정이고 QM의 개인별 범위 및 공유 방은 회사 전체 어시스턴트에 대한 합리적인 답변입니다." — @handle
"에이전트에게 자체 Slack 채널을 주었고,それが他のエージェントとのミーティングをスケジュールし始めました。私はこれまで中間管理職のように感じたことはありませんでした。" — @handle
Sources
- HNqm