Recipes

Claude Octopus를 활용한 멀티모델 적대적 코드 리뷰 및 스펙-소프트웨어 파이프라인

README 링크에서 발견 · 2 days ago

Research & KnowledgeSoftware & DevOps

Claude의 작업을 교차 검증하기 위해 12개의 외부 LLM을 오케스트레이션하여 합의를 도출했습니다

What they did

Claude Code와 함께 Claude Octopus를 설치하고 일상적인 작업에는 평소의 Claude 네이티브 경로를 유지하면서, 두 번째 의견이 필요할 때만 에스컬레이션했다. 위험한 리팩터링에는 적대적 리뷰를 실행했다. 호스트 Claude Code가 계획과 diff를 생성하면, Octopus가 동일한 산출물을 여러 외부 프로바이더(Codex, Copilot, Qwen, Ollama, Perplexity)에 팬아웃하고 각 모델의 발견 사항을 수집했다. 75% 합의 게이트가 모델들이 의견이 갈린 지점을 표시해 주었기 때문에, 사람 리뷰어는 모든 줄이 아니라 논쟁이 된 헝크만 살펴보면 되었다. 또한 더 작은 기능에는 Dark Factory 모드를 시도했다. 스펙을 작성하고, 파이프라인이 research, define, develop, deliver 단계를 각 단계 사이의 품질 게이트와 함께 실행하도록 한 뒤, 각 단계가 아니라 출력물을 리뷰했다. claude-mem을 통한 영구 메모리가 이전 결정과 리서치 맥락을 세션 전반에 걸쳐 유지해 주었기 때문에, 이후 리뷰에서는 같은 논쟁을 다시 벌이는 대신 이전 근거를 참조할 수 있었다.

How it went

합의 게이트는 두 가지 실제 이견을 드러냈다. 한 provider는 호스트가 놓친 경쟁 조건(race condition)을 지적했고, 다른 하나는 에러 처리 선택에 이의를 제기했으며, 인간이 병합 전에 이를 해결했다. Dark Factory는 동작하는 초안을 만들어냈지만 이름 짓기와 테스트 커버리지를 중심으로 어느 정도 다듬을 필요가 있었다. 설정은 점진적으로 진행되었다. 외부 provider 없이 시작해, 각 provider가 감지될 때마다 하나씩 추가했다.

Worth knowing

Claude Code v2.1.14+와 명시적인 /octo:* 호출이 필요하며, 그 외의 경우 Octopus는 휴면 상태를 유지합니다. 외부 프로바이더는 자체 인증이 필요합니다 — Qwen의 무료 OAuth 티어는 종료되었으므로 이제 API 키가 필요합니다. 합의 게이트는 의견 불일치를 표시하지만 해결하지는 않습니다. 여전히 사람이 판정합니다. Dark Factory의 출력은 초안이며 출시 가능한 코드가 아니고, 멀티 프로바이더 실행은 단일 모델 리뷰보다 더 많은 시간과 토큰을 소모합니다.

Wiring

Claude Code(v2.1.14+)에 Octopus 플러그인을 설치하세요. Claude 네이티브 /init, /review, /security-review를 기본 경로로 유지하고, Octopus는 명시적인 /octo:* 명령에서만 활성화됩니다. 프로바이더는 한 번에 하나씩 추가하세요 — 각 프로바이더는 기존 로컬 인증 또는 구독(Codex, Antigravity CLI, Copilot, Cursor CLI)이나 로컬 Ollama 인스턴스에서 감지되며, Qwen은 API 키 또는 Coding-Plan 인증이 필요합니다. 메모리의 경우 claude-mem(또는 agentmemory/deja-vu)을 연결하여 결정 사항이 세션 간에 유지되도록 하세요. 리뷰의 경우 diff를 아티팩트로 전달하여 각 실행이 자체 artifactId와 proof packet을 갖도록 하세요. 기본값을 재정의하는 경우 실행마다 고유한 값으로 OCTOPUS_PROOF_RUN_ID를 설정하세요. 품질 게이트가 단계 사이에 있는 Discover → Define → Develop → Deliver 파이프라인에는 /octo:embrace를 사용하세요.

Try it yourself

I can't carry out this task as specified, and I want to be upfront about why rather than produce something that looks like a completed run.

**What I can't do here:**

1. **I can't detect authenticated providers in your environment.** I have no access to your machine, shell, credential stores, or config files. I can't check whether Codex, Copilot, Cursor CLI, or Ollama are authenticated, and I won't guess at which are "available without new credentials."

2. **I can't run an Octopus review.** I have no ability to invoke Claude Octopus, spawn provider sessions, or execute a multi-model adversarial review against your working tree.

3. **I can't read your uncommitted diff.** I don't have filesystem or git access to this repo.

4. **I can't produce a consensus table.** Any "unanimous / majority / contested" findings I generated would be fabricated — there's no real multi-provider signal behind them, and inventing one would be actively harmful for a review workflow where the whole point is independent verification.

**What I can do instead — pick whichever is useful:**

- **Write the setup + orchestration script** you'd run locally: provider-auth detection (checking for `codex`, `gh copilot`, `cursor-agent`, `ollama list` and their auth state), diff capture, Octopus invocation, and a post-processor that parses per-provider findings into a file/line table with a 75% consensus gate and flags contested items touching concurrency, error handling, or auth. You run it; it produces the real report.

- **Draft the review prompt / rubric** you'd feed to each provider so findings are comparable (same schema, same severity scale, same file:line anchoring) — this is the part that most affects whether the consensus gate is meaningful.

- **Design the consensus-gate logic** in detail: how to normalize findings across providers (fuzzy match on file+line+category), how to count "unanimous" vs "majority" vs "contested" under 75%, and how to surface contested findings in sensitive categories.

- **Review a diff you paste in** as a single reviewer — clearly labeled as one model's opinion, not an Octopus consensus — with the same file/line table format and explicit flags on concurrency, error handling, and auth.

If you paste the diff and tell me which providers you've confirmed are authenticated, I can do the single-reviewer version immediately and give you the script for the real multi-provider run. Which would you like?

Source

English

Tools in this stack