회고 — 8스프린트, 안 된 것을 그대로
2026-10-01 초안(정성윤). 수치는 2026-10-01 최종 측정(운영 RDS run_id 1·2 · 커밋
19b8400· 골든셋v1-150.2295건 · 3회 최저 — 09-22 run 8·9 와 같은 값)과 10-01 지연 실측만 쓴다(decisions/138·w8-final-eval-run). 류준·장민석·조서희 단락은 각자가 쓴다 — 대신 쓰지 않는다.
성공 조건 둘은 나왔는가
기획서 8절의 성공 조건은 F-2 가 아니라 STT 오류 내성 실험 + 검색 품질 개선 수치다.
| 조건 | 값 | 한계 |
|---|---|---|
| 검색 품질 — Recall@5 (오류 없음, n 102) | 운영 실구성 0.971 · BM25 기준선 0.853 | BM25 → dense 로 +0.118. 쌍둥이 조항 2건은 구분 단서 없이 채점된다(decisions/123) |
| STT 오류 내성 — Recall@5 (오류 10%) | dense 0.969 (n 96, 커밋 e966b62) |
한 세대 앞 판이다. 주입기가 실측 오류의 46.9% 를 못 흉내 내 곡선은 낙관 쪽 |
| C-5 개인정보 마스킹 누락 (P1~P7, n 40) | 0 · 과잉 0.0 | 오류 없는 전사 한정 — 규칙만은 오류 5%에 1건, 규칙+NER 은 15%부터 2건 샌다 |
| F-2 필요서류 판정 (n 99) | 1.0 | 팀이 만든 규칙표 안에서의 값이다(decisions/125, 절대 원칙 10) |
| D-1 요약 핵심 항목 (10통화 · 60항목, 10-01 기록) | 마이크로 0.883 | 09-22 는 0.35 — 규칙 보강 뒤 처음 기록된 값 |
| 서버 내부 지연 p95 (10-01 밤, 최근 7일) | 음성 통화 n 25: 722 ms(예산 ≤ 1,000 안) · 글자 채널 대본 n 92: 2,404 ms(밖) | 09-30 의 「n 26 · 655」 는 그 시각의 값이다. 최악은 배포 직후 첫 대본(p50 2,406 · max 4,719), 같은 대본 재실행은 캐시라 0 ms. 4배속 재생 6건(n 51)은 내부 p95 1,398 · e2e p95 3,576. 원인은 재지 않았다(w7-latency-budget) |
컴플라이언스·콜 가드 1.0 은 규칙이 만든 표본을 같은 규칙으로 채점한 자기충족 상한이라 성능으로 적지 않는다.
안 된 것
- A-5 동시 통번역 본체 — 1차 범위(서툰 한국어 전사)의 측정만 있다(초급 WER 0.412 · 유창 0.198, 상한). 번역·TTS 는 코드 0줄, 화면은 mock(
decisions/139). - D-5 통화 온도의 수치 — 통화 단위 음성 골든셋 출처가 없어 측정 불가. 가설 2(고객 톤이 흔들린다)는 데이터에서 반대로 나왔고 「이 데이터로는 못 잰다」로 남겼다(
142). - 분류기 학습 — 컴플라이언스·NER 파인튜닝은 라벨 데이터가 없어 하지 않았다(
210). 규칙 v1 + 공개 NER 이 최종이다. - 리랭커·생성 모델의 운영 탑재 — CPU 노드라 안 켰다(
124). 카드는 스니펫 폴백, 요약은 규칙 발췌다. - 트리거 채점 — 골든셋에 도착 시각이 없어 일부러 채점하지 않았다(채점하면 가짜 만점).
- G-2 지역자원 · D-4 갭 등록 경로 · 통화 소유 범위 — 미구현·미착수로 발표한다(
138알려진 한계). - 곡선 재측정 — 하지 않았다(
e966b62·n 96 한 세대 앞 판). 최종 측정 자체는 10-01 에 운영 노드에서 돌렸다.
과정에서 배운 것
- 파일 하나를 넷이 고치면 매번 충돌한다 —
STATE.md커밋 63건 중 19건이 머지 커밋이었다. 진행 기록·티켓을 「항목 1건 = 파일 1개」로 쪼갠 뒤(016·101) 충돌이 사라졌다. - 담당 잠금은 구멍을 만든다 — 기능 하나가
server/·ai/·infra/에 걸치는데 담당이 갈리니 「호출부만 있고 구현체가 없는」 일이 반복됐다. 잠금을 풀고(302) 기계 검사(importlinter·훅)로 바꿨다. 마지막 남은 잠금(apps/)도 마감 전에 풀었다(137). - 옮겨 적은 규칙은 원문보다 빡빡해진다 — CLAUDE.md 가 기획서에서 「6주차 종료 시점에」를 빠뜨려 시한 있는 조건이 상시 금지가 됐고, 하루에 확장 논의 6건이 멈췄다(
022). 문서 우선순위(결정 기록 > 기획서 > 파생 문서)를 그때 세웠다. - 「배포됐는데 화면에선 안 된다」 —
/health는 ok 인데 스키마가 안 들어가 500(09-14), 태그를 안 올려 옛 이미지가 다시 뜸(09-10), Vercel 한도로 프론트 수정이 안 나감(09-22). 배포 태그 검사·마이그레이션 체크·수동 QA 게이트(319)가 여기서 나왔다. - 측정하지 않은 숫자를 쓰지 않는 것이 가장 비쌌고 가장 남는 것이었다 — 공개 문서에 잰 적 없는 0.48/0.66 이 발표 문장으로 실려 있었다(09-28 정정). 값마다 측정일·커밋·명령·표본 수를 붙이는 규칙(§5)이 그 뒤로 어긋남을 잡아냈다.
- 수동 QA 없이는 «된다»를 말할 수 없었다 — 09-22 1회차 ❌ 7 → 09-30 2회차에서 전부 ✅. 그 사이 고친 것의 절반은 API 왕복으로는 보이지 않던 화면 결함이었다.
각자 한 단락
- 정성윤(AWS·인프라·PM) — 인프라는 「돌아가는 것」보다 「누가 봐도 지금 무엇이 떠 있는지 아는 것」이 어려웠다. 런북·
/health버전·태그 검사·룰셋 복원본이 그 답이었다. 09-16 이후 남은 일을 혼자 마무리하며 가장 많이 쓴 시간은 코드가 아니라 «무엇이 끝났고 무엇이 안 끝났는지» 를 사실대로 적는 일이었다. - 류준(AI) — (각자 쓴다)
- 장민석(서버) — (각자 쓴다)
- 조서희(프론트엔드) — (각자 쓴다)