mu 사용하기
서브 에이전트와 하이브
역할을 정해 서브 에이전트에게 위임하기, 패치로 돌아오는 격리된 편집, 그리고 비들 사이에 무엇이 오갈지 Jev가 정하는 하이브.
mu는 두 가지 방법으로 다른 에이전트에게 일을 넘길 수 있어요. 서브 에이전트는 각자 별개의 작업을 맡고, 하이브는 어려운 문제 하나에 여러 비를 한꺼번에 붙여요.
서브 에이전트
모델은 delegate 도구로 위임하고, 여러분은 /agents로 요청해요. 작업마다 판정기가 난이도에 따라 역할, 모델 등급, 추론 수준을 골라요(swarm.routing). 내장 역할:
| 역할 | 하는 일 |
|---|---|
worker |
편집을 포함해 작업을 해요(기본값) |
scout |
아무것도 바꾸지 않고 코드를 찾아 읽어요 |
planner |
목표를 구체적인 계획으로 바꿔요. 편집하지 않아요 |
reviewer |
코드나 diff에서 버그와 보안 문제를 리뷰해요. 읽기 전용 |
investigator |
아무것도 바꾸지 않고 어려운 문제의 한 측면을 깊이 파고들어요 |
browser |
내장 브라우저로 웹사이트에서 일을 해요 |
직접 만든 역할은 ~/.mu/agent/agents/에 넣어요. 한 번에 최대 3개가 실행돼요. 서브 에이전트는 자기 작업에 맞는 교훈을 받고, 여러분의 반드시 지킬 제약 아래에서 일하고, 대화의 권한 모드를 물려받아요. features.swarm.models는 서브 에이전트를 배정할 수 있는 모델을 값싼 것부터 나열해요. 비어 있으면 모든 서브 에이전트가 세션의 모델을 써요.
격리된 편집
파일을 편집하는 서브 에이전트는 여러분의 저장소 밖에 있는 자체 git 워크트리에서 일하고, 메인 에이전트가 보는 파일 그대로(커밋하지 않은 변경 포함)에서 시작해요. 일이 끝나면 변경 사항이 파일과 줄 수와 함께 패치로 돌아와요. 판정기는 작업, 경로, 줄 수를 보고 패치가 작업 범위 안에 머무는지 확인하고(swarm.patch), 한 줄 조언을 붙여요. 막는 일은 절대 없어요.
그다음은 메인 에이전트가 결정해요. apply_patch_from은 전부 적용하거나 아무것도 적용하지 않고, 커밋이나 스테이징을 하지 않으며, 여러분의 인덱스도 건드리지 않아요. git 저장소 밖에 있거나 rebase나 merge 도중이면, 서브 에이전트는 그 자리에서 편집하고 그 이유를 알려요.
하이브
멀티 에이전트 시스템은 모두 같은 질문에 답해요. 한 에이전트가 아는 것을 다른 에이전트에게 알려야 할까요? 아무것도 알리지 않으면 각자 같은 막다른 길로 들어가요. 모든 걸 알리면 모든 컨텍스트가 다른 에이전트의 잡담으로 가득 차요. 하이브에서는 판정기가 문지기예요.
하이브는 비 2마리에서 6마리로 이루어지고, 비마다 자기 관심사가 있어요. 비는 코드를 읽고, 명령을 실행하고, 브라우저를 쓰지만, 코드를 고치지는 않아요. 그건 계속 메인 모델의 일이에요. /hive <question>으로 하이브를 시작하고, 직접 시도해서 잘 풀리지 않는 문제를 만나면 에이전트가 스스로 시작하기도 해요.
- 게시(
hive.publish). 비가 말을 한 차례 마칠 때마다 판정기가 물어요. 공유할 만한 발견, 막다른 길, 결정, 블로커가 있는가? 있다면 쌓이기만 하는 공유 보드에 올라가요. - 전달(
hive.deliver). 새 메모마다 판정기가 다른 비 하나하나에 대해 물어요. 이것이 그 비의 관심사에 중요한가? 그럴 때만 지시가 아니라 발견이라고 표시해서 전달해요. - 정정(
hive.relate). 나중 발견이 앞선 발견을 뒤집을 수 있어요. 어떤 비가 테스트가 안 돌아간다고 보고했는데, 나중에 다른 비가 환경 변수 하나를 지우니 돌아가는 식이에요. 판정기는 두 메모가 어떤 관계인지 읽어요. 뒤집음, 모순, 뒷받침 중 하나예요. 뒤집힌 발견은 정정이 되어, 옛 발견을 들은 모든 비에게 전달돼요. 모순이면 둘 다 이견으로 남고, 1분 안에 아무도 결론을 내지 않으면 검증 비를 보내 확인해요.
실제 실행 한 번: 비 3마리, 9분, 후보 메모 117개를 판정했고, 27개가 게시됐고, 16개가 그것을 필요로 하는 비에게 전달됐어요. 모든 판정은 그 실행의 판정 장부에 있어요.
지켜보기와 멈추기
/swarm은 각자 무엇을 하는지 보여 주고, /swarm stop은 지금 바로 보고를 요청하고, /swarm kill은 즉시 끝내요. 시간이 다 된 비에게는 보고를 요청하고, 보고하지 않으면 끝내요. 멈춰 버린 모델이나 도구는 워치독이 처리해요. 하이브는 언제나 결과를 가지고 돌아와요.
데스크톱 앱의 하이브 탭에는 비 하나하나와 그 역할, 모델, 지금 하는 말이 나오고, 누가 누구에게 무엇을 보냈는지 그린 지도가 있어요. 전달이 많을수록 선이 굵고, 정정과 이견은 각자 따로 표시되며, 발견이 도착하는 순간 그 선을 따라 빛이 지나가요. 대화 안의 하이브 카드에는 지도의 작은 사본이 들어 있어요.