무엇을 하는 루프인가
Google AI Co-Scientist 의 generate → review → rank → evolve 멀티 에이전트 흐름을 GEODE 의 Petri seed 생성에 이식한 루프입니다. 한 target_dim (예: redundant_tool_invocation) 에 대해 후보 seed 들을 생성하고, 3-voter Elo 토너먼트로 순위를 매기고, 상위 survivor 를 evolver 가 변이시켜 다음 세대로 넘깁니다. plugins/seed_generation/orchestrator.py의 Pipeline.arun 이 phase 순서대로 sub-agent 를 fan-out 합니다.
Phase 순서 (iteration 0, 초안 생성)
supervisor 전략 합성 → state.supervisor_guidance + phase_guidance.* literature_review 외부 논문 분석 (max_papers > 0 일 때만) generator 후보 seed 생성 (debate_transcripts 다중 턴) proximity 유사도 클러스터링 → similarity_clusters critic 후보별 reflection (target_dim 기준) pilot 후보 pilot 채점 → pilot_scores[cid][dim] ranker 3-voter Elo 토너먼트 → elo_ratings + survivors evolver survivor 변이 → evolved_candidates meta_reviewer coverage / gap 분석 → next_gen_priors
Iteration 1..N (반복 사이클)
max_iterations ≥ 1 이면 meta_reviewer 이후 evolved_candidates 를 candidates 로 승격하고 아래 5 phase 만 다시 돕니다. supervisor / literature / generator / proximity 는 재실행하지 않습니다 (새 초안이 아니라 진화된 후보를 다듬는 단계이므로).
critic → pilot → ranker → evolver → meta_reviewer (× N)
Elo 토너먼트 (ranker)
각 후보는 1000 에서 시작합니다. 매치마다 3-voter 패널이 투표하고, 과반(≥2/3)이면 A 또는 B 가 승자, 그 외에는 tie(0.5/0.5)로 처리되어 양쪽 rating 이 갱신됩니다. 유효 표가 2 미만이면 quorum_lost 로 매치를 건너뛰고 rating 은 불변입니다. Elo 는 R += K · (S - E) (K=32, E 는 로지스틱 기대값)로 갱신됩니다. 최종 rating 상위 5 가 survivor 입니다. 자세한 식은 plugins/seed_generation/tournament.py + 토너먼트 페이지의 "how Elo is computed" 참고.
참조: plugins/seed_generation/orchestrator.py (_PHASE_ORDER / _ITERATION_PHASE_ORDER), plugins/seed_generation/agents/ranker.py, plugins/seed_generation/tournament.py. 개발 워크플로우(worktree → PR → merge)를 다루던 이전 cycle-skill 문서와는 별개입니다.