Ouroboros
08

8. 평가

7장에서 runtime이 할 일 앱을 만들었습니다. 평가는 그 결과가 Seed의 완료 기준을 충족했는지 검증하는 절차입니다.

Ouroboros 0.50.4upstream 456a1342026-07-16 문서·코드 확인

8.1 무엇을 하는가

ooo evaluate는 실행 결과를 3단계로 검증합니다. 실행이 끝났을 때, 또는 평가가 자동으로 이어지지 않았을 때 사용합니다. 입력으로는 실행이 출력한 session_id가 필요합니다.

8.2 실행

Claude Code 대화창에서 실행합니다.

ooo evaluate <session_id>

정상 결과: 단계별 통과 여부와 완료 기준 충족 판정이 표시됩니다. 공식 문서 기준으로 run이 끝나도 정식 평가 전에는 검증되지 않은 상태일 수 있으므로, 평가가 자동으로 이어지지 않았다면 직접 실행합니다.

8.3 3단계 평가

Mechanical, Semantic, Consensus 세 관문을 차례로 통과하는 도해
값싼 검사가 비싼 검사보다 먼저 실행됩니다. 앞 단계에서 실패하면 뒤 단계는 실행되지 않습니다.
단계내용통과 조건
1. Mechanical프로젝트 종류를 자동 감지해 lint, build, test, 정적 분석, 커버리지 명령을 실행합니다. LLM을 쓰지 않습니다.모든 검사의 정상 종료. 커버리지 기본 기준 70%
2. SemanticLLM이 결과물을 Acceptance Criteria와 대조하고 점수를 매깁니다.기준 충족 판정 + 점수 0.8 이상
3. Consensus여러 모델이 독립적으로 승인 여부를 투표합니다. 특정 조건에서만 실행됩니다.3분의 2 이상 승인
Consensus가 실행되는 6가지 조건

2단계 통과 후 아래 조건을 우선순위 순서로 검사하고, 처음 일치하는 조건 하나가 3단계를 실행시킵니다. 어느 것에도 해당하지 않으면 즉시 승인됩니다.

  1. Seed가 수정된 경우
  2. Ontology(데이터 구조)가 바뀐 경우
  3. Goal이 재해석된 경우
  4. Drift 점수가 0.3을 넘은 경우
  5. 2단계 판정의 불확실성이 0.3을 넘은 경우
  6. 대안 접근이 채택된 경우

이와 별개로, 사용자가 Consensus 실행을 직접 요청한 경우에는 위 조건보다 우선해 실행됩니다.

Drift는 결과가 원래 Seed의 의도에서 얼마나 멀어졌는지 나타내는 0~1 사이 값입니다. 낮을수록 원래 방향을 지킨 것입니다. Drift가 낮아도 기능이 맞다는 뜻은 아니므로 완료 기준 판정과 함께 봅니다.

8.4 결과물 직접 확인

평가 통과 문구만 읽고 끝내지 않습니다. 할 일 앱 예제라면 작업 폴더의 앱을 브라우저에서 직접 열고, Seed의 Acceptance Criteria를 하나씩 재현합니다.

  1. 빈 제목이 추가되지 않는지 확인합니다.
  2. 할 일을 추가하고 새로고침한 뒤에도 남아 있는지 확인합니다.
  3. 완료 체크가 즉시 표시되고 저장되는지 확인합니다.

8.5 ooo qa와의 차이

ooo evaluate는 실행 세션 전체를 검증하는 정식 절차입니다. ooo qa는 파일이나 텍스트 하나를 품질 기준과 한 번 비교하는 단건 검사입니다.

ooo qa

정상 결과: pass, revise, fail 중 하나의 판정과 근거가 표시됩니다. 점수 0.80 이상이 pass, 0.40 미만이 fail입니다. 실행 세션이 없어도 사용할 수 있습니다.

8.6 완료 기준