크라우니AI 속도우위 주장 전체점검 — 7레이어 감사 + 적대검증 (2026-07-12)
개요
요청: "크라우니VM(4상균형3진) 위 CrownyOS 위 크라우니브라우저 + 크라우니SLM = CrownyAI 가 ObjC/AppKit 브라우저보다 원리적으로 빠르게 만들었었는데 현황체크, 전체 점검."
방법: 울트라 Workflow 15에이전트 (7레이어 병렬 감사 → 레이어별 적대검증 → 완결성 크리틱). 전 수치 라이브 실측 + 재실행 재현. 원본: ~/.claude/projects/-Users-ef/2e95e8b6-.../subagents/workflows/wf_27f48e6c-9fc/journal.jsonl
최종 판정: 속도우위 주장 = 타 (현재 성립 안 함) — 단 근본 원인은 "느려서"가 아니라 "비교 대상이 출시본에서 제거됨"
최중대 발견 (크리틱)
실행 중 CrownyAI.app(07-12 01:19 빌드, sha256 4000e9ec…)의 crowny-browser.m 3808~3810행이 crowny://app/*를 무조건 WKWebView로 리다이렉트 — 한선씨 PPM 전용탭 파이프라인은 사용자 클릭으로 도달 불가한 死경로가 됐다 (07-12 09:45 GUI재구축 스펙 자체가 'UX에서 제거' 명시). 즉:
- 순수 한선씨 렌더 두 트랙 모두 현재 사용자 도달 불가: ① v2 엔진(10.6만줄, 고아) ② m3-배선 PPM 앱 트랙(계산기·터미널 등 12파이프라인, 리다이렉트로 차단)
- 따라서 "전용탭 vs WKWebView 속도 대결"은 현재 출시본에 대결 상대가 없는 상태.
속도 실측 (bash 직접 호출 기준, 웜)
| 항목 | 실측 | 비고 |
|---|---|---|
| 전용탭 상호작용 1회 (계산기액션) | 110~122ms | 문서 90~150ms 재현 |
| 터미널렌더 1회 | 125~134ms | 상주서버(TERMSRV) 미기동, 콜드스폰 폴백 |
| 단계분해 | cmd IR 18~22ms + python 페이지배선 43~50ms(≈44%) + 렌더VM 42~50ms | 합 ≈106ms |
| crownyc VM 순수 스폰 | ~4.0ms (직접), ~8ms(셸 래퍼 경유) | race 레이어의 13ms는 perl→/bin/sh 래퍼 포함치 — 정정 |
| WKWebView 증분 갱신 | ~0ms (문서 인용) | 대조군 |
| 웹렌더.sh HTML→PPM | 839ms (단순 페이지) | 문서 1.4s (페이지 복잡도 상이) |
"원리적으로 빠르다" 근거 4축 개별 판정
| 근거 | 판정 | 실측 |
|---|---|---|
| (a) WebKit 0 의존 | 티 | 전용 파이프라인은 WebKit 미사용 — 달성 |
| (b) VM opcode 직결 렌더 | 타 | python 페이지배선.py 488줄 필수 경유 + 중간 cmd/plan 파일 I/O |
| (c) 3진 벡터 연산 이점 | 옴 | 인코딩 차원만. 렌더 경로에서 트릿벡터 opcode 실사용 미확인 |
| (d) 상주 프로세스(스폰 제거) | 타 | 프로토타입·벤치만 존재(키입력 12→4ms 2.7배, cmd렌더 20→8ms 2.5배). crowny-browser.m 실배선 미착수, 라이브 상주 리스닝 0건 |
레이어별 현황 (7레이어, 적대검증 전부 통과)
| 레이어 | 판정 | 핵심 |
|---|---|---|
| VM(crownyc) | 옴 | v11.0.5 정본 최신(7/10~11 빌드), 스모크 OK, JIT=별도 opt-in 확인. hanseonc_std.toau 6/23 구버전(스큐 리스크, 발현은 안 됨). crownyc/CLAUDE.md 헤더 v10.0 drift |
| 네이티브 셸(ObjC) | 옴 | 3곳 바이너리 sha 일치(문서 해시는 01:19 재빌드로 stale). 라이브 회귀: 프리워밍 10/12 BAESUN_FAIL — .app 런치 PATH(/usr/bin:…)가 python3.9.6 resolve → 페이지배선.py:36 유니언타입(3.10+) TypeError. 3d·web만 성공 |
| 전용 파이프라인 | 옴 | 4항 stale-toau 가드 10/13 (웹렌더 2항, 3d·웹탭 무가드). 페이지배선.py .한선 동반 부재 지속. 페이지렌더러.한선 2사본 diverge(src/ 정본 vs m3-배선/) |
| v2 엔진 | 옴 | 컴파일 성공(0.77s, 27.4MB toau, 978,223큐브) + 실행 96줄 정상 출력 → '미작동' 반증. 단 106,846줄 = 고수준 51,904 + RPN twin 합산. Metal GPU = 허위(체계()껍데기) — 'Apple Metal GPU' 문자열 하드코딩, crownyc.c Metal 참조 0건, 소스 스스로 '시뮬레이션' 주석. 전체 고아(프로덕션 참조 0건) |
| SLM/AI | 옴 | brainq:9977 라이브 p50 0.72ms, 터미널상태.한선→curl 9977 실배선, 에스텔 :9785 라이브. 단 CROWNY_SLM_ENDPOINT 미설정, :9501 폴백=자기선언 규칙+템플릿 스텁(신경망 아님). 그리고 그 터미널 접점(crowny://app/터미널)도 리다이렉트 死경로 — 파일메뉴 네이티브 PTY 터미널의 brainq 연결 여부는 미검증 |
| CrownyOS | 옴 | HAL크라우니.한선 컴파일 OK + 3개 lib 체계() 0건 전수 확정. 단 임포트처 = 휴면 v2 2건뿐(고아). '외부 셸 0건' 주장은 라이브 파이프라인(11/13 python)과 무관한 가능성 주장. MASTERPLAN 900/900 [x]=체크박스 100%(실배선 미검증) |
| 속도대결 | 타 | 위 참조 |
부수 발견 (크리틱 — 요청-실물 대조 미충족)
- 세션복원: 07-12 00:06 요청인데 기동 시 이전세션/크래시 복원 배선 0건 (⌘⇧T 닫은탭만 존재) — 미구현
- 기본 검색엔진(생태계 우선·네이버 대응): crowny-browser.m 배선 0건
- CRNS 한글도메인: CLAUDE.md '표준 내장' 주장 vs 실측 crowny-browser.m CRNS 배선 0건 + :5388 미기동(서버 다운)
- 기본 즐겨찾기 7종: 00:06 요청 vs 09:45 GUI재구축이 defaultBookmarks() 빈 배열로 제거 — 같은 날 두 요청 상충, 뒤가 앞을 무효화 (사장님 의사결정 필요)
- 프리워밍은 성공해도 死경로(리다이렉트된 PPM)를 예열하는 이중 낭비 상태
- 미점검 잔여: Windows/Linux 빌드 트랙(소스 실존, 검증 0), 보안 감사, 크래시/메모리 장시간 안정성, 폰트 통일(Pretendard 1벌)
속도우위를 실측으로 성립시키는 조건 (우선순위)
- [P0] 방향 결정: crowny://app 리다이렉트(UX 제거)가 확정 방침인지, PPM 트랙 부활인지 — 이후 작업 전부가 이 결정에 종속
- [P0] 상주 VM 실배선: 터미널상주서버 프로토타입(2.5~2.7배)을 crowny-browser.m에 배선 + 커버리지를 페이지배선+렌더러까지 확장(현재 시간의 60~65%) → 스폰 3~4회→0회
- [P1] 페이지배선.py 한선화: 488줄 python 홉(44%) 제거 = 'opcode 직결' 성립 + 동반 위반 해소 + python3.9 PATH 회귀 근본 해소
- [P1] 증분(dirty-rect) 렌더: 매 이벤트 전체 프레임 재생성 → 변경 영역만. WKWebView ~0ms에 근접하는 유일한 길
- [P2] 프리워밍 PATH 수정(python3 절대경로 고정) — 단 1·3 결정에 따라 무용화될 수 있음
- [P2] (c)축 정리: 3진 벡터 이점을 렌더 경로에 실구현하거나 근거 목록에서 제외
관련 파일
- 실행 소스:
/Users/ef/CrownyBrowser/native/crowny-browser.m(7558줄, 3808~3810 리다이렉트, 522 defaultBookmarks 빈배열) - 파이프라인:
/Users/ef/CrownyBrowser/native/*렌더.sh,native/m3-배선/페이지배선.py(488줄),native/공통자가치유.sh - v2 엔진:
/Users/ef/CrownyBrowser/src/v2/(81파일), GPU렌더러.한선(Metal 시뮬레이션 주석) - SLM:
src/터미널상태.한선(_크라우니뇌호출 277~294행), brainq :9977 - 워크플로 스크립트:
~/.claude/projects/-Users-ef/2e95e8b6-.../workflows/scripts/crownyai-full-audit-wf_27f48e6c-9fc.js
잔여 이슈
- 위 P0 방향 결정(사장님) 후 P0~P2 실행
- 즐겨찾기 요청 상충 해소(00:06 vs 09:45)
- Windows/Linux·보안·장시간 안정성·폰트 통일 별도 점검 필요 (이번 범위 밖)