t2 컴포저 고도화 — 학습 함수 조합 완전 서비스화
개요
크라우니브레인 L2(t2) = 학습DB 단위 함수를 조합해 복합 요청을 토큰0으로 조립하는 능력.
기존 복합컴포저.한선은 공백구분 사전토큰(예: "배송비_계산 환불_판정")만 처리 가능했고,
자연어 복합요청("배송비 계산하고 환불 판정")은 단어단위로 쪼개져 단위MISS로 실패했다.
이번 작업은 ①의도분해 ②조합품질 확인 ③검증 수렴 재시도 루프 ④brain.sh 배선까지 4개
고도화 포인트를 적용하고, 오늘 학습된 실세션 인텐트로 구성한 10건 벤치로 검증했다.
무엇을 했는지
1. 의도 분해 강화 — 의도분해.한선 (신규)
- 경로:
/Users/ef/Downloads/CrownyTVM/crownycode-agent/partner-tools/의도분해.한선 - 복합 요청을
그리고/하고/및/ 과 / 와 /+/,경계로 세그먼트 분리(긴 연결어 우선 치환 — 겹침 방지). 과/와는 양쪽 공백이 있을 때만 경계로 인정 — "결과 캐싱"처럼 단어 말미 음절(결과의 '과')과
" 과 "/" 와 "로 제한).
파일존재()대신읽기()+글자수 가드 사용(VM 함정: 파일존재는 항상 -1).- 컴파일 검증 완료(hanseonc_high 통과), 단독 실행 테스트로 분해 정확성 확인.
2. 조합 품질 — 크라우니도구.sh의 cmd_compose 재작성
- 경로:
/Users/ef/Downloads/CrownyTVM/crownycode-agent/partner-tools/크라우니도구.sh - 2단 분해: ①
의도분해.한선로 자연어 경계 분해 → 세그먼트별lookup
- 부품 중복 함수명 드랍·임포트 통합·데모 출력줄 순차병합은 기존
복합컴포저.한선로직을
3. 검증 수렴 루프 (신규) — 최대 K=5
cmd_compose내부에 조합→검증 루프 추가. 실패 시repair_compose_failure()가
미정의 함수 (undefined function) '이름' 등)를 파싱해
해당 함수 호출식만 리터럴 0으로 치환(줄 전체 삭제 아님 — 좌변 변수가 계속 정의된 채
유지되어 연쇄 미정의변수 오류를 만들지 않음, 실측으로 확인/개선).
- 실측 검증: 합성 실패 케이스(부품2가 존재하지 않는 헬퍼함수 호출)를 주입 → 1차 컴파일 실패 →
- 실제 벤치 10건은 전부 1차 시도에서 통과해 수리 루프가 발동하지 않았음 — 정직히 보고.
4. brain.sh 배선 — 최소 diff
- 경로:
/Users/ef/.claude/scripts/crownycode-brain.sh - "1.5단"으로 12줄 삽입: 정확조회(1단) MISS이고 요청에 연결어(하고/그리고/및/과/와/+/,)가 있으면
크라우니도구.sh compose를 시도. PASS면 결과를 흡수해
HIT|복합조합|...로 즉시 반환(compose가 내부에서 이미 컴파일+실행+학습까지 완료).
- 회귀 확인: 단일 인텐트("로그인_토큰")는 기존과 동일하게
HIT|정확조회로 처리됨.
MISS|위임(exit 3)으로 정상 낙하.벤치 결과 (10건 — 오늘 학습된 실세션 인텐트로 구성, 3단 조합 2건 포함)
| # | 요청 | 단위 HIT수 | 컴파일 | 실행 | 판정 |
|---|---|---|---|---|---|
| 1 | 배송비 계산하고 환불 판정 | 2/2 | PASS | PASS | PASS |
| 2 | 학생채점 결과하고 알림규칙 | 2/2 | PASS | PASS | PASS |
| 3 | 로그인 토큰하고 사용자 권한 | 2/2 | PASS | PASS | PASS |
| 4 | 예약 충돌 검사하고 결제상태 전이 | 2/2 | PASS | PASS | PASS |
| 5 | 주간보고 생성하고 팀원 근태 | 2/2 | PASS | PASS | PASS |
| 6 | 배송추적하고 바이너리추적 | 2/2 | PASS | PASS | PASS |
| 7 | 역할 체크하고 사용자 권한 | 2/2 | PASS | PASS | PASS |
| 8 | 메시지 에코하고 로그인 토큰 | 2/2 | PASS | PASS | PASS |
| 9 | 환불 판정하고 거래 타이밍 판정 그리고 권한 판정 룰(3단) | 3/3 | PASS | PASS | PASS |
| 10 | 학생채점 결과하고 진단결과 캐싱 그리고 예시 생성(3단) | 3/3 | PASS | PASS | PASS |
학습 등록
대표 조합 2건을 crownycode-brain.sh learn으로 등록(다음부터 토큰0):
배송비_계산하고_환불_판정_조합로그인_토큰하고_사용자_권한_조합
판정|티|셀코어룰엔진).관련 파일
/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잔여 이슈
과/와경계 분해는 양쪽 공백 요건으로 안전하지만, 공백 없는 자연스러운 한국어
repair_compose_failure의 함수호출 치환은 단일수준 괄호만 매치(중첩 호출 인자 오탐 가능) —
- 배선(조합체인) 자체는 여전히 "옴"(의미 미검증) 등급 —
cmd_chainprobe가 무동작(드랍)이면