3.6 KB · 수정 2026-07-17 03:13
목차

KB 대량 확장 루프 (kb-bulk-loop) — 루프 지시문 겸 설계서

selflearn.py(주1회·1건)의 대량 1회성 버전. /loop 세션이 오케스트레이터, 데이터·상태는 전부 파일. 매 반복 이 파일 전체를 다시 읽는다. 컴팩트된 기억과 이 파일이 충돌하면 이 파일이 이긴다.

불변핵심 (수정 금지 규칙)

상태 파일 (전부 이 디렉터리)

파일 역할
learn_topics.json 작업 큐. 소진 = 완료 조건
loop_state.json {done, skipped, failed, streak_fail, last_key} — 루프 진행 카운터
learn_candidates.json 산출: pending append (module·key·요약·출처·게이트결과)
learn_history.json reject 이력 = 재조사 방지

반복 절차 (매 wake)

  1. 이 파일 + loop_state.json + learn_topics.json 재독.
  2. 종료 판정: 큐 비었거나 streak_fail>=3 → notify-done 발송, ScheduleWakeup 생략 (루프 끝).
  3. 큐 head 주제 1건 → 중복 게이트(기계적 key 대조). 중복이면 skip 기록 후 7로.
  4. 조사: 서브에이전트(신선한 컨텍스트, WebSearch/WebFetch만)에 위임. 반환 = "사실 요약 + 출처 URL"만. 원문 덤프를 메인 컨텍스트에 반입 금지.
  5. 적대검증: 별도 서브에이전트 — 조사 결과 refute 시도 + KB-00 충돌 체크. refuted → learn_history.json에 reject 기록.
  6. 통과분만 learn_candidates.json에 pending append.
  7. loop_state.json·learn_topics.json 갱신 (.lock 규약).
  8. 5건마다 notify-step(done/전체). 실패 건은 즉시 notify-step에 실패 명시.
  9. ScheduleWakeup 90~270초 (연속 작업 = 캐시 유지 구간).

실행 / 재개

원칙 매핑 (설계 근거)

세션 원칙 이 설계에서
데이터는 컨텍스트 밖 조사 원문은 서브에이전트 안에서 소멸, 메인엔 요약만
불변핵심 파일 고정 이 파일 상단 + KB-00, 매 반복 재독
신선 컨텍스트 조사·검증 각각 별도 서브에이전트
검증 게이트 3중 기계적 중복제거 → 적대검증 → 페페 승인
세션 = 소모품 loop_state.json에서 무조건 재개 가능
원격 감시 notify-step 5건 단위 + 실패 즉시