← 목록
기타 2026-07-05 7KB 읽기 6분

t2 컴포저 고도화 — 학습 함수 조합 완전 서비스화

개요

크라우니브레인 L2(t2) = 학습DB 단위 함수를 조합해 복합 요청을 토큰0으로 조립하는 능력. 기존 복합컴포저.한선은 공백구분 사전토큰(예: "배송비_계산 환불_판정")만 처리 가능했고, 자연어 복합요청("배송비 계산하고 환불 판정")은 단어단위로 쪼개져 단위MISS로 실패했다. 이번 작업은 ①의도분해 ②조합품질 확인 ③검증 수렴 재시도 루프 ④brain.sh 배선까지 4개 고도화 포인트를 적용하고, 오늘 학습된 실세션 인텐트로 구성한 10건 벤치로 검증했다.

무엇을 했는지

1. 의도 분해 강화 — 의도분해.한선 (신규)

  • 경로: /Users/ef/Downloads/CrownyTVM/crownycode-agent/partner-tools/의도분해.한선
  • 복합 요청을 그리고/하고/및/ 과 / 와 /+/, 경계로 세그먼트 분리(긴 연결어 우선 치환 — 겹침 방지).
  • /양쪽 공백이 있을 때만 경계로 인정 — "결과 캐싱"처럼 단어 말미 음절(결과의 '과')과
겹쳐 오분해되는 것을 실측으로 확인하고 방지(" 과 "/" 와 "로 제한).
  • 파일존재() 대신 읽기()+글자수 가드 사용(VM 함정: 파일존재는 항상 -1).
  • 컴파일 검증 완료(hanseonc_high 통과), 단독 실행 테스트로 분해 정확성 확인.

2. 조합 품질 — 크라우니도구.shcmd_compose 재작성

  • 경로: /Users/ef/Downloads/CrownyTVM/crownycode-agent/partner-tools/크라우니도구.sh
  • 2단 분해: ①의도분해.한선로 자연어 경계 분해 → 세그먼트별 lookup
②세그먼트 자체가 MISS면 공백으로 재분해해 기존 사전토큰 호출 방식과 하위호환.
  • 부품 중복 함수명 드랍·임포트 통합·데모 출력줄 순차병합은 기존 복합컴포저.한선 로직을
그대로 재사용(이미 충돌드랍/대표함수체인 로직 보유 — 검증 결과 변경 불필요로 판단, 손대지 않음).

3. 검증 수렴 루프 (신규) — 최대 K=5

  • cmd_compose 내부에 조합→검증 루프 추가. 실패 시 repair_compose_failure()
hanseonc_high 오류 메시지(미정의 함수 (undefined function) '이름' 등)를 파싱해 해당 함수 호출식만 리터럴 0으로 치환(줄 전체 삭제 아님 — 좌변 변수가 계속 정의된 채 유지되어 연쇄 미정의변수 오류를 만들지 않음, 실측으로 확인/개선).
  • 실측 검증: 합성 실패 케이스(부품2가 존재하지 않는 헬퍼함수 호출)를 주입 → 1차 컴파일 실패 →
자동 수리 → 2차 컴파일+실행 성공(A결과|11, B결과|0)으로 수렴 확인.
  • 실제 벤치 10건은 전부 1차 시도에서 통과해 수리 루프가 발동하지 않았음 — 정직히 보고.

4. brain.sh 배선 — 최소 diff

  • 경로: /Users/ef/.claude/scripts/crownycode-brain.sh
  • "1.5단"으로 12줄 삽입: 정확조회(1단) MISS이고 요청에 연결어(하고/그리고/및/과/와/+/,)가 있으면
에이전트조립(2단)보다 먼저 크라우니도구.sh compose를 시도. PASS면 결과를 흡수해 HIT|복합조합|...로 즉시 반환(compose가 내부에서 이미 컴파일+실행+학습까지 완료).
  • 회귀 확인: 단일 인텐트("로그인_토큰")는 기존과 동일하게 HIT|정확조회로 처리됨.
진짜 존재하지 않는 복합 요청은 MISS|위임(exit 3)으로 정상 낙하.

벤치 결과 (10건 — 오늘 학습된 실세션 인텐트로 구성, 3단 조합 2건 포함)

#요청단위 HIT수컴파일실행판정
1배송비 계산하고 환불 판정2/2PASSPASSPASS
2학생채점 결과하고 알림규칙2/2PASSPASSPASS
3로그인 토큰하고 사용자 권한2/2PASSPASSPASS
4예약 충돌 검사하고 결제상태 전이2/2PASSPASSPASS
5주간보고 생성하고 팀원 근태2/2PASSPASSPASS
6배송추적하고 바이너리추적2/2PASSPASSPASS
7역할 체크하고 사용자 권한2/2PASSPASSPASS
8메시지 에코하고 로그인 토큰2/2PASSPASSPASS
9환불 판정하고 거래 타이밍 판정 그리고 권한 판정 룰(3단)3/3PASSPASSPASS
10학생채점 결과하고 진단결과 캐싱 그리고 예시 생성(3단)3/3PASSPASSPASS
컴파일+실행 성공률 10/10 (100%) — 기준(7/10) 초과 완주. 이전 실측(조립 파편·garbage 다수 발생)과 대비: 오늘 벤치는 학습DB 단위 함수가 이미 검증된 완성 함수들이라 조합 실패가 거의 없었음. 정직 보고: K=5 수렴루프는 실제 벤치 10건에서는 한 번도 발동하지 않았음 — 그 메커니즘 자체는 별도 합성 실패 케이스 주입으로 end-to-end 작동을 확인함(1차 실패→자동수리→2차 성공).

학습 등록

대표 조합 2건을 crownycode-brain.sh learn으로 등록(다음부터 토큰0):

  • 배송비_계산하고_환불_판정_조합
  • 로그인_토큰하고_사용자_권한_조합
둘 다 lint 통과(판정|티|셀코어룰엔진).

관련 파일

  • /Users/ef/Downloads/CrownyTVM/crownycode-agent/partner-tools/의도분해.한선 (신규)
  • /Users/ef/Downloads/CrownyTVM/crownycode-agent/partner-tools/크라우니도구.sh (cmd_compose 재작성 + resolve_segment/decompose_intent/repair_compose_failure 추가)
  • 백업: 크라우니도구.sh.bak-07052135
  • /Users/ef/Downloads/CrownyTVM/crownycode-agent/partner-tools/복합컴포저.한선 (미변경 — 기존 로직 재사용, 자기수정 프로토콜에 따라 백업만 선행: 복합컴포저.한선.bak-07052120)
  • /Users/ef/.claude/scripts/crownycode-brain.sh (1.5단 복합경로 12줄 삽입)
  • 백업: crownycode-brain.sh.bak-07052140
  • 잔여 이슈

    • / 경계 분해는 양쪽 공백 요건으로 안전하지만, 공백 없는 자연스러운 한국어
    문장("A와B")은 분해되지 않음 — 현재는 "하고/그리고/및" 위주 사용을 권장.
    • repair_compose_failure의 함수호출 치환은 단일수준 괄호만 매치(중첩 호출 인자 오탐 가능) —
    최선노력 수리이며 복잡한 중첩식은 여전히 실패 시 학습보류로 정직 반환.
    • 배선(조합체인) 자체는 여전히 "옴"(의미 미검증) 등급 — cmd_chainprobe가 무동작(드랍)이면
    체인코드를 제거하고 순차조합만 학습하는 기존 안전장치를 그대로 유지.