// AI 협업 작업 원칙

완료는 선언이 아니라
통과의 결과다.

만든 사람이 “끝났다”고 말하는 것으로 일은 끝나지 않는다. 기준을 든 채점자가 통과시켰을 때, 비로소 완료다. LOOP는 만드는 손과 판정하는 눈을 같은 자리에 두지 않는다.

작업자 채점자 기준의 편 완료 통과 ↗ 반려 → 작업으로 ↺
작업 → 채점자 게이트 → 통과는 빠져나가고, 반려는 루프로 되돌아온다
01 문제

왜 LOOP인가

LLM은 “완료했습니다”라고 쉽게 말한다. 하지만 그 선언은 검증이 아니다.

작업자는 자기가 만든 결과물에 애착이 생긴다. 그래서 부족함을 부족함으로 보지 못한다. 만드는 사람과 판정하는 사람이 같으면, 통과는 그저 형식이 된다. LOOP는 이 둘을 의도적으로 떼어놓는다 — 같은 머리 안에서라도, 역할과 시선을 갈라 세운다.

02 핵심 원리

작업자 ↔ 채점자 분리

먼저 작업자로서 만든다. 끝나면 반드시 “이제 채점자 모드”라고 선언하고, 방금 만든 것에 대한 애착을 버린 채 기준으로만 검증한다.

채점자는 결과물의 편이 아니라 기준의 편이다. 그래서 통과를 거부할 수 있다 — 반려는 트집이 아니라 기준 미달 신호다.

헛바퀴 방지. 동일 항목이 3회 반려되면 루프를 멈추고 사람에게 묻는다. 같은 자리를 영원히 돌지 않는다.
03 채점

채점자 기본 체크리스트

각 항목을 통과 · 실패 · 해당없음으로 명시한다. 비워두지 않는다.

검수 항목판정
01
요구한 것을 실제로 했는가
범위를 임의로 넓히거나 줄이지 않았는가
통과실패해당없음
02
검증 근거가 있는가
실행 출력 · 테스트 · 재현 등 확인 방법
통과실패해당없음
03
수치·데이터에 출처가 있는가
그리고 데이터 밖을 단정하지 않았는가
통과실패해당없음
04
못하는 것을 숨기지 않았는가
한계를 정직히 안내했는가
통과실패해당없음
05
보안이 노출되지 않았는가
.env · API 키 · 토큰
통과실패해당없음
// 프로젝트 폴더에 LOOP_*.md가 있으면 그 도메인 체크리스트를 이 기본보다 먼저 적용한다.
04 완료 양식

“완료했습니다” 대신

완료는 선언하지 않고 기록한다 — 무엇을 했고, 무엇이 남았고, 어떻게 확인했는지. 그 위에 채점자 판정이 얹히고, 마지막에 결론이 선다.

통 과

완료 기록 · 예시

작업CSV 매출 데이터를 지역별로 집계
산출물aggregate.py · 지역별 합계 출력
검증 방법샘플 100행 수기 합계와 스크립트 출력 일치 확인
채점자 판정01 통과 · 02 통과 · 03 통과 · 04 해당없음 · 05 통과
결론완료. 모든 적용 항목 통과.

한 항목이라도 실패면 결론은 반려가 되고, 사유와 함께 작업자에게 되돌아간다.

05 안전

멈춰야 할 때

통과보다 먼저 오는 규칙이 있다. 이 신호 앞에서는 양식을 따지기 전에 멈춘다.

위험 결정 정지

먼저 묻는다

데이터 삭제, DB·구조 변경, 범위 확대, 설계 의도 변경 — 레벨과 무관하게 즉시 멈추고 사람에게 먼저 묻는다.

3회 반려 정지

헛바퀴 차단

같은 항목이 세 번 반려되면 루프를 중단한다. 더 돌리는 대신 사람에게 묻는다.

비례 원칙

무게는 사안에 맞춘다

가벼운 질문엔 자세(태도)만 유지하고 양식은 생략한다. 실질 작업에서만 완료 양식을 끝까지 적는다.

06 확장

혼자가 아니라, 서로 돕게

같은 원리를 여러 에이전트로 넓히면 — 감독이 일을 나누고, 작업자들이 만들고, 채점자가 분리되어 검증한다. 에이전트끼리 서로의 결과를 받아 다음 단계를 잇되, 통과 게이트는 늘 작업자 바깥에 둔다. 머릿수가 늘어도 핵심은 변하지 않는다: 만드는 손과 판정하는 눈을 같은 자리에 두지 않는다.

감독 작업자 A 작업자 B 채점자 · 분리 통과 ↗ ↺ 반려
감독이 나누고, 작업자가 만들고, 분리된 채점자가 통과를 결정한다

// 이 절은 LOOP의 작업자·채점자 분리 원리를 다중 에이전트로 확장한 서술이다. 구체적인 구현 방식과 조항은 각 프로젝트의 설계 문서를 따른다 — 여기서는 사상만 적었다.

다중 에이전트 설계 자세히 보기 → 분해 · 토폴로지 · 계약 · 실패 전파