Communitygithub.com

assemble – 다중 모델 반복 검토 루프

네 개의 모델이 번갈아 가며 하나의 답변을 개선하고 검증합니다. 각 모델은 빌더, 회의론자, 경계 사례, 단순화 역할을 번갈아 수행하며 총 36턴(또는 조기 수렴 시 중단) 동안 진행됩니다.

assemble – 다중 모델 반복 검토 루프란 무엇인가요?

이 기술은 여러 AI 모델을 활용하여 하나의 솔루션, 디자인, 계획 또는 코드를 신속하게 교차 검증하고 개선하는 데 사용됩니다. 기본 일정은 4x4, 3x4, 2x4 블록으로 구성되어 최대 36턴까지 진행되며, 답변이 수렴하면 조기 종료됩니다. `/assemble` 명령어로 시작할 수 있으며, 각 턴은 이전 턴의 비판과 현재 최고 답변을 읽고 역할에 따라 개선된 버전을 생성하는 방식으로 작동합니다. 진행 상황은 대화 내역이 아닌 파일에 저장되므로 각 턴은 신선한 컨텍스트로 시작합니다. Cursor, Claude Code, Kiro 등 다양한 플랫폼을 지원하며, 인툴 서브에이전트, 벤더 CLI, 또는 단일 모델 모드를 통해 실행할 수 있습니다. 선택적으로 코드 검사, 비용 추정, 중단 후 재개 기능도 제공합니다.

지원 대상✓Claude Code✓Codex CLI✓Cursor✓Gemini CLI
npx skills add https://github.com/DigiAye/agent-skills/tree/HEAD/skills/assemble

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

assemble

네 개의 모델, 하나의 답변, 여러 라운드. 각 턴은 현재 최고 답변을 읽고, 주어진 역할에서 비판한 뒤 개선된 버전을 작성합니다. 진행 상황은 대화가 아닌 파일에 저장되므로 모든 턴이 새로운 컨텍스트로 시작됩니다 (Ralph Wiggum 기법).

명령어

명령어수행할 작업
assemble <task>기본 일정(36턴)으로 실행을 시작합니다.
assemble --quick <task>2패스 x 4모델 (8턴) 블록 하나만 실행합니다.
assemble resume [<slug>]가장 최근(또는 지정된) 완료되지 않은 실행을 계속합니다.
assemble cancel [<slug>]상태 파일에 status: cancelled를 설정하고 중지합니다.
assemble status반복 횟수, 블록, 열린 MUST 항목 및 사용된 모델을 표시합니다.

시작 전

  1. .assemble/config.json이 있으면 로드하고, 없으면 assets/config.example.json을 로드합니다.
  2. 모델 어댑터를 선택하고(아래 참조) 사용자에게 어떤 네 개의 모델이 실행될지, 그리고 작업 텍스트가 어디로 전송될지 알립니다. 어떤 모델이 allowedModels 밖에 있거나 localOnly가 true인데 모델이 원격이면 해당 모델을 제외하고 그 이유를 알립니다.
  3. 작업과 수용 기준을 짧은 단락 하나로 다시 설명합니다. 작업이 불명확하면 라운드를 시작하기 전에 사용자에게 문의합니다.
  4. .assemble/<slug>/ 디렉토리를 만들고 task.md, answer.md(비어 있음), state.md를 references/state-format.md에 설명된 대로 생성합니다. .assemble/이 .gitignore에 있는지 확인합니다.

일정

라운드는 한 모델의 턴입니다. 패스는 네 모델이 각각 한 턴씩 순서대로 수행하는 것입니다.

블록패스턴누계
141616
231228
32836

턴 36 이후에는 보고서를 표시하고 사용자에게 다른 블록을 실행할지 묻습니다. 묻지 않고 36턴을 넘기지 마십시오.

각 패스마다 역할이 순환하여 모든 모델이 모든 역할을 수행합니다: 패스 p(0부터 시작)에서 모델 m은 references/roles.md의 roles[(m + p) % 4] 역할을 수행합니다.

각 턴

턴 프롬프트는 파일만 사용하여 references/handoff-format.md를 참고해 구성합니다:

  • task.md
  • 현재 answer.md
  • 이전 턴의 비판 (가장 최근 round-NN.md에서)
  • 이번 턴의 역할 카드

이전 라운드는 포함하지 않고, 현재 답변을 작성한 모델이 누구인지 언급하지 않습니다. 그런 다음:

  1. 선택한 어댑터를 사용하여 이번 턴의 모델에 프롬프트를 전송합니다.
  2. 응답을 구문 분석하여 비판(각 이슈는 MUST 또는 NICE로 태그 지정), 수정된 답변, 판정으로 나눕니다.
  3. 작업이 코드이고 checks가 설정된 경우, 수정된 답변을 스크래치 복사본에 적용하고 검사를 실행한 후 실패한 항목을 비판에 MUST 항목으로 추가합니다.
  4. round-NN.md(역할, 모델 ID, 비판, 검사 결과, 판정, 줄 차이 크기)를 작성하고 answer.md를 수정된 답변으로 덮어씁니다.
  5. state.md를 업데이트합니다: 반복, 블록, 패스, 열린 MUST 개수, 변경 없음 연속 횟수.
  6. 사용자에게 한 줄 진행 메모를 제공합니다: 라운드 7/36 · 회의론자 · MUST 2개, NICE 1개 · diff 14줄.

모델에서 오류가 발생하거나 시간이 초과되면 round-NN.md에 기록하고 턴을 건너뛰고 계속 진행합니다. 두 모델이 연속으로 실패하면 일시 중지하고 사용자에게 알립니다.

중단

턴이 MUST 항목을 제기하지 않고 answer.md의 noChangeLines 줄보다 적은 줄을 변경한 경우 변경 없음으로 간주합니다.

다음 중 하나에 해당하면 조기 중단합니다:

  • 연속 4턴(전체 패스)이 변경 없음인 경우, 또는
  • 턴이 <promise>CONVERGED</promise>로 끝나고 다음 턴이 MUST 항목 없이 이를 확인한 경우.

열린 MUST 개수가 전체 블록 동안 감소하지 않으면 중단하고 간단한 "멈춤" 메모를 작성합니다: 무엇이 막고 있는지, 무엇을 시도했는지, 사용자가 막힌 것을 해결하기 위해 결정할 수 있는 사항.

보고서

실행이 종료되면 .assemble/<slug>/report.md를 작성하고 표시합니다:

  • 최종 답변
  • 실행된 라운드 수와 중단 이유
  • 각 블록의 주요 변경 사항
  • 해결되지 않은 NICE 항목
  • 사용된 모델(실패 포함)
  • 대략적인 토큰 및 비용 추정(프롬프트 및 응답 크기의 합, 설정에 가격이 제공된 경우 곱함)

모델 어댑터

사용 가능한 첫 번째 어댑터를 사용하고, 사용자에게 선택한 어댑터를 알립니다.

  1. 도구 내 서브에이전트. 호스트가 서브에이전트를 생성하고 모델을 선택할 수 있는 경우 턴당 하나의 서브에이전트를 사용합니다. Cursor는 공급업체를 혼합할 수 있습니다. Claude Code와 Kiro는 여기서 Claude 모델만 제공하므로 네 개는 Claude 변형입니다.
  2. 벤더 CLI. 턴당 한 번씩 scripts/run-model.sh <model-id> <prompt-file>을 실행합니다. 이는 진정한 다중 벤더 옵션입니다. 실행을 시작하기 전에 각 CLI가 존재하는지 확인합니다(command -v).
  3. 단일 모델. 모든 턴을 스스로 실행하며 해당 턴의 역할을 수행합니다. 해당 턴의 파일만 읽고 각 턴을 새로운 시작으로 취급합니다.

무인 실행을 위한 Claude Code 중단 후크와 같은 선택적 도구별 도우미는 저장소의 adapters/ 폴더에 있습니다.

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

관련 스킬