오늘 배정된 일이 없습니다. 아래 전원 항목만 보시면 됩니다.
# 08-24 (월) · W1 7일차 · 장우영 일지
**고칠 곳은 맨 아래 [7. 한 결과](#7-한-결과) 한 군데뿐입니다.**
1~6번은 저장소 여기저기에 흩어져 있는 문서를 한자리에 모은 것입니다.
저장소를 따로 열지 않아도 오늘 일을 할 수 있게 하려는 것입니다.
| | |
|---|---|
| 날짜 | 08-24 (월) · W1 7일차 |
| 맡은 사람 | 장우영 |
| 오늘 계획 원문 | [plan/w1/08-24_월/계획.md](https://github.com/ritual1127/naverogq/blob/main/plan/w1/08-24_%EC%9B%94/%EA%B3%84%ED%9A%8D.md) |
| 이 파일의 자리 | `plan/역할분담/일지/08-24_장우영.md` |
## 차례
1. 우리가 뭘 만들고 있나
2. 왜 지금 이걸 하고 있나
3. 이번 주에 무슨 일이 있었나
4. 지금까지 만난 문제 전부
5. **오늘 맡은 일**
6. 장우영 님이 8주 동안 맡은 일 전체
7. **한 결과** ← 여기만 채우시면 됩니다
---
## 1. 우리가 뭘 만들고 있나
> 출처 — [`plan/w1/팀목표.md`](https://github.com/ritual1127/naverogq/blob/main/plan/w1/%ED%8C%80%EB%AA%A9%ED%91%9C.md) 를 그대로 옮긴 것입니다.
### 팀 목표 1장 — 네이놈
전국마이스터고 스타프로젝트 W1(2026-08-18 ~ 08-24) 산출물입니다.
프로덕트: **CADLens** — https://naverogq.onrender.com · https://github.com/ritual1127/naverogq
---
#### ① 미션 한 문장
> **우리는 전산응용기계제도기능사 실기를 혼자 준비하는 수험생이 도면을 제출하기 직전에
> 겪는, 무엇을 빠뜨렸는지 짚어 줄 사람이 없는 문제를, 도면 파일을 올리면 빠진 항목을
> 도면 위에 찍어 주는 웹 검사기로 없앤다.**
- **누가** — 전산응용기계제도기능사 실기를 혼자 준비하는 수험생 (학원에 다니지 않는 특성화고·마이스터고 학생)
- **어떤 상황** — 4시간짜리 실기 도면을 다 그리고 제출 직전
- **어떤 불편** — 표면거칠기·데이텀·지름 치수를 빠뜨려도 아무도 짚어 주지 않음. 그중 일부는 감점이 아니라 바로 오작(실격)
- **어떤 방식** — 도면 파일(DWG·DXF)을 올리면 24개 항목을 검사해 문제 위치에 번호를 찍고 고치는 법을 알려주는 웹 서비스
대상을 "기계제도를 배우는 학생 모두"가 아니라 **"혼자 준비하는 실기 수험생"** 으로 좁혔습니다.
옆에 봐 줄 사람이 있는 학생은 이 문제를 안 겪습니다.
#### ② 북극성 지표
**주간 재검사 사용자 수 — 도면을 한 번 검사하고, 고쳐서 다시 올린 사람의 주간 수(익명 집계).**
| | 값 |
|---|---|
| 오늘(2026-08-22) 현재 값 | **0명** — 집계 기능 자체가 없음 |
| 8주 뒤(2026-10-12) 목표 | **주 20명** |
- **왜 이 지표인가** — 한 번 올려 보고 마는 것은 호기심입니다. **고쳐서 다시 올렸다는 건 지적이 실제로 맞았고
도움이 됐다는 뜻**입니다. CADLens가 하려는 일(`검사 → 고치기 → 재검사`)이 그대로 숫자가 됩니다.
- **왜 가입자 수·페이지뷰가 아닌가** — 재방문이 안 잡힙니다. 커밋 수는 저희가 열심히 했다는 증거일 뿐 수험생에게 아무 의미가 없습니다.
- **20명의 근거** — 없습니다. 기계과 한 반 규모를 기준으로 일단 정했습니다.
- **집계 방식** — 회원가입이 없고 이용자 대부분이 미성년자라, 개인을 알아볼 수 있는 정보는 남기지 않고
익명 검사 기록만 셉니다. 지금은 품질을 먼저 올리고 집계를 붙일 예정입니다([발전 계획](https://github.com/ritual1127/naverogq/blob/main/plan/docs/roadmap.md) 참고).
#### ③ 역할 분담
| 이름 | 담당 | 이번 8주에 책임지는 것 |
|---|---|---|
| 박지완 | 개발 총괄 · 저장소 | 서버, 검사 규칙, AI 채점, 커밋과 배포 |
| 장우영 | 사용자 접촉 | 기계과 학생·선생님 베타 테스트 모집, 피드백을 이슈로 정리 |
| 안대열 | 도면 데이터 · 검증 | 실제 수험생 도면 수집과 라벨링, `bench.py`·`variance.py` 측정 기록 |
| 김승준 | 발표 · 기록 | 데모데이 3분 영상, 발표, 주간 계획과 문서 갱신 |
한 사람이 놀고 한 사람이 다 하는 걸 막으려고 나눴습니다. 담당이라는 건 **그 일을 혼자 한다는 뜻이 아니라
그 일이 안 됐을 때 물어볼 사람이 정해져 있다는 뜻**입니다.
#### ④ 팀 규칙 3줄
1. **의견이 갈리면 재서 정한다.** 숫자로 잴 수 있으면(정확도·편차·속도) 재 보고 결과를 따르고, 잴 수 없으면
그 영역 담당자가 정한다. 어느 쪽이든 **30분 안에 끝내고 결정한 이유를 저장소에 남긴다.**
2. **한 일은 저장소에 남긴다.** 커밋이나 문서로 남지 않은 작업은 없었던 것으로 본다.
3. **못한 건 못했다고 그 주에 적는다.** 안 되는 걸 되는 척하면 다음 주에 두 배로 돌아온다.
#### ⑤ 주간 리듬
| 요일 | 무엇 |
|---|---|
| 화 20:00 | 팀 회의 — 그 주 워크샵 강의를 같이 보고 할 일을 나눔 |
| 목 | 그 주 산출물 점검 — 남은 항목을 나눠 맡음 |
| 일 21:00 | [팀 페이지](https://meister.itshin.com/네이놈)에 그 주 산출물 제출 · 주간 계획 파일([plan/](https://github.com/ritual1127/naverogq/blob/main/plan/w1/README.md)) 갱신 |
전담 멘토는 NAVER OGQ마켓 신철호 대표이고, 피드백은 **4주차(09-09 17:00) · 8주차(10-07 17:00) 데모데이에서 30팀 전체 총평**으로 받습니다.
1:1 멘토링은 2차 심사를 통과한 5팀만 따로 진행합니다. 그래서 주간 리듬에 1:1 세션을 넣지 않았습니다.
---
#### 자가 점검
| 문항 | 답 |
|---|---|
| 팀원 아무나 물어도 미션 문장을 똑같이 말할 수 있다 | 이 문서를 팀 전원이 읽고 화요일 회의에서 맞춰 봄 |
| 대상이 누구인지 한 명의 구체적인 사람으로 떠올릴 수 있다 | 예 — 학원에 다니지 않고 혼자 실기를 준비하는 우리 학교 기계과 학생 |
| 이번 주에 만든 것이 북극성 지표를 올리는지 설명할 수 있다 | 예 — AI 채점이 백지를 채점하고 있었다. 지적이 틀리면 아무도 다시 안 올린다 |
| 의견이 갈렸을 때 어떻게 정하는지 팀 전원이 안다 | 규칙 1번 |
| 다음 주에 무엇을 할지 지금 말할 수 있다 | 예 — [이번 주 계획](https://github.com/ritual1127/naverogq/blob/main/plan/w1/2026-08-4%EC%A3%BC%EC%B0%A8.md) |
---
## 2. 왜 지금 이걸 하고 있나
> 출처 — [`docs/roadmap.md`](https://github.com/ritual1127/naverogq/blob/main/docs/roadmap.md) 를 그대로 옮긴 것입니다.
### CADLens 발전 계획
앞으로 무엇을 어떤 순서로 할지 적어 둔 문서입니다. 기준일은 **2026년 8월 11일**입니다.
지금 무엇이 되고 무엇이 안 되는지는 [검사 정확도](https://github.com/ritual1127/naverogq/blob/main/docs/accuracy.md)에, 다른 종목으로 넓힐 수
있는지는 [`example/`](https://github.com/ritual1127/naverogq/blob/main/example)에 있습니다.
---
#### 우선순위
번호가 곧 순서입니다. 위에 있는 게 안 되면 아래 것을 해도 의미가 없습니다.
##### 1. 실제 수험생 도면으로 정확도 다시 재기
지금 정확도 100%는 **저희가 직접 만든 연습용 도면 18장** 기준입니다. 도면을 만든 사람과
검사 규칙을 만든 사람이 같아서, 이 숫자만으로는 실제 시험 도면에서도 맞는다고 말할 수
없습니다. **이게 안 되면 나머지가 다 의미 없습니다.**
- [ ] 기계과 학생 도면을 이름 지운 상태로 모으기
- [ ] 같은 방식으로 다시 측정해 [검사 정확도](https://github.com/ritual1127/naverogq/blob/main/docs/accuracy.md)의 표를 실제 도면 기준으로 교체
- [ ] 자체 제작 도면과 실제 도면의 결과 차이를 그대로 공개
##### 2. AI 점수 안정시키기
투상도 30점은 AI가 매기는데 **같은 도면을 다시 넣으면 점수가 흔들립니다.** 확정 점수가
아니라고 화면에 적어 두긴 했지만, 흔들리는 폭 자체를 줄여야 합니다.
- [x] 같은 도면을 여러 번 돌려 편차가 몇 점인지 먼저 측정 — `variance.py`, 결과는 [검사 정확도](https://github.com/ritual1127/naverogq/blob/main/docs/accuracy.md)에 있습니다 (2026-08-22)
- [ ] **단위가 mm가 아닌 도면의 백지 렌더 고치기.** 편차를 재다 드러났습니다. 도면 범위를 그대로 밀리미터로 보는 탓에 AI가 백지를 채점하고 있었습니다. 여기부터 고쳐야 아래 항목들이 의미가 있습니다
- [ ] 규칙으로 옮길 수 있는 건 옮기기 — 뷰 개수, 제3각법 배치는 좌표로 계산할 수 있을지 검토
- [ ] 그래도 남는 부분은 여러 번 물어 중앙값을 쓰는 방식 검토 (정확해지지만 비용이 늘어남)
- [ ] AI가 틀린 사례를 모아 두기. "AI를 어떻게 검증했나"에 답할 근거가 됩니다
##### 3. 못 잡는 것 줄이기
[검사 정확도](https://github.com/ritual1127/naverogq/blob/main/docs/accuracy.md)의 약점 표를 하나씩 지웁니다.
- [ ] 선으로만 그린 표면거칠기 기호 (지금은 문자로만 찾음)
- [ ] 직접 그린 기하공차 기입틀 (지금은 TOLERANCE 엔티티와 문자로만 찾음)
- [ ] 이름이 CENTER 계열이 아닌 중심선 레이어
- [ ] 선 4개로 그린 윤곽선 (지금은 닫힌 사각형만 인식)
##### 4. 지원 형식 넓히기
- [ ] Inventor의 ipt · idw · iam. 3D 파일을 읽으려면 파싱 모듈이 새로 필요합니다
- [ ] 3D 모델 채점은 2D가 안정된 뒤에 합니다
##### 5. 다른 종목으로 넓히기
`exam.py`의 판정 함수와 루브릭이 KS 제도 규칙에 기반해 있어 다른 종목에도 상당 부분
그대로 쓸 수 있습니다. 어디까지 되는지는 미리 조사해 [`example/`](https://github.com/ritual1127/naverogq/blob/main/example)에 남겼습니다.
| 종목 | 규칙 재사용 | 순서 |
|---|---|---|
| 기계설계산업기사 | 약 90% | 1순위 |
| 일반기계기사 | 약 60% | 2순위 (작업형 한정) |
| 사출금형산업기사 | 약 55% | 3순위 |
| 프레스금형산업기사 | 약 50% | 4순위 |
- [ ] **0단계 — 구조 정리.** `exam.py`가 기능사 기준값을 모듈 상수로 박아 두고 있어 두 번째
종목이 들어오면 막힙니다. 값을 종목별로 분리하되 **검사 함수 안에 종목 분기는 넣지
않습니다.** 종목이 늘어나면 분기가 규칙마다 퍼져 손댈 수 없게 됩니다
- [ ] 종목별 공개문제를 3개 회차 이상 확보하기 전에는 코드를 건드리지 않습니다.
확인되지 않은 기준으로 검사 규칙을 만들면 응시자에게 틀린 지적을 하게 됩니다
##### 6. 학교에서 쓸 수 있게 만들기
- [ ] 반 단위 화면 — 선생님이 여러 도면을 한 번에 확인
- [ ] 학교 단위 이용 시 개인정보 처리 안내문 정리
---
#### 얼마나 쓰이는지 재는 방법
지금은 **아무것도 세지 않습니다.** 사람을 모으는 것보다 먼저 고칠 게 남았다고 봤고,
쓰는 사람 대부분이 미성년자라 함부로 붙일 수도 없었습니다.
CADLens는 [공개 고지](https://github.com/ritual1127/naverogq/blob/main/docs/policy.md)에서 **추적 코드가 없고, 회원가입이 없고, 개인을 알아볼 수
있는 정보를 받지 않는다**고 약속했습니다. 지표가 필요하다고 그 약속을 깨면 정직함으로 쌓은
걸 스스로 무너뜨리는 것이라, **약속을 지키면서 셀 수 있는 것만** 세기로 했습니다.
**셀 것**
| 지표 | 어떻게 | 개인 식별 |
|---|---|---|
| 검사 횟수 (일별·월별) | 검사가 끝날 때 숫자만 +1 | 없음 |
| 재방문율 | 브라우저에 이미 있는 `cadcheck.history`로 "2회 이상 검사한 브라우저" 비율 | 없음. 기기 안에서 판단하고 결과 숫자만 보고 |
| 재검사 비율 | 같은 파일 이름을 다시 올린 비율 (= 고치고 다시 온 사람) | 없음 |
| 점수 개선 폭 | 재검사 때 점수가 몇 점 올랐는지 | 없음 |
| 언어·다크모드 분포 | 이미 브라우저에 있는 설정값 집계 | 없음 |
**안 셀 것** — IP, 쿠키, 광고 ID, 도면 내용, 파일 이름 원본, 위치, 기기 지문.
**대표로 삼을 숫자는 방문자 수가 아닙니다.** CADLens에서 의미 있는 건
**"검사 → 고침 → 재검사로 점수가 오른 사람의 비율"** 입니다. "몇 명이 왔다"가 아니라
**"몇 명이 실제로 나아졌다"** 는 뜻이라, 도면을 봐주는 도구로서 훨씬 정확한 숫자입니다.
집계를 시작하면 [임팩트](https://github.com/ritual1127/naverogq/blob/main/docs/impact.md)와 README의 해당 절을 실제 숫자로 바꿉니다.
---
#### 문서를 어떻게 관리할지
숫자가 문서마다 다르면 그 자체로 신뢰를 잃습니다.
- [ ] 정확도를 다시 잴 때마다 README · [검사 정확도](https://github.com/ritual1127/naverogq/blob/main/docs/accuracy.md) · [임팩트](https://github.com/ritual1127/naverogq/blob/main/docs/impact.md)의
숫자를 같이 맞춥니다
- [ ] 응시자 통계는 [`example/96_응시자_통계.md`](https://github.com/ritual1127/naverogq/blob/main/example/96_%EC%9D%91%EC%8B%9C%EC%9E%90_%ED%86%B5%EA%B3%84.md)를 원본으로
두고 다른 문서는 그걸 인용합니다. 아직 1차 출처(통계연보)로 대조하지 않았다는 것도
그 문서에 적어 뒀습니다
- [ ] 문서가 코드의 함수 이름이나 상수를 언급하면, 그게 실제로 있는지 확인하고 씁니다
---
#### 한 줄로 줄이면
**"쓰는 사람이 있고, 그 사람들이 실제로 나아졌다"를 숫자로 만드는 것.**
기술은 어느 정도 됐고, 비어 있는 건 그 숫자입니다.
---
## 3. 이번 주에 무슨 일이 있었나
> 출처 — [`plan/w1/기록.md`](https://github.com/ritual1127/naverogq/blob/main/plan/w1/%EA%B8%B0%EB%A1%9D.md) 를 그대로 옮긴 것입니다.
### 2026-08-4주차 (08-22 토 ~ 08-23 일)
본선 발표(08-17) 직후라 이번 주는 이틀뿐입니다. 이틀에 하나씩, 두 개만 합니다.
심사 피드백이 지적한 것 중 **"AI 판단 정확도를 높이라"** 가 이번 주 몫입니다.
[발전 계획](https://github.com/ritual1127/naverogq/blob/main/plan/docs/roadmap.md)의 2번(AI 점수 안정시키기)에 해당합니다.
1번(실제 수험생 도면으로 재측정)은 남의 도면을 모아야 해서 주말에 혼자 못 합니다.
그래서 혼자서 끝낼 수 있는 2번을 먼저 잡았습니다.
---
#### 08-22 (토) — AI 점수가 얼마나 흔들리는지 숫자로 잰다
투상도 30점은 AI가 매기는데 같은 도면을 다시 넣으면 점수가 달라집니다.
흔들린다는 건 알지만 **몇 점이 흔들리는지 모릅니다.** 모르면 줄였는지도 알 수 없습니다.
고치기 전에 재는 게 먼저입니다.
- [x] 같은 도면을 여러 번 채점해 점수 분포를 뽑는 도구 만들기 — `variance.py`
- [x] 캐시를 타지 않게 할 것 — `judge()` 대신 제공자를 직접 부른다
- [x] 어떤 지적이 나왔다 안 나왔다 하는지도 같이 세기
- [x] 통계 계산이 맞는지 확인하는 테스트 한 개 — `test_variance_spread`
- [x] 실제로 돌려서 나온 숫자를 [검사 정확도](https://github.com/ritual1127/naverogq/blob/main/plan/docs/accuracy.md)에 남기기
**끝난 기준** — 채웠습니다. 도면 3장을 5회씩 채점했습니다.
| 도면 | 5회 점수 | 폭 |
|---|---|---|
| `sample_plate.dxf` | 18, 18, 20, 20, 20 | 2점 |
| `sample_autocad.dxf` | 18, 18, 18, 18, 18 | 0점 |
| `sample_075em07z.dwg` | 0, 18, 18, 18, 18 | **18점** |
**재다가 더 큰 걸 찾았습니다.** 선이 6,373개 들어 있는 실제 도면인데 AI에게
보내는 그림이 201바이트짜리 백지였습니다. AI는 도면이 아니라 빈 종이를 보고
"투상도가 하나도 없다"고 5회 모두 답했습니다. 원인은 도면 단위입니다.
`render_png`가 도면 범위를 그대로 밀리미터로 보는데, 이 파일은 범위가 0.12라서
사방 5mm 여백에 그림이 다 먹힙니다. **단위가 mm가 아닌 도면은 AI 30점이 통째로
엉터리였습니다.** 그래서 내일 할 일을 바꿉니다.
#### 08-23 (일) — 백지 렌더를 고치고 감점 폭을 잡는다
토요일에 잰 18점 편차는 AI가 오락가락한 게 아니라 **백지를 보고 몇 점 깎을지
고민한 결과**였습니다. 렌더링이 먼저입니다.
**08-22 밤에 당겨서 했습니다.** 일요일에 시간이 나지 않아 토요일에 몰아 했습니다.
- [x] 도면 단위(`$INSUNITS`)를 반영해 그림 크기를 맞추기. mm가 아니면 환산하고,
단위를 알 수 없으면 도면 범위에 맞춰 페이지를 채우기
— `dwg.detect_mm_per_unit`을 그대로 써서 환산. 201바이트 → 283,550바이트
- [x] 고친 뒤 `sample_075em07z.dwg` 그림을 저장해 눈으로 확인. 201바이트가 아니어야 함
— 열어서 도면이 보이는 것까지 확인. `sample_autocad.dxf`도 백지였다는 것을 이때 알았습니다
- [x] `variance.py`로 다시 재서, 진짜 도면을 봤을 때의 편차를 새로 기록
— 0, 0, 5, 9, 18. 폭 18점 그대로, 중앙값만 18점에서 5점으로 내려갔습니다
- [x] 남는 감점 폭 줄이기 — 프롬프트가 정한 8~12점 범위를 벗어난 판정이 나왔으므로
점수 상한을 스키마나 후처리에서 눌러 주는 방법 검토
— `MAX_SINGLE_DEDUCT = 12` 로 후처리에서 눌렀습니다
- [ ] 지적 제목이 매번 다르게 적히는 문제 — 제목을 정해진 목록에서 고르게 할지 검토
— 못 했습니다. [P03](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/P03-%EC%A7%80%EC%A0%81%EC%A0%9C%EB%AA%A9%ED%9D%94%EB%93%A4%EB%A6%BC.md)으로 열려 있습니다
**끝난 기준** — 반쯤 채웠습니다. 렌더는 백지가 아니고([P01](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/P01-%EB%B0%B1%EC%A7%80%EB%A0%8C%EB%8D%94.md) 해결),
그 상태의 5회 점수 폭도 [검사 정확도](https://github.com/ritual1127/naverogq/blob/main/docs/accuracy.md)에 새로 적었습니다.
다만 **폭 18점은 그대로여서 편차를 줄이지는 못했습니다.** 편차의 원인이 백지가 아니라
프롬프트와 모델 쪽이라는 것만 알아냈습니다. 표본 자체가 기계 부품 도면이 아니라 무늬
도면이어서, 편차는 실제 수험생 도면으로 다시 재야 합니다([P04](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/P04-%ED%91%9C%EB%B3%B8%EB%8F%84%EB%A9%B4.md)).
#### 계획에 없었는데 이번 주에 나온 것
워크샵 1주차(08-18 ~ 08-24) 산출물인 **팀 목표 1장**의 마감이 이번 주였습니다.
계획을 심사 피드백만 보고 짜서 빠뜨렸습니다.
- [x] [팀 목표 1장](https://github.com/ritual1127/naverogq/blob/main/plan/w1/W1_%ED%8C%80%EB%AA%A9%ED%91%9C.md) 작성 — 미션 문장 · 북극성 지표 · 역할 분담 · 팀 규칙 · 주간 리듬
- [x] README 맨 위에 미션 문장과 북극성 지표 적기 (1주차가 요구한 것)
- [ ] 전담 멘토에게 공유 — **멘토 배정 메일이 아직 안 왔습니다.** 안 오면 운영진 메일로 회신해 물어볼 것
- [ ] 팀 전원이 미션 문장을 읽고 화요일 회의에서 맞춰 보기
배포 서버에서 **세 언어 번역만 계속 429로 막히는 것**도 08-23에 드러났습니다.
도면 한 장에 AI를 세 번(채점 · 후속 답변 · 번역) 부르는데 순서상 마지막인 번역이
먼저 굶었습니다.
- [x] 후속 답변과 번역을 한 호출로 합치기 — 도면당 3회에서 2회로. `_enrich()`
- [x] 모델이 지어내는 조·항·장 번호를 후처리로 걷어내기 — `_drop_clause_numbers()`
- [ ] 배포 서버에서 429가 실제로 사라지는지 확인 — **할당량이 회복돼야 볼 수 있습니다**
자세한 것은 [P08](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/P08-%EB%B2%88%EC%97%AD429.md)에 있습니다.
**다음 주부터는 주차 계획을 짤 때 그 주 워크샵 페이지를 먼저 열어 봅니다.**
#### 08-24 (월) — 제출 경로를 뚫고 W2를 미리 연다
사람이 해야 하는 일(메일 발송 · 팀원 대화)이 대부분인 날이라 저장소에 남은 것은 적습니다.
- [x] [팀 목표 1장](https://github.com/ritual1127/naverogq/blob/main/plan/w1/%ED%8C%80%EB%AA%A9%ED%91%9C.md)을 워크샵이 요구한 형식대로 **A4 한 장 PDF**로 만들었습니다(`팀목표.pdf`).
다섯 항목이 한 장 안에서 번호로 세어지게 놓고, 8주 목표(오늘 0명 → 8주 뒤 주 20명)를 따로
박스로 뺐습니다. 색은 임의로 고르지 않고 서비스 화면(`static/index.html`)의 팔레트를 그대로 썼습니다.
- [x] W2 워크샵 페이지를 미리 열어 산출물과 조건을 [W2 주차 계획](https://github.com/ritual1127/naverogq/blob/main/plan/w2/README.md)에 옮겨 적었습니다 —
인터뷰 5건 + 문제 정의 한 문장, 지인이 아닌 실제 사용자 5명, 1건당 15분, 인용 3개 이상,
미래 가정이 아니라 과거 행동을 묻기. 1주차에 강의를 늦게 열어 산출물을 놓쳤던 것([P06](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/P06-%EC%9B%8C%ED%81%AC%EC%83%B5%EB%86%93%EC%B9%A8.md))의 반작용입니다.
- [x] 메일함을 다시 봤습니다. **08-23 09:20 에 운영진 안내 메일이 와 있었습니다.**
제출처는 멘토 메일이 아니라 **팀 페이지**(https://meister.itshin.com/네이놈)의 `주차별 산출물`이었습니다.
전담 멘토는 NAVER OGQ마켓 신철호 대표이고 피드백은 데모데이 2회 총평, **1:1 멘토링은 2차 심사 통과 5팀만** 합니다.
만들어 둔 멘토 공유 메일 초안은 버리고 [제출 절차](https://github.com/ritual1127/naverogq/blob/main/plan/w1/08-24_%EC%9B%94/%EC%A0%9C%EC%B6%9C%EC%A0%88%EC%B0%A8.md)로 바꿔 적었습니다([P05](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/P05-%EB%A9%98%ED%86%A0%EB%B0%B0%EC%A0%95.md) 해결).
- [x] 팀 목표 1장의 주간 리듬에서 **있지도 않은 목요일 1:1 멘토링 칸을 빼고** 팀 페이지 제출로 고쳤습니다(md · PDF 둘 다).
- [ ] **팀 페이지 업로드 — 못 했습니다.** 구글 로그인이 필요해 사람 몫입니다.
- [ ] **팀원 4명이 미션 문장 맞춰 보기 — 못 했습니다.** 08-25 회의로 넘깁니다.
- [ ] **인터뷰 대상 5명 확정 — 못 했습니다.** 사람 이름은 팀이 정할 일이라 08-25 회의로 넘깁니다.
**이틀 동안 "멘토를 몰라 제출을 못 한다"고 적어 둔 것이 틀렸습니다.** 안내 메일은 08-23 아침에 이미 와 있었고,
우리는 08-24 에야 메일함을 다시 봤습니다. 막힌 줄 알았던 제출 경로는 처음부터 열려 있었습니다.
남은 것은 팀 페이지에 로그인해서 올리는 일뿐입니다.
#### 다음 주로 넘기는 것
- 실제 수험생 도면 모으기 (발전 계획 1번) — 학교 개학 후 부탁해야 함
- 09-09 데모데이 1차 3분 영상 — 편차를 줄인 뒤에 찍어야 보여줄 게 생김
8주 전체 일정은 [`plan/README.md`](https://github.com/ritual1127/naverogq/blob/main/plan/README.md) 에 있습니다.
---
## 4. 지금까지 만난 문제 전부
오늘 일이 막히면 **여기 이미 적혀 있는 문제인지 먼저 보세요.** 같은 문제를
두 번 파느라 하루를 날리는 게 제일 아깝습니다. 새 문제면 아래 7번
`막힌 것 · 문제` 칸에 적어 주시면 제가 문제점 폴더로 옮깁니다.
> 출처 — [`plan/문제점/README.md`](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/README.md) 를 그대로 옮긴 것입니다.
### 문제점
일하다 만난 문제를 **그때그때 적어 두는 폴더**입니다. 고쳤든 못 고쳤든 남깁니다.
왜 남기나 — 문제를 고치고 나면 그런 문제가 있었다는 사실 자체를 잊습니다.
8주 뒤 발표에서 "무엇을 어떻게 알아냈는가"를 말할 수 있는 팀과 "잘 됩니다"만
말하는 팀은 여기서 갈립니다. 심사 피드백도 **안 되는 걸 공개하는 것**을 우리 강점으로
꼽았습니다.
#### 원칙 — 없는 문제를 지어내지 않는다
**실제로 겪은 것만 적습니다.** 그날 아무 문제도 없었으면 아무것도 적지 않습니다.
기록을 채우려고 "개선하면 좋을 점" 같은 것을 문제로 올리지 않습니다.
지어낸 문제가 한 건이라도 섞이면 나머지 기록도 같이 못 믿게 됩니다.
빈 주가 있는 게 정상이고, 그게 이 폴더가 진짜라는 증거입니다.
문제인 것 — 실제로 틀린 결과가 나왔다, 하려던 게 안 됐다, 시간이 계획보다 훨씬 더 들었다,
연락이나 자료가 없어서 막혔다.
문제가 아닌 것 — 아직 안 만든 기능, 다음에 하기로 한 일, 잘 됐는데 더 잘하고 싶은 것.
그런 건 [발전 계획](https://github.com/ritual1127/naverogq/blob/main/docs/roadmap.md)이나 그날 계획에 적습니다.
#### 현황
| 번호 | 문제 | 상태 | 처음 본 날 | 영향 |
|---|---|---|---|---|
| [P01](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/P01-%EB%B0%B1%EC%A7%80%EB%A0%8C%EB%8D%94.md) | 단위가 mm가 아닌 도면이 백지로 렌더된다 | ✅ 해결 | 2026-08-22 | AI 채점 30점 전부 |
| [P02](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/P02-AI%EC%A0%90%EC%88%98%ED%8E%B8%EC%B0%A8.md) | 같은 도면인데 AI 점수가 매번 달라진다 | 🔴 열림 | 2026-08-22 | AI 채점 30점 |
| [P03](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/P03-%EC%A7%80%EC%A0%81%EC%A0%9C%EB%AA%A9%ED%9D%94%EB%93%A4%EB%A6%BC.md) | 같은 판정인데 지적 제목이 매번 다르게 적힌다 | 🔴 열림 | 2026-08-22 | 수험생이 보는 화면 · 재검사 비교 |
| [P04](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/P04-%ED%91%9C%EB%B3%B8%EB%8F%84%EB%A9%B4.md) | 측정에 쓰는 표본이 실제 시험 도면이 아니다 | 🔴 열림 | 2026-08-22 | 정확도 · 편차 측정 전부 |
| [P05](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/P05-%EB%A9%98%ED%86%A0%EB%B0%B0%EC%A0%95.md) | 제출처를 잘못 알았다 — 안내 메일을 이틀 늦게 봤다 | ✅ 해결 | 2026-08-22 | 산출물 제출 경로 전체 |
| [P06](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/P06-%EC%9B%8C%ED%81%AC%EC%83%B5%EB%86%93%EC%B9%A8.md) | 워크샵 1주차 산출물을 통째로 놓쳤다 | ✅ 해결 | 2026-08-22 | W1 산출물 · 진행 방식 |
| [P07](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/P07-%EC%A7%80%ED%91%9C0.md) | 북극성 지표가 0이고 셀 방법이 없다 | 🔴 열림 | 2026-08-22 | W5 · W6 산출물, 최종 KPI 리포트 |
| [P08](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/P08-%EB%B2%88%EC%97%AD429.md) | 배포 서버에서 번역 호출만 429로 계속 막힌다 | 🔴 열림 | 2026-08-23 | 화면에 뜨는 영어·일본어·중국어 번역 |
**열린 문제 5건 · 해결 3건** (P08 은 고쳤으나 배포 재확인 전)
#### 적는 법
1. **새 문제**를 만나면 파일 하나를 만듭니다. 이름은 `P08-짧은이름.md`처럼 번호를 이어 붙입니다.
2. 머리표를 채웁니다 — 상태 · 처음 본 날 · 무엇에 영향을 주나 · 맡은 사람.
3. 본문은 **증상 → 원인 → 조치 → 확인** 순서로 씁니다. 원인을 모르면 모른다고 적습니다.
추측을 원인 칸에 적으면 나중에 그게 사실인 줄 알게 됩니다.
4. **이미 있는 문제가 진전되면 그 파일 맨 아래 `## 기록`에 날짜와 한 줄을 더합니다.**
새 파일을 만들지 않습니다.
5. 고쳤으면 상태를 `해결`로 바꾸고 **확인 절에 무엇으로 확인했는지 숫자나 명령으로** 남깁니다.
"고쳤습니다"만 적힌 건 확인이 아닙니다.
6. 위 현황 표도 같이 고칩니다.
#### 규칙
- **못 고친 문제를 지우지 않습니다.** 열린 채로 두는 게 정상입니다.
- 처음 짐작이 틀렸어도 지우지 않습니다. 무엇을 잘못 짚었는지가 기록입니다.
([P02](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/P02-AI%EC%A0%90%EC%88%98%ED%8E%B8%EC%B0%A8.md)가 그런 경우입니다. 백지 때문이라고 봤는데 아니었습니다.)
- 사람 문제(연락이 안 온다 같은 것)도 적습니다. 코드 문제만 문제가 아닙니다.
- **`/today-plan` 을 돌릴 때마다 그날 만난 문제를 여기에 적습니다.**
**그날 아무 문제도 없었으면 아무것도 안 적습니다.**
> 출처 — [`plan/문제점/P01-백지렌더.md`](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/P01-%EB%B0%B1%EC%A7%80%EB%A0%8C%EB%8D%94.md) 를 그대로 옮긴 것입니다.
### P01 · 단위가 mm가 아닌 도면이 백지로 렌더된다
| | |
|---|---|
| 상태 | **해결** (2026-08-22) |
| 처음 본 날 | 2026-08-22 |
| 무엇에 영향을 주나 | AI 채점 30점 전부 |
| 맡은 사람 | 박지완 |
| 목록 | [문제점 전체](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/README.md) |
#### 증상
선이 6,373개 들어 있는 `sample_075em07z.dwg`를 AI에게 보내면 다섯 번 모두
"투상도가 하나도 없다"고 답했다. AI에게 실제로 보내는 그림을 파일로 저장해 보니
**201바이트짜리 빈 그림**이었다. AI는 도면이 아니라 백지를 채점하고 있었다.
`sample_autocad.dxf`도 같은 상태였다. 이 도면이 다섯 번 모두 18점으로 편차 0을 보인 것은
채점이 안정적이어서가 아니라 **매번 같은 백지를 봤기 때문**이었다.
#### 원인
`ai_review.render_png`가 도면 범위(`$EXTMIN`~`$EXTMAX`)를 그대로 밀리미터로 보고
페이지를 만들었다. 이 파일은 단위가 미터라 범위가 0.12 x 0.12로 잡히는데, 여기에
사방 5mm 여백을 붙이면 페이지가 거의 전부 여백이 되고 그림은 1픽셀 밑으로 짜부라진다.
A3(420 x 297)로 그려진 도면은 멀쩡히 나왔기 때문에 여태 드러나지 않았다.
#### 조치
도면 단위를 밀리미터로 환산해서 그리도록 고쳤다. 단위 판별은 이미 있던
`dwg.detect_mm_per_unit`을 그대로 썼다. 새로 만들지 않았다.
#### 확인
| 도면 | 고치기 전 | 고친 뒤 |
|---|---|---|
| `sample_075em07z.dwg` | 201바이트 | 283,550바이트 |
| `sample_autocad.dxf` | 201바이트 | 283,550바이트 |
| `sample_plate.dxf` | 5,696바이트 (정상) | 5,889바이트 (그대로 정상) |
그림 파일을 실제로 열어서 도면이 보이는 것까지 확인했다. 자동 테스트 15개 통과.
#### 배운 것
**중간 결과물을 눈으로 본 적이 없었다는 게 진짜 문제다.** AI가 뱉은 답이 그럴듯해서
아무도 그림을 열어 볼 생각을 안 했다. 정확도 100%라는 숫자가 이 사실을 가리고 있었다.
#### 기록
- 2026-08-22 — 편차를 재다 발견. 같은 날 고치고 확인.
> 출처 — [`plan/문제점/P02-AI점수편차.md`](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/P02-AI%EC%A0%90%EC%88%98%ED%8E%B8%EC%B0%A8.md) 를 그대로 옮긴 것입니다.
### P02 · 같은 도면인데 AI 점수가 매번 달라진다
| | |
|---|---|
| 상태 | **열림** |
| 처음 본 날 | 2026-08-22 |
| 무엇에 영향을 주나 | AI 채점 30점 |
| 맡은 사람 | 미정 |
| 목록 | [문제점 전체](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/README.md) |
#### 증상
같은 도면을 다섯 번 채점하면 점수가 흔들린다.
| 도면 | 5회 점수 | 폭 | 표준편차 |
|---|---|---|---|
| `sample_plate.dxf` | 18, 18, 20, 20, 20 | 2점 | 1.10점 |
| `sample_075em07z.dwg` (렌더 고치기 전) | 0, 18, 18, 18, 18 | 18점 | 8.05점 |
| `sample_075em07z.dwg` (렌더 고친 뒤) | 0, 0, 5, 9, 18 | 18점 | 7.50점 |
#### 지금까지 안 것
- [P01](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/P01-%EB%B0%B1%EC%A7%80%EB%A0%8C%EB%8D%94.md)을 고치기 전에는 폭 18점이 **백지를 보고 몇 점 깎을지 고민한 결과**라고 봤다.
- 고친 뒤 다시 재도 **폭은 18점 그대로**였고 중앙값만 18점에서 5점으로 내려갔다.
백지일 때는 지적이 1건으로 일정했는데 진짜 그림을 보자 **지적 개수부터 1~3건으로 흔들린다.**
- 즉 편차의 원인은 렌더가 아니라 **프롬프트와 모델 쪽**이었다. 처음 짐작이 틀렸다.
- 한 지적이 30점을 통째로 깎는 건 `MAX_SINGLE_DEDUCT = 12`로 막았지만,
지적이 세 개 나오면 여전히 0점이 된다.
#### 다음에 해 볼 것
- [ ] **실제 수험생 도면으로 다시 재기.** 지금 표본은 기계 부품 도면이 아니다([P04](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/P04-%ED%91%9C%EB%B3%B8%EB%8F%84%EB%A9%B4.md)).
- [ ] 규칙으로 옮길 수 있는 부분 분리 — 뷰 개수와 제3각법 배치는 좌표로 계산되는 값이다.
- [ ] 여러 번 물어 중앙값 쓰기. 정확해지지만 호출이 늘어 무료 할당량이 빨리 마른다.
- [ ] 지적 개수 자체를 프롬프트에서 제한해 보기.
#### 기록
- 2026-08-22 — 처음 측정. 도면 3장 x 5회. 폭 최대 18점.
- 2026-08-22 — 렌더 수정 후 재측정. 편차 안 줄어듦. 원인이 렌더가 아니었음이 드러남.
> 출처 — [`plan/문제점/P03-지적제목흔들림.md`](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/P03-%EC%A7%80%EC%A0%81%EC%A0%9C%EB%AA%A9%ED%9D%94%EB%93%A4%EB%A6%BC.md) 를 그대로 옮긴 것입니다.
### P03 · 같은 판정인데 지적 제목이 매번 다르게 적힌다
| | |
|---|---|
| 상태 | **열림** |
| 처음 본 날 | 2026-08-22 |
| 무엇에 영향을 주나 | 수험생이 보는 화면 · 재검사 비교 |
| 맡은 사람 | 미정 |
| 목록 | [문제점 전체](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/README.md) |
#### 증상
같은 판정에 대해 제목이 매번 달라진다.
- "투상도 전체 누락"
- "투상도 완전 누락"
- "투상도 전체 누락 및 형상 표현 불가"
- "기계 부품 투상도 미작성 및 투상 뷰 부재"
뜻은 같지만 **수험생에게는 다른 지적으로 보인다.**
#### 왜 문제인가
CADLens의 핵심 흐름은 `검사 -> 고치기 -> 재검사`다. 재검사에서 지난번과 비교해 주는데,
제목이 매번 달라지면 **비교가 성립하지 않는다.** 북극성 지표(주간 재검사 사용자 수)와 직결된다.
#### 다음에 해 볼 것
- [ ] 지적 제목을 정해진 목록에서 고르게 하기 (스키마 enum).
- [ ] 규칙 검사처럼 지적마다 코드를 붙이기. 지금 AI 지적은 전부 `AI_PROJECTION` 하나다.
- [ ] 제목은 코드로 고정하고 설명만 AI가 쓰게 하기.
#### 기록
- 2026-08-22 — 편차 측정 중에 눈에 띔.
> 출처 — [`plan/문제점/P04-표본도면.md`](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/P04-%ED%91%9C%EB%B3%B8%EB%8F%84%EB%A9%B4.md) 를 그대로 옮긴 것입니다.
### P04 · 측정에 쓰는 표본이 실제 시험 도면이 아니다
| | |
|---|---|
| 상태 | **열림** |
| 처음 본 날 | 2026-08-22 |
| 무엇에 영향을 주나 | 정확도 · 편차 측정 전부 |
| 맡은 사람 | 미정 |
| 목록 | [문제점 전체](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/README.md) |
#### 증상
- 정확도 100%는 **우리가 직접 만든 합성 도면 18장** 기준이다. 도면을 만든 사람과
검사 규칙을 만든 사람이 같다.
- 편차 측정에 쓴 `sample_075em07z.dwg`는 렌더를 고치고 그림을 열어 보니
**기계 부품 도면이 아니라 무늬가 반복되는 도면**이었다. "투상도가 없다"는 판정 자체가
틀리지 않았을 수 있다.
**표본이 잘못되면 측정도 잘못된다.** 지금 우리가 가진 숫자는 전부 이 위에 올라가 있다.
#### 왜 급한가
심사 피드백 1번이 이것이다. 발표(W7)에서 "실제 도면 정확도는?"이라는 질문이 반드시 나온다.
합성 도면 100%만 말하면 그 자리에서 반박당한다.
#### 다음에 해 볼 것
- [ ] W2 인터뷰(08-26 ~ 08-28) 때 **이름 지운 실제 도면 받기**
- [ ] 사람이 판단한 정답 라벨 붙이기. CADLens 결과를 정답으로 쓰면 100%가 나오고 아무 의미가 없다
- [ ] `python bench.py labels.json`으로 다시 재고 `docs/accuracy.md` 표를 실제 도면 기준으로 교체
- [ ] 합성 도면과 실제 도면의 차이를 그대로 공개
#### 기록
- 2026-08-22 — 렌더를 고치고 그림을 열어 보다 표본이 기계 도면이 아님을 알게 됨.
> 출처 — [`plan/문제점/P05-멘토배정.md`](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/P05-%EB%A9%98%ED%86%A0%EB%B0%B0%EC%A0%95.md) 를 그대로 옮긴 것입니다.
### P05 · 전담 멘토가 배정되지 않았고 주간 안내 메일도 안 온다
| | |
|---|---|
| 상태 | **✅ 해결** (2026-08-24) |
| 처음 본 날 | 2026-08-22 |
| 무엇에 영향을 주나 | 산출물 제출 경로 전체 |
| 맡은 사람 | 박지완 |
| 목록 | [문제점 전체](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/README.md) |
#### 증상
- 본선 선발 안내(08-17)에 "매주 화요일 아침에 그 주차 강의 링크를 메일로 보내드립니다"라고
적혀 있는데 **08-18 첫 주 메일이 안 왔다.**
- "1:1 멘토링 세션" 이야기가 있는데 **전담 멘토가 누구인지 모른다.**
- jangsin1004@gmail.com 으로 온 운영진 메일은 08-17이 마지막이다.
#### 왜 문제인가
산출물 제출처가 "그 주 1:1 멘토링 세션 전까지 전담 멘토에게 공유"다.
**멘토를 모르면 제출 자체를 못 한다.** W1 산출물부터 막혀 있다.
#### 원인
**메일이 안 온 게 아니라 우리가 안 봤다.** 08-23 09:20 에 운영진 안내 메일이 도착해 있었는데,
08-22 에 한 번 확인하고 나서 08-24 까지 메일함을 다시 열지 않았다.
"08-17 이후 메일 없음"이라는 08-22 의 기록을 그대로 사실로 두고 이틀을 보냈다.
전제도 틀렸다. **1:1 멘토링은 모든 팀에게 있는 게 아니라 2차 심사를 통과한 5팀만** 받는다.
"1:1 멘토링 세션 전까지 전담 멘토에게 공유"라는 워크샵 문구를 우리 팀에도 해당한다고 읽었다.
#### 조치
- 제출처를 팀 페이지로 바로잡고 [제출 절차](https://github.com/ritual1127/naverogq/blob/main/plan/w1/08-24_%EC%9B%94/%EC%A0%9C%EC%B6%9C%EC%A0%88%EC%B0%A8.md)에 단계를 적었다.
- [팀 목표 1장](https://github.com/ritual1127/naverogq/blob/main/plan/w1/%ED%8C%80%EB%AA%A9%ED%91%9C.md)의 주간 리듬에서 **있지도 않은 목요일 1:1 멘토링 칸을 뺐다.** PDF도 다시 만들었다.
- W1 · W2 주차 계획의 "1:1 멘토링 세션 전까지 전담 멘토에게 공유" 문구를 팀 페이지 제출로 고쳤다.
- **주간 리듬에 메일함 확인을 넣지 않았다.** 대신 화요일 회의 때 그 주 워크샵 페이지와 메일함을 같이 연다([P06](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/P06-%EC%9B%8C%ED%81%AC%EC%83%B5%EB%86%93%EC%B9%A8.md)과 같은 재발 방지).
#### 확인
- 08-23 09:20 수신 메일 `[전국마이스터고 스타프로젝트] 산출물은 우리 팀 페이지에 올려주세요 — 제출처·피드백 안내`
- 제출처 https://meister.itshin.com/네이놈 → `주차별 산출물` → `N주차 제출`
- 전담 멘토 NAVER OGQ마켓 신철호 대표 · 데모데이 ① 09-09 17:00~20:00 · ② 10-07 17:00~17:30
- **아직 안 올렸다.** 구글 로그인이 필요해 사람이 해야 한다. 올린 뒤 이 절에 날짜를 적는다.
#### 기록
- 2026-08-22 — 메일함을 뒤져 확인. 08-17 이후 운영진 메일 없음.
- 2026-08-24 — 문의 메일 초안을 만들다가 메일함을 다시 봤고, **08-23 아침에 안내 메일이 이미 와 있었다.**
제출처는 팀 페이지, 전담 멘토는 신철호 대표, 1:1 멘토링은 5팀 전용. 문의할 것이 남지 않아 초안을 버리고
[제출 절차](https://github.com/ritual1127/naverogq/blob/main/plan/w1/08-24_%EC%9B%94/%EC%A0%9C%EC%B6%9C%EC%A0%88%EC%B0%A8.md)로 바꿔 적었다. **막힌 줄 알았던 제출 경로는 처음부터 열려 있었다.**
이 문제를 해결로 닫는다. 남은 것은 사람이 로그인해서 올리는 일뿐이다.
> 출처 — [`plan/문제점/P06-워크샵놓침.md`](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/P06-%EC%9B%8C%ED%81%AC%EC%83%B5%EB%86%93%EC%B9%A8.md) 를 그대로 옮긴 것입니다.
### P06 · 워크샵 1주차 산출물을 통째로 놓쳤다
| | |
|---|---|
| 상태 | **해결** (2026-08-22) |
| 처음 본 날 | 2026-08-22 |
| 무엇에 영향을 주나 | W1 산출물 · 진행 방식 |
| 맡은 사람 | 전원 |
| 목록 | [문제점 전체](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/README.md) |
#### 증상
W1(08-18 ~ 08-24) 산출물인 팀 목표 1장을 08-22까지 아무도 손대지 않았다.
미션 문장 · 북극성 지표 · 역할 분담 · 팀 규칙 · 주간 리듬 다섯 항목 전부였다.
#### 원인
본선 발표 다음 날이라 결과 메일만 보고 **같은 날 워크샵 강의가 열린 걸 몰랐다.**
강의는 08-04에 이미 전체 공개돼 있었고 안내 메일도 왔는데 안 읽었다.
계획을 심사 피드백만 보고 짜서 워크샵 산출물이 계획에 아예 없었다.
#### 조치
- 08-22에 팀 목표 1장을 몰아서 작성.
- `plan/` 규칙에 넣었다 — **계획을 짜기 전에 그 주 워크샵 페이지를 먼저 연다.**
- 주차 폴더마다 그 주 산출물을 미리 적어 두었다(W1 ~ W8 전부).
#### 확인
`plan/w1` ~ `plan/w8` 각 README에 그 주 산출물이 적혀 있다.
08-18 ~ 08-21 계획 파일의 `❌`는 지우지 않는다. 최종 발표에서 "8주간 배운 것"으로 쓸 수 있다.
#### 기록
- 2026-08-22 — 워크샵 1주차 페이지를 처음 열어 보고 알게 됨. 같은 날 산출물 작성.
> 출처 — [`plan/문제점/P07-지표0.md`](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/P07-%EC%A7%80%ED%91%9C0.md) 를 그대로 옮긴 것입니다.
### P07 · 북극성 지표가 0이고 셀 방법이 없다
| | |
|---|---|
| 상태 | **열림** |
| 처음 본 날 | 2026-08-22 |
| 무엇에 영향을 주나 | W5 · W6 산출물, 최종 KPI 리포트 |
| 맡은 사람 | 미정 |
| 목록 | [문제점 전체](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/README.md) |
#### 증상
북극성 지표는 **주간 재검사 사용자 수**인데 지금 값이 0명이다. 사람이 안 써서가 아니라
**세는 기능 자체가 없다.** `docs/impact.md`에도 "아직 사용자가 몇 명인지 세지 않고 있습니다"라고
적어 두었다.
#### 왜 급한가
- W5(09-15 ~ 21) 산출물에 "사용자 기록 — 몇 명이 써 봤고 몇 명이 핵심 행동을 끝냈나"가 있다.
- W6(09-22 ~ 28) 산출물이 통째로 지표다 — 계측 이벤트 · 퍼널 · 리텐션 커브 · 북극성 지표 현황.
- 계측을 09-05에 붙이기로 계획했는데 **그날 못 붙이면 W5 · W6에 낼 숫자가 없다.**
#### 조건
이용자 대부분이 미성년 수험생이다. 개인을 알아볼 수 있는 것은 남기지 않는다.
무엇을 세고 무엇을 안 세는지 `docs/policy.md`에 적기 전에는 배포하지 않는다.
#### 다음에 해 볼 것
- [ ] 09-05 — 이벤트 4가지(방문 · 시작 · 완료 · 재검사) 심기
- [ ] 09-12 — 배포 서버에서 실제로 쌓이는지 확인
- [ ] 시간이 모자라면 **재검사 하나만** 붙인다. 그게 북극성 지표다
#### 기록
- 2026-08-22 — 팀 목표 1장을 쓰면서 현재 값이 0이라는 걸 확인.
> 출처 — [`plan/문제점/P08-번역429.md`](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/P08-%EB%B2%88%EC%97%AD429.md) 를 그대로 옮긴 것입니다.
### P08 · 배포 서버에서 번역 호출만 429로 계속 막힌다
| | |
|---|---|
| 상태 | **열림** — 고쳤지만 배포 서버에서 재확인 못 함 |
| 처음 본 날 | 2026-08-23 |
| 무엇에 영향을 주나 | 화면에 뜨는 영어·일본어·중국어 번역 |
| 맡은 사람 | 박지완 |
| 목록 | [문제점 전체](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/README.md) |
#### 증상
배포 서버에서 도면을 검사하면 채점 결과와 한국어 후속 답변은 나오는데
**세 언어 번역만 계속 비어 있었다.** 로그에 `[ai] 번역 실패` 가 429(할당량 초과)로
찍혔다. 화면은 번역 대신 안내 문구로 넘어가므로 겉보기에는 조용히 실패한다.
#### 원인
도면 한 장을 검사하면 AI를 **세 번** 부른다.
1. 채점 (`JUDGE_SYSTEM`)
2. 후속 답변 (`FOLLOWUP_SYSTEM`)
3. 번역 (`TRANSLATE_SYSTEM`)
무료 할당량이 세 배로 빨리 마르고, 순서상 **마지막인 번역이 먼저 굶는다.**
1·2번이 성공한 뒤라 채점은 멀쩡해 보이고 번역만 사라진다.
#### 조치
후속 답변과 번역을 **한 호출로 합쳤다**(`_enrich()`). 둘 다 채점 결과만 있으면
만들 수 있어서 따로 부를 이유가 없었다. 도면 한 장당 호출이 3회에서 2회로 줄었다.
`TRANSLATE_SYSTEM`·`TRANSLATE_SCHEMA`·`_add_followups`·`_translate` 는 지웠다.
합치면서 같이 고친 것 — 지시문으로 "조·항·장 번호를 쓰지 말라"고 막아도 모델이
`KS B 0001 제3장` 처럼 지어내는 일이 있었다. 받은 뒤 `_drop_clause_numbers()` 로
걷어낸다. 확인할 수 없는 조문 번호를 수험생이 근거로 믿게 되면 안 된다.
#### 확인
- 자동 테스트 16개 통과. `_drop_clause_numbers` 검사를 하나 새로 넣었다
(`test_drop_clause_numbers` — 한국어 `제3장`, 영어 `Section 4`, 일본어 `第3章`을
걷어내고 규격 이름과 치수 숫자는 그대로 두는지).
- **배포 서버에서 429가 실제로 사라지는지는 아직 확인 못 했다.** 호출 수가 준 것은
코드로 확인했지만, 할당량이 회복된 뒤 다시 돌려 봐야 한다.
#### 기록
- 2026-08-23 — 호출을 2회로 합치고 조문 번호 후처리를 넣었다. 배포 재확인은 남았다.
---
## 5. 오늘 맡은 일
> 출처 — [`plan/w1/08-24_월/계획.md`](https://github.com/ritual1127/naverogq/blob/main/plan/w1/08-24_%EC%9B%94/%EA%B3%84%ED%9A%8D.md) 를 그대로 옮긴 것입니다.
오늘 장우영 님에게 배정된 일은 없습니다. 아래 `전원` 항목만 보시면 됩니다.
### 전원이 같이 하는 것
**팀원 4명이 미션 문장 맞춰 보기** · 예상 20분
- 각자 문서를 안 보고 말해 본다. 한 명이라도 다르게 말하면 아직 합의된 게 아니다.
- 워크샵 자가 점검 1번이 이거다.
- 다르게 말한 부분이 있으면 그 자리에서 문장을 고친다.
**이렇게 되면 끝** — 네 명이 말한 문장이 같다
**흔한 실수** — 문서를 보면서 읽는 것. 안 보고 말해야 의미가 있다
---
## 6. 장우영 님이 8주 동안 맡은 일 전체
오늘 것만 보면 왜 이 일을 하는지 안 보여서 같이 넣었습니다.
> 출처 — [`plan/역할분담/장우영.md`](https://github.com/ritual1127/naverogq/blob/main/plan/%EC%97%AD%ED%95%A0%EB%B6%84%EB%8B%B4/%EC%9E%A5%EC%9A%B0%EC%98%81.md) 를 그대로 옮긴 것입니다.
### 장우영
배정 24건. [역할 분담 규칙](https://github.com/ritual1127/naverogq/blob/main/plan/%EC%97%AD%ED%95%A0%EB%B6%84%EB%8B%B4/README.md)
| 날짜 | 주차 | 맡은 일 | 계획 | 달성 | 실제로 한 일 |
|---|---|---|---|---|---|
| 08-23 (일) | W1 | `render_png`가 도면 단위를 반영하게 고치기 | [계획](https://github.com/ritual1127/naverogq/blob/main/plan/w1/08-23_%EC%9D%BC/%EA%B3%84%ED%9A%8D.md) | 🔺 | 박지완이 08-22 밤에 당겨서 함. `detect_mm_per_unit`으로 단위 환산, 201바이트 → 283KB |
| 08-25 (화) | W2 | 인터뷰할 5명 정하기 | [계획](https://github.com/ritual1127/naverogq/blob/main/plan/w2/08-25_%ED%99%94/%EA%B3%84%ED%9A%8D.md) | ⬜ | |
| 08-25 (화) | W2 | 인터뷰 기록 양식 만들기 | [계획](https://github.com/ritual1127/naverogq/blob/main/plan/w2/08-25_%ED%99%94/%EA%B3%84%ED%9A%8D.md) | ⬜ | |
| 08-28 (금) | W2 | 기계제도 담당 선생님 인터뷰 | [계획](https://github.com/ritual1127/naverogq/blob/main/plan/w2/08-28_%EA%B8%88/%EA%B3%84%ED%9A%8D.md) | ⬜ | |
| 08-31 (월) | W2 | 멘토에게 인터뷰 5건과 문제 정의 공유 | [계획](https://github.com/ritual1127/naverogq/blob/main/plan/w2/08-31_%EC%9B%94/%EA%B3%84%ED%9A%8D.md) | ⬜ | |
| 09-03 (목) | W3 | 모델 선택 근거 쓰기 | [계획](https://github.com/ritual1127/naverogq/blob/main/plan/w3/09-03_%EB%AA%A9/%EA%B3%84%ED%9A%8D.md) | ⬜ | |
| 09-04 (금) | W3 | Render 환경변수로만 들어가는지 확인 | [계획](https://github.com/ritual1127/naverogq/blob/main/plan/w3/09-04_%EA%B8%88/%EA%B3%84%ED%9A%8D.md) | ⬜ | |
| 09-05 (토) | W3 | 이벤트 4가지 심기 | [계획](https://github.com/ritual1127/naverogq/blob/main/plan/w3/09-05_%ED%86%A0/%EA%B3%84%ED%9A%8D.md) | ⬜ | |
| 09-06 (일) | W3 | 3분 대본 초안 | [계획](https://github.com/ritual1127/naverogq/blob/main/plan/w3/09-06_%EC%9D%BC/%EA%B3%84%ED%9A%8D.md) | ⬜ | |
| 09-08 (화) | W4 | 3분 데모 영상 찍기 | [계획](https://github.com/ritual1127/naverogq/blob/main/plan/w4/09-08_%ED%99%94/%EA%B3%84%ED%9A%8D.md) | ⬜ | |
| 09-12 (토) | W4 | 09-05에 붙인 계측이 실제로 쌓고 있는지 확인 | [계획](https://github.com/ritual1127/naverogq/blob/main/plan/w4/09-12_%ED%86%A0/%EA%B3%84%ED%9A%8D.md) | ⬜ | |
| 09-13 (일) | W4 | 한 줄 소개 초안 | [계획](https://github.com/ritual1127/naverogq/blob/main/plan/w4/09-13_%EC%9D%BC/%EA%B3%84%ED%9A%8D.md) | ⬜ | |
| 09-13 (일) | W4 | 선생님께 수업에서 써 봐도 되는지 여쭤보기 | [계획](https://github.com/ritual1127/naverogq/blob/main/plan/w4/09-13_%EC%9D%BC/%EA%B3%84%ED%9A%8D.md) | ⬜ | |
| 09-16 (수) | W5 | 올린 뒤 두 시간 지켜보기 | [계획](https://github.com/ritual1127/naverogq/blob/main/plan/w5/09-16_%EC%88%98/%EA%B3%84%ED%9A%8D.md) | ⬜ | |
| 09-17 (목) | W5 | 몇 명이 들어왔고 몇 명이 검사를 끝냈는지 | [계획](https://github.com/ritual1127/naverogq/blob/main/plan/w5/09-17_%EB%AA%A9/%EA%B3%84%ED%9A%8D.md) | ⬜ | |
| 09-20 (일) | W5 | W5 산출물 제출 21:00 | [계획](https://github.com/ritual1127/naverogq/blob/main/plan/w5/09-20_%EC%9D%BC/%EA%B3%84%ED%9A%8D.md) | ⬜ | |
| 09-22 (화) | W6 | 중복 집계나 누락이 없는지 | [계획](https://github.com/ritual1127/naverogq/blob/main/plan/w6/09-22_%ED%99%94/%EA%B3%84%ED%9A%8D.md) | ⬜ | |
| 09-25 (금) | W6 | 고치기 전 숫자 적기 | [계획](https://github.com/ritual1127/naverogq/blob/main/plan/w6/09-25_%EA%B8%88/%EA%B3%84%ED%9A%8D.md) | ⬜ | |
| 09-27 (일) | W6 | 주간 재검사 사용자 수 현황 정리 | [계획](https://github.com/ritual1127/naverogq/blob/main/plan/w6/09-27_%EC%9D%BC/%EA%B3%84%ED%9A%8D.md) | ⬜ | |
| 09-28 (월) | W6 | 멘토에게 지표 현황 공유 | [계획](https://github.com/ritual1127/naverogq/blob/main/plan/w6/09-28_%EC%9B%94/%EA%B3%84%ED%9A%8D.md) | ⬜ | |
| 10-04 (일) | W7 | 넘치면 설명을 줄인다 | [계획](https://github.com/ritual1127/naverogq/blob/main/plan/w7/10-04_%EC%9D%BC/%EA%B3%84%ED%9A%8D.md) | ⬜ | |
| 10-05 (월) | W7 | 멘토에게 대본 공유하고 질문 받기 | [계획](https://github.com/ritual1127/naverogq/blob/main/plan/w7/10-05_%EC%9B%94/%EA%B3%84%ED%9A%8D.md) | ⬜ | |
| 10-07 (수) | W8 | 질의응답 받아 적기 | [계획](https://github.com/ritual1127/naverogq/blob/main/plan/w8/10-07_%EC%88%98/%EA%B3%84%ED%9A%8D.md) | ⬜ | |
| 10-10 (토) | W8 | AI와 외부 도움 내역 명시 | [계획](https://github.com/ritual1127/naverogq/blob/main/plan/w8/10-10_%ED%86%A0/%EA%B3%84%ED%9A%8D.md) | ⬜ | |
달성: `⬜` 안 함 · `✅` 함 · `🔺` 반쯤 · `❌` 못 함
남과 바꿨으면 **실제로 한 일** 칸에 "○○와 바꿈"이라고 적습니다.
배정을 어떻게 정했는지, 남과 바꿨을 때 어떻게 적는지는 아래에 있습니다.
> 출처 — [`plan/역할분담/README.md`](https://github.com/ritual1127/naverogq/blob/main/plan/%EC%97%AD%ED%95%A0%EB%B6%84%EB%8B%B4/README.md) 를 그대로 옮긴 것입니다.
### 역할 분담
누가 언제 무엇을 맡았고 실제로 무엇을 했는지 남기는 폴더입니다.
#### 어떻게 정했나
- 담당자는 **무작위로 배정**합니다. 사람마다 잘하는 것만 계속 맡으면 한 사람만 늘고 나머지는 8주 동안 배우는 게 없습니다.
- 네 명을 섞은 묶음을 반복해 쓰기 때문에 **건수는 고르게** 나뉩니다.
- 회의 · 데모데이 참석 · 합의가 필요한 일은 배정하지 않고 `전원`으로 둡니다.
- 배정받은 사람이 도저히 못 하는 일이면 **그날 안에 바꾸고, 누구와 바꿨는지 이 폴더에 적습니다.** 조용히 남이 대신 하면 기록이 거짓이 됩니다.
- 08-18 ~ 08-22 는 이미 지난 날이라 무작위 배정이 아니라 **실제로 한 사람**을 적었습니다.
#### 사람별 기록
| 사람 | 배정 건수 | 기록 |
|---|---|---|
| 박지완 | 28건 | [박지완.md](https://github.com/ritual1127/naverogq/blob/main/plan/%EC%97%AD%ED%95%A0%EB%B6%84%EB%8B%B4/%EB%B0%95%EC%A7%80%EC%99%84.md) |
| 장우영 | 24건 | [장우영.md](https://github.com/ritual1127/naverogq/blob/main/plan/%EC%97%AD%ED%95%A0%EB%B6%84%EB%8B%B4/%EC%9E%A5%EC%9A%B0%EC%98%81.md) |
| 안대열 | 24건 | [안대열.md](https://github.com/ritual1127/naverogq/blob/main/plan/%EC%97%AD%ED%95%A0%EB%B6%84%EB%8B%B4/%EC%95%88%EB%8C%80%EC%97%B4.md) |
| 김승준 | 24건 | [김승준.md](https://github.com/ritual1127/naverogq/blob/main/plan/%EC%97%AD%ED%95%A0%EB%B6%84%EB%8B%B4/%EA%B9%80%EC%8A%B9%EC%A4%80.md) |
| 전원 | 39건 | 회의 · 참석 · 합의 |
#### 주차별 배정
| 주차 | 박지완 | 장우영 | 안대열 | 김승준 | 전원 |
|---|---|---|---|---|---|
| W1 | 6 | 1 | 2 | 2 | 6 |
| W2 | 3 | 4 | 3 | 3 | 7 |
| W3 | 5 | 4 | 4 | 4 | 4 |
| W4 | 2 | 4 | 4 | 3 | 4 |
| W5 | 5 | 3 | 3 | 4 | 2 |
| W6 | 2 | 4 | 3 | 4 | 3 |
| W7 | 3 | 2 | 2 | 2 | 5 |
| W8 | 2 | 2 | 3 | 2 | 8 |
#### 적는 법
1. 그날 일이 끝나면 본인 파일에서 그 줄의 달성 칸을 고칩니다 (`⬜` → `✅` · `🔺` · `❌`).
2. **실제로 한 일** 칸에 무엇을 했는지 한 줄 적습니다. 계획과 달라졌으면 달라진 대로 적습니다.
3. 남과 바꿨으면 두 사람 파일 모두에 적습니다.
4. 못 한 것은 지우지 않습니다. `❌`로 남기고 이유를 적습니다. 다 `✅`인 기록은 아무도 믿지 않습니다.
---
## 7. 한 결과
**여기부터 채워 주세요. 위쪽은 건드리지 않으셔도 됩니다.**
| | |
|---|---|
| 달성 | ⬜ |
| 걸린 시간 | |
달성 칸의 `⬜` 를 `✅` 함 · `🔺` 반쯤 함 · `❌` 못 함 중 하나로 바꿔 주세요.
**다 `✅` 로 채우지 마세요.** 못 한 건 `❌` 입니다. 8주 뒤 심사에서 전부
성공한 기록은 아무도 믿지 않습니다.
### 실제로 한 일
*(계획과 달라졌으면 달라진 대로 적어 주세요. 숫자가 나왔으면 숫자를 적어 주세요.
"메일 보냈다" 보다 "08-24 19:10 에 netclaus@gmail.com 으로 보냈다" 가 낫습니다.)*
### 막힌 것 · 문제
*(없으면 "없음" 이라고 적어 주세요. **지어내지 마세요.** 지어낸 문제가 한 건이라도
섞이면 나머지 기록도 같이 못 믿게 됩니다.
문제인 것 — 틀린 결과가 나왔다, 하려던 게 안 됐다, 계획보다 시간이 훨씬 더 들었다,
연락이나 자료가 없어서 막혔다.
문제가 아닌 것 — 아직 안 만든 기능, 다음에 하기로 한 일, 잘 됐는데 더 잘하고 싶은 것.)*
### 남과 바꿨으면
*(누구와 바꿨는지 적어 주세요. 예: "장우영과 바꿈". 조용히 남이 대신 하면
기록이 거짓이 됩니다. 안 바꿨으면 비워 두세요.)*
멘토에게 팀 목표 1장 보내기
예상 30분- 멘토 배정 메일이 아직 안 왔다. 08-17 이후 운영진 메일이 한 통도 없다.
- 안 오면 운영진(netclaus@gmail.com)에 회신해 물어본다: 전담 멘토가 누구인지, 1:1 세션을 언제 잡는지.
- 메일에는 저장소 링크(https://github.com/ritual1127/naverogq)와
plan/w1/팀목표.md 링크를 같이 넣는다.
이렇게 되면 끝보낸 메일함에 제출 기록이 남았다
흔한 실수멘토를 못 찾았다고 아무에게도 안 보내는 것
# 08-24 (월) · W1 7일차 · 안대열 일지
**고칠 곳은 맨 아래 [7. 한 결과](#7-한-결과) 한 군데뿐입니다.**
1~6번은 저장소 여기저기에 흩어져 있는 문서를 한자리에 모은 것입니다.
저장소를 따로 열지 않아도 오늘 일을 할 수 있게 하려는 것입니다.
| | |
|---|---|
| 날짜 | 08-24 (월) · W1 7일차 |
| 맡은 사람 | 안대열 |
| 오늘 계획 원문 | [plan/w1/08-24_월/계획.md](https://github.com/ritual1127/naverogq/blob/main/plan/w1/08-24_%EC%9B%94/%EA%B3%84%ED%9A%8D.md) |
| 이 파일의 자리 | `plan/역할분담/일지/08-24_안대열.md` |
## 차례
1. 우리가 뭘 만들고 있나
2. 왜 지금 이걸 하고 있나
3. 이번 주에 무슨 일이 있었나
4. 지금까지 만난 문제 전부
5. **오늘 맡은 일**
6. 안대열 님이 8주 동안 맡은 일 전체
7. **한 결과** ← 여기만 채우시면 됩니다
---
## 1. 우리가 뭘 만들고 있나
> 출처 — [`plan/w1/팀목표.md`](https://github.com/ritual1127/naverogq/blob/main/plan/w1/%ED%8C%80%EB%AA%A9%ED%91%9C.md) 를 그대로 옮긴 것입니다.
### 팀 목표 1장 — 네이놈
전국마이스터고 스타프로젝트 W1(2026-08-18 ~ 08-24) 산출물입니다.
프로덕트: **CADLens** — https://naverogq.onrender.com · https://github.com/ritual1127/naverogq
---
#### ① 미션 한 문장
> **우리는 전산응용기계제도기능사 실기를 혼자 준비하는 수험생이 도면을 제출하기 직전에
> 겪는, 무엇을 빠뜨렸는지 짚어 줄 사람이 없는 문제를, 도면 파일을 올리면 빠진 항목을
> 도면 위에 찍어 주는 웹 검사기로 없앤다.**
- **누가** — 전산응용기계제도기능사 실기를 혼자 준비하는 수험생 (학원에 다니지 않는 특성화고·마이스터고 학생)
- **어떤 상황** — 4시간짜리 실기 도면을 다 그리고 제출 직전
- **어떤 불편** — 표면거칠기·데이텀·지름 치수를 빠뜨려도 아무도 짚어 주지 않음. 그중 일부는 감점이 아니라 바로 오작(실격)
- **어떤 방식** — 도면 파일(DWG·DXF)을 올리면 24개 항목을 검사해 문제 위치에 번호를 찍고 고치는 법을 알려주는 웹 서비스
대상을 "기계제도를 배우는 학생 모두"가 아니라 **"혼자 준비하는 실기 수험생"** 으로 좁혔습니다.
옆에 봐 줄 사람이 있는 학생은 이 문제를 안 겪습니다.
#### ② 북극성 지표
**주간 재검사 사용자 수 — 도면을 한 번 검사하고, 고쳐서 다시 올린 사람의 주간 수(익명 집계).**
| | 값 |
|---|---|
| 오늘(2026-08-22) 현재 값 | **0명** — 집계 기능 자체가 없음 |
| 8주 뒤(2026-10-12) 목표 | **주 20명** |
- **왜 이 지표인가** — 한 번 올려 보고 마는 것은 호기심입니다. **고쳐서 다시 올렸다는 건 지적이 실제로 맞았고
도움이 됐다는 뜻**입니다. CADLens가 하려는 일(`검사 → 고치기 → 재검사`)이 그대로 숫자가 됩니다.
- **왜 가입자 수·페이지뷰가 아닌가** — 재방문이 안 잡힙니다. 커밋 수는 저희가 열심히 했다는 증거일 뿐 수험생에게 아무 의미가 없습니다.
- **20명의 근거** — 없습니다. 기계과 한 반 규모를 기준으로 일단 정했습니다.
- **집계 방식** — 회원가입이 없고 이용자 대부분이 미성년자라, 개인을 알아볼 수 있는 정보는 남기지 않고
익명 검사 기록만 셉니다. 지금은 품질을 먼저 올리고 집계를 붙일 예정입니다([발전 계획](https://github.com/ritual1127/naverogq/blob/main/plan/docs/roadmap.md) 참고).
#### ③ 역할 분담
| 이름 | 담당 | 이번 8주에 책임지는 것 |
|---|---|---|
| 박지완 | 개발 총괄 · 저장소 | 서버, 검사 규칙, AI 채점, 커밋과 배포 |
| 장우영 | 사용자 접촉 | 기계과 학생·선생님 베타 테스트 모집, 피드백을 이슈로 정리 |
| 안대열 | 도면 데이터 · 검증 | 실제 수험생 도면 수집과 라벨링, `bench.py`·`variance.py` 측정 기록 |
| 김승준 | 발표 · 기록 | 데모데이 3분 영상, 발표, 주간 계획과 문서 갱신 |
한 사람이 놀고 한 사람이 다 하는 걸 막으려고 나눴습니다. 담당이라는 건 **그 일을 혼자 한다는 뜻이 아니라
그 일이 안 됐을 때 물어볼 사람이 정해져 있다는 뜻**입니다.
#### ④ 팀 규칙 3줄
1. **의견이 갈리면 재서 정한다.** 숫자로 잴 수 있으면(정확도·편차·속도) 재 보고 결과를 따르고, 잴 수 없으면
그 영역 담당자가 정한다. 어느 쪽이든 **30분 안에 끝내고 결정한 이유를 저장소에 남긴다.**
2. **한 일은 저장소에 남긴다.** 커밋이나 문서로 남지 않은 작업은 없었던 것으로 본다.
3. **못한 건 못했다고 그 주에 적는다.** 안 되는 걸 되는 척하면 다음 주에 두 배로 돌아온다.
#### ⑤ 주간 리듬
| 요일 | 무엇 |
|---|---|
| 화 20:00 | 팀 회의 — 그 주 워크샵 강의를 같이 보고 할 일을 나눔 |
| 목 | 그 주 산출물 점검 — 남은 항목을 나눠 맡음 |
| 일 21:00 | [팀 페이지](https://meister.itshin.com/네이놈)에 그 주 산출물 제출 · 주간 계획 파일([plan/](https://github.com/ritual1127/naverogq/blob/main/plan/w1/README.md)) 갱신 |
전담 멘토는 NAVER OGQ마켓 신철호 대표이고, 피드백은 **4주차(09-09 17:00) · 8주차(10-07 17:00) 데모데이에서 30팀 전체 총평**으로 받습니다.
1:1 멘토링은 2차 심사를 통과한 5팀만 따로 진행합니다. 그래서 주간 리듬에 1:1 세션을 넣지 않았습니다.
---
#### 자가 점검
| 문항 | 답 |
|---|---|
| 팀원 아무나 물어도 미션 문장을 똑같이 말할 수 있다 | 이 문서를 팀 전원이 읽고 화요일 회의에서 맞춰 봄 |
| 대상이 누구인지 한 명의 구체적인 사람으로 떠올릴 수 있다 | 예 — 학원에 다니지 않고 혼자 실기를 준비하는 우리 학교 기계과 학생 |
| 이번 주에 만든 것이 북극성 지표를 올리는지 설명할 수 있다 | 예 — AI 채점이 백지를 채점하고 있었다. 지적이 틀리면 아무도 다시 안 올린다 |
| 의견이 갈렸을 때 어떻게 정하는지 팀 전원이 안다 | 규칙 1번 |
| 다음 주에 무엇을 할지 지금 말할 수 있다 | 예 — [이번 주 계획](https://github.com/ritual1127/naverogq/blob/main/plan/w1/2026-08-4%EC%A3%BC%EC%B0%A8.md) |
---
## 2. 왜 지금 이걸 하고 있나
> 출처 — [`docs/roadmap.md`](https://github.com/ritual1127/naverogq/blob/main/docs/roadmap.md) 를 그대로 옮긴 것입니다.
### CADLens 발전 계획
앞으로 무엇을 어떤 순서로 할지 적어 둔 문서입니다. 기준일은 **2026년 8월 11일**입니다.
지금 무엇이 되고 무엇이 안 되는지는 [검사 정확도](https://github.com/ritual1127/naverogq/blob/main/docs/accuracy.md)에, 다른 종목으로 넓힐 수
있는지는 [`example/`](https://github.com/ritual1127/naverogq/blob/main/example)에 있습니다.
---
#### 우선순위
번호가 곧 순서입니다. 위에 있는 게 안 되면 아래 것을 해도 의미가 없습니다.
##### 1. 실제 수험생 도면으로 정확도 다시 재기
지금 정확도 100%는 **저희가 직접 만든 연습용 도면 18장** 기준입니다. 도면을 만든 사람과
검사 규칙을 만든 사람이 같아서, 이 숫자만으로는 실제 시험 도면에서도 맞는다고 말할 수
없습니다. **이게 안 되면 나머지가 다 의미 없습니다.**
- [ ] 기계과 학생 도면을 이름 지운 상태로 모으기
- [ ] 같은 방식으로 다시 측정해 [검사 정확도](https://github.com/ritual1127/naverogq/blob/main/docs/accuracy.md)의 표를 실제 도면 기준으로 교체
- [ ] 자체 제작 도면과 실제 도면의 결과 차이를 그대로 공개
##### 2. AI 점수 안정시키기
투상도 30점은 AI가 매기는데 **같은 도면을 다시 넣으면 점수가 흔들립니다.** 확정 점수가
아니라고 화면에 적어 두긴 했지만, 흔들리는 폭 자체를 줄여야 합니다.
- [x] 같은 도면을 여러 번 돌려 편차가 몇 점인지 먼저 측정 — `variance.py`, 결과는 [검사 정확도](https://github.com/ritual1127/naverogq/blob/main/docs/accuracy.md)에 있습니다 (2026-08-22)
- [ ] **단위가 mm가 아닌 도면의 백지 렌더 고치기.** 편차를 재다 드러났습니다. 도면 범위를 그대로 밀리미터로 보는 탓에 AI가 백지를 채점하고 있었습니다. 여기부터 고쳐야 아래 항목들이 의미가 있습니다
- [ ] 규칙으로 옮길 수 있는 건 옮기기 — 뷰 개수, 제3각법 배치는 좌표로 계산할 수 있을지 검토
- [ ] 그래도 남는 부분은 여러 번 물어 중앙값을 쓰는 방식 검토 (정확해지지만 비용이 늘어남)
- [ ] AI가 틀린 사례를 모아 두기. "AI를 어떻게 검증했나"에 답할 근거가 됩니다
##### 3. 못 잡는 것 줄이기
[검사 정확도](https://github.com/ritual1127/naverogq/blob/main/docs/accuracy.md)의 약점 표를 하나씩 지웁니다.
- [ ] 선으로만 그린 표면거칠기 기호 (지금은 문자로만 찾음)
- [ ] 직접 그린 기하공차 기입틀 (지금은 TOLERANCE 엔티티와 문자로만 찾음)
- [ ] 이름이 CENTER 계열이 아닌 중심선 레이어
- [ ] 선 4개로 그린 윤곽선 (지금은 닫힌 사각형만 인식)
##### 4. 지원 형식 넓히기
- [ ] Inventor의 ipt · idw · iam. 3D 파일을 읽으려면 파싱 모듈이 새로 필요합니다
- [ ] 3D 모델 채점은 2D가 안정된 뒤에 합니다
##### 5. 다른 종목으로 넓히기
`exam.py`의 판정 함수와 루브릭이 KS 제도 규칙에 기반해 있어 다른 종목에도 상당 부분
그대로 쓸 수 있습니다. 어디까지 되는지는 미리 조사해 [`example/`](https://github.com/ritual1127/naverogq/blob/main/example)에 남겼습니다.
| 종목 | 규칙 재사용 | 순서 |
|---|---|---|
| 기계설계산업기사 | 약 90% | 1순위 |
| 일반기계기사 | 약 60% | 2순위 (작업형 한정) |
| 사출금형산업기사 | 약 55% | 3순위 |
| 프레스금형산업기사 | 약 50% | 4순위 |
- [ ] **0단계 — 구조 정리.** `exam.py`가 기능사 기준값을 모듈 상수로 박아 두고 있어 두 번째
종목이 들어오면 막힙니다. 값을 종목별로 분리하되 **검사 함수 안에 종목 분기는 넣지
않습니다.** 종목이 늘어나면 분기가 규칙마다 퍼져 손댈 수 없게 됩니다
- [ ] 종목별 공개문제를 3개 회차 이상 확보하기 전에는 코드를 건드리지 않습니다.
확인되지 않은 기준으로 검사 규칙을 만들면 응시자에게 틀린 지적을 하게 됩니다
##### 6. 학교에서 쓸 수 있게 만들기
- [ ] 반 단위 화면 — 선생님이 여러 도면을 한 번에 확인
- [ ] 학교 단위 이용 시 개인정보 처리 안내문 정리
---
#### 얼마나 쓰이는지 재는 방법
지금은 **아무것도 세지 않습니다.** 사람을 모으는 것보다 먼저 고칠 게 남았다고 봤고,
쓰는 사람 대부분이 미성년자라 함부로 붙일 수도 없었습니다.
CADLens는 [공개 고지](https://github.com/ritual1127/naverogq/blob/main/docs/policy.md)에서 **추적 코드가 없고, 회원가입이 없고, 개인을 알아볼 수
있는 정보를 받지 않는다**고 약속했습니다. 지표가 필요하다고 그 약속을 깨면 정직함으로 쌓은
걸 스스로 무너뜨리는 것이라, **약속을 지키면서 셀 수 있는 것만** 세기로 했습니다.
**셀 것**
| 지표 | 어떻게 | 개인 식별 |
|---|---|---|
| 검사 횟수 (일별·월별) | 검사가 끝날 때 숫자만 +1 | 없음 |
| 재방문율 | 브라우저에 이미 있는 `cadcheck.history`로 "2회 이상 검사한 브라우저" 비율 | 없음. 기기 안에서 판단하고 결과 숫자만 보고 |
| 재검사 비율 | 같은 파일 이름을 다시 올린 비율 (= 고치고 다시 온 사람) | 없음 |
| 점수 개선 폭 | 재검사 때 점수가 몇 점 올랐는지 | 없음 |
| 언어·다크모드 분포 | 이미 브라우저에 있는 설정값 집계 | 없음 |
**안 셀 것** — IP, 쿠키, 광고 ID, 도면 내용, 파일 이름 원본, 위치, 기기 지문.
**대표로 삼을 숫자는 방문자 수가 아닙니다.** CADLens에서 의미 있는 건
**"검사 → 고침 → 재검사로 점수가 오른 사람의 비율"** 입니다. "몇 명이 왔다"가 아니라
**"몇 명이 실제로 나아졌다"** 는 뜻이라, 도면을 봐주는 도구로서 훨씬 정확한 숫자입니다.
집계를 시작하면 [임팩트](https://github.com/ritual1127/naverogq/blob/main/docs/impact.md)와 README의 해당 절을 실제 숫자로 바꿉니다.
---
#### 문서를 어떻게 관리할지
숫자가 문서마다 다르면 그 자체로 신뢰를 잃습니다.
- [ ] 정확도를 다시 잴 때마다 README · [검사 정확도](https://github.com/ritual1127/naverogq/blob/main/docs/accuracy.md) · [임팩트](https://github.com/ritual1127/naverogq/blob/main/docs/impact.md)의
숫자를 같이 맞춥니다
- [ ] 응시자 통계는 [`example/96_응시자_통계.md`](https://github.com/ritual1127/naverogq/blob/main/example/96_%EC%9D%91%EC%8B%9C%EC%9E%90_%ED%86%B5%EA%B3%84.md)를 원본으로
두고 다른 문서는 그걸 인용합니다. 아직 1차 출처(통계연보)로 대조하지 않았다는 것도
그 문서에 적어 뒀습니다
- [ ] 문서가 코드의 함수 이름이나 상수를 언급하면, 그게 실제로 있는지 확인하고 씁니다
---
#### 한 줄로 줄이면
**"쓰는 사람이 있고, 그 사람들이 실제로 나아졌다"를 숫자로 만드는 것.**
기술은 어느 정도 됐고, 비어 있는 건 그 숫자입니다.
---
## 3. 이번 주에 무슨 일이 있었나
> 출처 — [`plan/w1/기록.md`](https://github.com/ritual1127/naverogq/blob/main/plan/w1/%EA%B8%B0%EB%A1%9D.md) 를 그대로 옮긴 것입니다.
### 2026-08-4주차 (08-22 토 ~ 08-23 일)
본선 발표(08-17) 직후라 이번 주는 이틀뿐입니다. 이틀에 하나씩, 두 개만 합니다.
심사 피드백이 지적한 것 중 **"AI 판단 정확도를 높이라"** 가 이번 주 몫입니다.
[발전 계획](https://github.com/ritual1127/naverogq/blob/main/plan/docs/roadmap.md)의 2번(AI 점수 안정시키기)에 해당합니다.
1번(실제 수험생 도면으로 재측정)은 남의 도면을 모아야 해서 주말에 혼자 못 합니다.
그래서 혼자서 끝낼 수 있는 2번을 먼저 잡았습니다.
---
#### 08-22 (토) — AI 점수가 얼마나 흔들리는지 숫자로 잰다
투상도 30점은 AI가 매기는데 같은 도면을 다시 넣으면 점수가 달라집니다.
흔들린다는 건 알지만 **몇 점이 흔들리는지 모릅니다.** 모르면 줄였는지도 알 수 없습니다.
고치기 전에 재는 게 먼저입니다.
- [x] 같은 도면을 여러 번 채점해 점수 분포를 뽑는 도구 만들기 — `variance.py`
- [x] 캐시를 타지 않게 할 것 — `judge()` 대신 제공자를 직접 부른다
- [x] 어떤 지적이 나왔다 안 나왔다 하는지도 같이 세기
- [x] 통계 계산이 맞는지 확인하는 테스트 한 개 — `test_variance_spread`
- [x] 실제로 돌려서 나온 숫자를 [검사 정확도](https://github.com/ritual1127/naverogq/blob/main/plan/docs/accuracy.md)에 남기기
**끝난 기준** — 채웠습니다. 도면 3장을 5회씩 채점했습니다.
| 도면 | 5회 점수 | 폭 |
|---|---|---|
| `sample_plate.dxf` | 18, 18, 20, 20, 20 | 2점 |
| `sample_autocad.dxf` | 18, 18, 18, 18, 18 | 0점 |
| `sample_075em07z.dwg` | 0, 18, 18, 18, 18 | **18점** |
**재다가 더 큰 걸 찾았습니다.** 선이 6,373개 들어 있는 실제 도면인데 AI에게
보내는 그림이 201바이트짜리 백지였습니다. AI는 도면이 아니라 빈 종이를 보고
"투상도가 하나도 없다"고 5회 모두 답했습니다. 원인은 도면 단위입니다.
`render_png`가 도면 범위를 그대로 밀리미터로 보는데, 이 파일은 범위가 0.12라서
사방 5mm 여백에 그림이 다 먹힙니다. **단위가 mm가 아닌 도면은 AI 30점이 통째로
엉터리였습니다.** 그래서 내일 할 일을 바꿉니다.
#### 08-23 (일) — 백지 렌더를 고치고 감점 폭을 잡는다
토요일에 잰 18점 편차는 AI가 오락가락한 게 아니라 **백지를 보고 몇 점 깎을지
고민한 결과**였습니다. 렌더링이 먼저입니다.
**08-22 밤에 당겨서 했습니다.** 일요일에 시간이 나지 않아 토요일에 몰아 했습니다.
- [x] 도면 단위(`$INSUNITS`)를 반영해 그림 크기를 맞추기. mm가 아니면 환산하고,
단위를 알 수 없으면 도면 범위에 맞춰 페이지를 채우기
— `dwg.detect_mm_per_unit`을 그대로 써서 환산. 201바이트 → 283,550바이트
- [x] 고친 뒤 `sample_075em07z.dwg` 그림을 저장해 눈으로 확인. 201바이트가 아니어야 함
— 열어서 도면이 보이는 것까지 확인. `sample_autocad.dxf`도 백지였다는 것을 이때 알았습니다
- [x] `variance.py`로 다시 재서, 진짜 도면을 봤을 때의 편차를 새로 기록
— 0, 0, 5, 9, 18. 폭 18점 그대로, 중앙값만 18점에서 5점으로 내려갔습니다
- [x] 남는 감점 폭 줄이기 — 프롬프트가 정한 8~12점 범위를 벗어난 판정이 나왔으므로
점수 상한을 스키마나 후처리에서 눌러 주는 방법 검토
— `MAX_SINGLE_DEDUCT = 12` 로 후처리에서 눌렀습니다
- [ ] 지적 제목이 매번 다르게 적히는 문제 — 제목을 정해진 목록에서 고르게 할지 검토
— 못 했습니다. [P03](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/P03-%EC%A7%80%EC%A0%81%EC%A0%9C%EB%AA%A9%ED%9D%94%EB%93%A4%EB%A6%BC.md)으로 열려 있습니다
**끝난 기준** — 반쯤 채웠습니다. 렌더는 백지가 아니고([P01](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/P01-%EB%B0%B1%EC%A7%80%EB%A0%8C%EB%8D%94.md) 해결),
그 상태의 5회 점수 폭도 [검사 정확도](https://github.com/ritual1127/naverogq/blob/main/docs/accuracy.md)에 새로 적었습니다.
다만 **폭 18점은 그대로여서 편차를 줄이지는 못했습니다.** 편차의 원인이 백지가 아니라
프롬프트와 모델 쪽이라는 것만 알아냈습니다. 표본 자체가 기계 부품 도면이 아니라 무늬
도면이어서, 편차는 실제 수험생 도면으로 다시 재야 합니다([P04](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/P04-%ED%91%9C%EB%B3%B8%EB%8F%84%EB%A9%B4.md)).
#### 계획에 없었는데 이번 주에 나온 것
워크샵 1주차(08-18 ~ 08-24) 산출물인 **팀 목표 1장**의 마감이 이번 주였습니다.
계획을 심사 피드백만 보고 짜서 빠뜨렸습니다.
- [x] [팀 목표 1장](https://github.com/ritual1127/naverogq/blob/main/plan/w1/W1_%ED%8C%80%EB%AA%A9%ED%91%9C.md) 작성 — 미션 문장 · 북극성 지표 · 역할 분담 · 팀 규칙 · 주간 리듬
- [x] README 맨 위에 미션 문장과 북극성 지표 적기 (1주차가 요구한 것)
- [ ] 전담 멘토에게 공유 — **멘토 배정 메일이 아직 안 왔습니다.** 안 오면 운영진 메일로 회신해 물어볼 것
- [ ] 팀 전원이 미션 문장을 읽고 화요일 회의에서 맞춰 보기
배포 서버에서 **세 언어 번역만 계속 429로 막히는 것**도 08-23에 드러났습니다.
도면 한 장에 AI를 세 번(채점 · 후속 답변 · 번역) 부르는데 순서상 마지막인 번역이
먼저 굶었습니다.
- [x] 후속 답변과 번역을 한 호출로 합치기 — 도면당 3회에서 2회로. `_enrich()`
- [x] 모델이 지어내는 조·항·장 번호를 후처리로 걷어내기 — `_drop_clause_numbers()`
- [ ] 배포 서버에서 429가 실제로 사라지는지 확인 — **할당량이 회복돼야 볼 수 있습니다**
자세한 것은 [P08](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/P08-%EB%B2%88%EC%97%AD429.md)에 있습니다.
**다음 주부터는 주차 계획을 짤 때 그 주 워크샵 페이지를 먼저 열어 봅니다.**
#### 08-24 (월) — 제출 경로를 뚫고 W2를 미리 연다
사람이 해야 하는 일(메일 발송 · 팀원 대화)이 대부분인 날이라 저장소에 남은 것은 적습니다.
- [x] [팀 목표 1장](https://github.com/ritual1127/naverogq/blob/main/plan/w1/%ED%8C%80%EB%AA%A9%ED%91%9C.md)을 워크샵이 요구한 형식대로 **A4 한 장 PDF**로 만들었습니다(`팀목표.pdf`).
다섯 항목이 한 장 안에서 번호로 세어지게 놓고, 8주 목표(오늘 0명 → 8주 뒤 주 20명)를 따로
박스로 뺐습니다. 색은 임의로 고르지 않고 서비스 화면(`static/index.html`)의 팔레트를 그대로 썼습니다.
- [x] W2 워크샵 페이지를 미리 열어 산출물과 조건을 [W2 주차 계획](https://github.com/ritual1127/naverogq/blob/main/plan/w2/README.md)에 옮겨 적었습니다 —
인터뷰 5건 + 문제 정의 한 문장, 지인이 아닌 실제 사용자 5명, 1건당 15분, 인용 3개 이상,
미래 가정이 아니라 과거 행동을 묻기. 1주차에 강의를 늦게 열어 산출물을 놓쳤던 것([P06](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/P06-%EC%9B%8C%ED%81%AC%EC%83%B5%EB%86%93%EC%B9%A8.md))의 반작용입니다.
- [x] 메일함을 다시 봤습니다. **08-23 09:20 에 운영진 안내 메일이 와 있었습니다.**
제출처는 멘토 메일이 아니라 **팀 페이지**(https://meister.itshin.com/네이놈)의 `주차별 산출물`이었습니다.
전담 멘토는 NAVER OGQ마켓 신철호 대표이고 피드백은 데모데이 2회 총평, **1:1 멘토링은 2차 심사 통과 5팀만** 합니다.
만들어 둔 멘토 공유 메일 초안은 버리고 [제출 절차](https://github.com/ritual1127/naverogq/blob/main/plan/w1/08-24_%EC%9B%94/%EC%A0%9C%EC%B6%9C%EC%A0%88%EC%B0%A8.md)로 바꿔 적었습니다([P05](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/P05-%EB%A9%98%ED%86%A0%EB%B0%B0%EC%A0%95.md) 해결).
- [x] 팀 목표 1장의 주간 리듬에서 **있지도 않은 목요일 1:1 멘토링 칸을 빼고** 팀 페이지 제출로 고쳤습니다(md · PDF 둘 다).
- [ ] **팀 페이지 업로드 — 못 했습니다.** 구글 로그인이 필요해 사람 몫입니다.
- [ ] **팀원 4명이 미션 문장 맞춰 보기 — 못 했습니다.** 08-25 회의로 넘깁니다.
- [ ] **인터뷰 대상 5명 확정 — 못 했습니다.** 사람 이름은 팀이 정할 일이라 08-25 회의로 넘깁니다.
**이틀 동안 "멘토를 몰라 제출을 못 한다"고 적어 둔 것이 틀렸습니다.** 안내 메일은 08-23 아침에 이미 와 있었고,
우리는 08-24 에야 메일함을 다시 봤습니다. 막힌 줄 알았던 제출 경로는 처음부터 열려 있었습니다.
남은 것은 팀 페이지에 로그인해서 올리는 일뿐입니다.
#### 다음 주로 넘기는 것
- 실제 수험생 도면 모으기 (발전 계획 1번) — 학교 개학 후 부탁해야 함
- 09-09 데모데이 1차 3분 영상 — 편차를 줄인 뒤에 찍어야 보여줄 게 생김
8주 전체 일정은 [`plan/README.md`](https://github.com/ritual1127/naverogq/blob/main/plan/README.md) 에 있습니다.
---
## 4. 지금까지 만난 문제 전부
오늘 일이 막히면 **여기 이미 적혀 있는 문제인지 먼저 보세요.** 같은 문제를
두 번 파느라 하루를 날리는 게 제일 아깝습니다. 새 문제면 아래 7번
`막힌 것 · 문제` 칸에 적어 주시면 제가 문제점 폴더로 옮깁니다.
> 출처 — [`plan/문제점/README.md`](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/README.md) 를 그대로 옮긴 것입니다.
### 문제점
일하다 만난 문제를 **그때그때 적어 두는 폴더**입니다. 고쳤든 못 고쳤든 남깁니다.
왜 남기나 — 문제를 고치고 나면 그런 문제가 있었다는 사실 자체를 잊습니다.
8주 뒤 발표에서 "무엇을 어떻게 알아냈는가"를 말할 수 있는 팀과 "잘 됩니다"만
말하는 팀은 여기서 갈립니다. 심사 피드백도 **안 되는 걸 공개하는 것**을 우리 강점으로
꼽았습니다.
#### 원칙 — 없는 문제를 지어내지 않는다
**실제로 겪은 것만 적습니다.** 그날 아무 문제도 없었으면 아무것도 적지 않습니다.
기록을 채우려고 "개선하면 좋을 점" 같은 것을 문제로 올리지 않습니다.
지어낸 문제가 한 건이라도 섞이면 나머지 기록도 같이 못 믿게 됩니다.
빈 주가 있는 게 정상이고, 그게 이 폴더가 진짜라는 증거입니다.
문제인 것 — 실제로 틀린 결과가 나왔다, 하려던 게 안 됐다, 시간이 계획보다 훨씬 더 들었다,
연락이나 자료가 없어서 막혔다.
문제가 아닌 것 — 아직 안 만든 기능, 다음에 하기로 한 일, 잘 됐는데 더 잘하고 싶은 것.
그런 건 [발전 계획](https://github.com/ritual1127/naverogq/blob/main/docs/roadmap.md)이나 그날 계획에 적습니다.
#### 현황
| 번호 | 문제 | 상태 | 처음 본 날 | 영향 |
|---|---|---|---|---|
| [P01](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/P01-%EB%B0%B1%EC%A7%80%EB%A0%8C%EB%8D%94.md) | 단위가 mm가 아닌 도면이 백지로 렌더된다 | ✅ 해결 | 2026-08-22 | AI 채점 30점 전부 |
| [P02](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/P02-AI%EC%A0%90%EC%88%98%ED%8E%B8%EC%B0%A8.md) | 같은 도면인데 AI 점수가 매번 달라진다 | 🔴 열림 | 2026-08-22 | AI 채점 30점 |
| [P03](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/P03-%EC%A7%80%EC%A0%81%EC%A0%9C%EB%AA%A9%ED%9D%94%EB%93%A4%EB%A6%BC.md) | 같은 판정인데 지적 제목이 매번 다르게 적힌다 | 🔴 열림 | 2026-08-22 | 수험생이 보는 화면 · 재검사 비교 |
| [P04](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/P04-%ED%91%9C%EB%B3%B8%EB%8F%84%EB%A9%B4.md) | 측정에 쓰는 표본이 실제 시험 도면이 아니다 | 🔴 열림 | 2026-08-22 | 정확도 · 편차 측정 전부 |
| [P05](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/P05-%EB%A9%98%ED%86%A0%EB%B0%B0%EC%A0%95.md) | 제출처를 잘못 알았다 — 안내 메일을 이틀 늦게 봤다 | ✅ 해결 | 2026-08-22 | 산출물 제출 경로 전체 |
| [P06](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/P06-%EC%9B%8C%ED%81%AC%EC%83%B5%EB%86%93%EC%B9%A8.md) | 워크샵 1주차 산출물을 통째로 놓쳤다 | ✅ 해결 | 2026-08-22 | W1 산출물 · 진행 방식 |
| [P07](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/P07-%EC%A7%80%ED%91%9C0.md) | 북극성 지표가 0이고 셀 방법이 없다 | 🔴 열림 | 2026-08-22 | W5 · W6 산출물, 최종 KPI 리포트 |
| [P08](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/P08-%EB%B2%88%EC%97%AD429.md) | 배포 서버에서 번역 호출만 429로 계속 막힌다 | 🔴 열림 | 2026-08-23 | 화면에 뜨는 영어·일본어·중국어 번역 |
**열린 문제 5건 · 해결 3건** (P08 은 고쳤으나 배포 재확인 전)
#### 적는 법
1. **새 문제**를 만나면 파일 하나를 만듭니다. 이름은 `P08-짧은이름.md`처럼 번호를 이어 붙입니다.
2. 머리표를 채웁니다 — 상태 · 처음 본 날 · 무엇에 영향을 주나 · 맡은 사람.
3. 본문은 **증상 → 원인 → 조치 → 확인** 순서로 씁니다. 원인을 모르면 모른다고 적습니다.
추측을 원인 칸에 적으면 나중에 그게 사실인 줄 알게 됩니다.
4. **이미 있는 문제가 진전되면 그 파일 맨 아래 `## 기록`에 날짜와 한 줄을 더합니다.**
새 파일을 만들지 않습니다.
5. 고쳤으면 상태를 `해결`로 바꾸고 **확인 절에 무엇으로 확인했는지 숫자나 명령으로** 남깁니다.
"고쳤습니다"만 적힌 건 확인이 아닙니다.
6. 위 현황 표도 같이 고칩니다.
#### 규칙
- **못 고친 문제를 지우지 않습니다.** 열린 채로 두는 게 정상입니다.
- 처음 짐작이 틀렸어도 지우지 않습니다. 무엇을 잘못 짚었는지가 기록입니다.
([P02](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/P02-AI%EC%A0%90%EC%88%98%ED%8E%B8%EC%B0%A8.md)가 그런 경우입니다. 백지 때문이라고 봤는데 아니었습니다.)
- 사람 문제(연락이 안 온다 같은 것)도 적습니다. 코드 문제만 문제가 아닙니다.
- **`/today-plan` 을 돌릴 때마다 그날 만난 문제를 여기에 적습니다.**
**그날 아무 문제도 없었으면 아무것도 안 적습니다.**
> 출처 — [`plan/문제점/P01-백지렌더.md`](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/P01-%EB%B0%B1%EC%A7%80%EB%A0%8C%EB%8D%94.md) 를 그대로 옮긴 것입니다.
### P01 · 단위가 mm가 아닌 도면이 백지로 렌더된다
| | |
|---|---|
| 상태 | **해결** (2026-08-22) |
| 처음 본 날 | 2026-08-22 |
| 무엇에 영향을 주나 | AI 채점 30점 전부 |
| 맡은 사람 | 박지완 |
| 목록 | [문제점 전체](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/README.md) |
#### 증상
선이 6,373개 들어 있는 `sample_075em07z.dwg`를 AI에게 보내면 다섯 번 모두
"투상도가 하나도 없다"고 답했다. AI에게 실제로 보내는 그림을 파일로 저장해 보니
**201바이트짜리 빈 그림**이었다. AI는 도면이 아니라 백지를 채점하고 있었다.
`sample_autocad.dxf`도 같은 상태였다. 이 도면이 다섯 번 모두 18점으로 편차 0을 보인 것은
채점이 안정적이어서가 아니라 **매번 같은 백지를 봤기 때문**이었다.
#### 원인
`ai_review.render_png`가 도면 범위(`$EXTMIN`~`$EXTMAX`)를 그대로 밀리미터로 보고
페이지를 만들었다. 이 파일은 단위가 미터라 범위가 0.12 x 0.12로 잡히는데, 여기에
사방 5mm 여백을 붙이면 페이지가 거의 전부 여백이 되고 그림은 1픽셀 밑으로 짜부라진다.
A3(420 x 297)로 그려진 도면은 멀쩡히 나왔기 때문에 여태 드러나지 않았다.
#### 조치
도면 단위를 밀리미터로 환산해서 그리도록 고쳤다. 단위 판별은 이미 있던
`dwg.detect_mm_per_unit`을 그대로 썼다. 새로 만들지 않았다.
#### 확인
| 도면 | 고치기 전 | 고친 뒤 |
|---|---|---|
| `sample_075em07z.dwg` | 201바이트 | 283,550바이트 |
| `sample_autocad.dxf` | 201바이트 | 283,550바이트 |
| `sample_plate.dxf` | 5,696바이트 (정상) | 5,889바이트 (그대로 정상) |
그림 파일을 실제로 열어서 도면이 보이는 것까지 확인했다. 자동 테스트 15개 통과.
#### 배운 것
**중간 결과물을 눈으로 본 적이 없었다는 게 진짜 문제다.** AI가 뱉은 답이 그럴듯해서
아무도 그림을 열어 볼 생각을 안 했다. 정확도 100%라는 숫자가 이 사실을 가리고 있었다.
#### 기록
- 2026-08-22 — 편차를 재다 발견. 같은 날 고치고 확인.
> 출처 — [`plan/문제점/P02-AI점수편차.md`](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/P02-AI%EC%A0%90%EC%88%98%ED%8E%B8%EC%B0%A8.md) 를 그대로 옮긴 것입니다.
### P02 · 같은 도면인데 AI 점수가 매번 달라진다
| | |
|---|---|
| 상태 | **열림** |
| 처음 본 날 | 2026-08-22 |
| 무엇에 영향을 주나 | AI 채점 30점 |
| 맡은 사람 | 미정 |
| 목록 | [문제점 전체](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/README.md) |
#### 증상
같은 도면을 다섯 번 채점하면 점수가 흔들린다.
| 도면 | 5회 점수 | 폭 | 표준편차 |
|---|---|---|---|
| `sample_plate.dxf` | 18, 18, 20, 20, 20 | 2점 | 1.10점 |
| `sample_075em07z.dwg` (렌더 고치기 전) | 0, 18, 18, 18, 18 | 18점 | 8.05점 |
| `sample_075em07z.dwg` (렌더 고친 뒤) | 0, 0, 5, 9, 18 | 18점 | 7.50점 |
#### 지금까지 안 것
- [P01](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/P01-%EB%B0%B1%EC%A7%80%EB%A0%8C%EB%8D%94.md)을 고치기 전에는 폭 18점이 **백지를 보고 몇 점 깎을지 고민한 결과**라고 봤다.
- 고친 뒤 다시 재도 **폭은 18점 그대로**였고 중앙값만 18점에서 5점으로 내려갔다.
백지일 때는 지적이 1건으로 일정했는데 진짜 그림을 보자 **지적 개수부터 1~3건으로 흔들린다.**
- 즉 편차의 원인은 렌더가 아니라 **프롬프트와 모델 쪽**이었다. 처음 짐작이 틀렸다.
- 한 지적이 30점을 통째로 깎는 건 `MAX_SINGLE_DEDUCT = 12`로 막았지만,
지적이 세 개 나오면 여전히 0점이 된다.
#### 다음에 해 볼 것
- [ ] **실제 수험생 도면으로 다시 재기.** 지금 표본은 기계 부품 도면이 아니다([P04](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/P04-%ED%91%9C%EB%B3%B8%EB%8F%84%EB%A9%B4.md)).
- [ ] 규칙으로 옮길 수 있는 부분 분리 — 뷰 개수와 제3각법 배치는 좌표로 계산되는 값이다.
- [ ] 여러 번 물어 중앙값 쓰기. 정확해지지만 호출이 늘어 무료 할당량이 빨리 마른다.
- [ ] 지적 개수 자체를 프롬프트에서 제한해 보기.
#### 기록
- 2026-08-22 — 처음 측정. 도면 3장 x 5회. 폭 최대 18점.
- 2026-08-22 — 렌더 수정 후 재측정. 편차 안 줄어듦. 원인이 렌더가 아니었음이 드러남.
> 출처 — [`plan/문제점/P03-지적제목흔들림.md`](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/P03-%EC%A7%80%EC%A0%81%EC%A0%9C%EB%AA%A9%ED%9D%94%EB%93%A4%EB%A6%BC.md) 를 그대로 옮긴 것입니다.
### P03 · 같은 판정인데 지적 제목이 매번 다르게 적힌다
| | |
|---|---|
| 상태 | **열림** |
| 처음 본 날 | 2026-08-22 |
| 무엇에 영향을 주나 | 수험생이 보는 화면 · 재검사 비교 |
| 맡은 사람 | 미정 |
| 목록 | [문제점 전체](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/README.md) |
#### 증상
같은 판정에 대해 제목이 매번 달라진다.
- "투상도 전체 누락"
- "투상도 완전 누락"
- "투상도 전체 누락 및 형상 표현 불가"
- "기계 부품 투상도 미작성 및 투상 뷰 부재"
뜻은 같지만 **수험생에게는 다른 지적으로 보인다.**
#### 왜 문제인가
CADLens의 핵심 흐름은 `검사 -> 고치기 -> 재검사`다. 재검사에서 지난번과 비교해 주는데,
제목이 매번 달라지면 **비교가 성립하지 않는다.** 북극성 지표(주간 재검사 사용자 수)와 직결된다.
#### 다음에 해 볼 것
- [ ] 지적 제목을 정해진 목록에서 고르게 하기 (스키마 enum).
- [ ] 규칙 검사처럼 지적마다 코드를 붙이기. 지금 AI 지적은 전부 `AI_PROJECTION` 하나다.
- [ ] 제목은 코드로 고정하고 설명만 AI가 쓰게 하기.
#### 기록
- 2026-08-22 — 편차 측정 중에 눈에 띔.
> 출처 — [`plan/문제점/P04-표본도면.md`](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/P04-%ED%91%9C%EB%B3%B8%EB%8F%84%EB%A9%B4.md) 를 그대로 옮긴 것입니다.
### P04 · 측정에 쓰는 표본이 실제 시험 도면이 아니다
| | |
|---|---|
| 상태 | **열림** |
| 처음 본 날 | 2026-08-22 |
| 무엇에 영향을 주나 | 정확도 · 편차 측정 전부 |
| 맡은 사람 | 미정 |
| 목록 | [문제점 전체](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/README.md) |
#### 증상
- 정확도 100%는 **우리가 직접 만든 합성 도면 18장** 기준이다. 도면을 만든 사람과
검사 규칙을 만든 사람이 같다.
- 편차 측정에 쓴 `sample_075em07z.dwg`는 렌더를 고치고 그림을 열어 보니
**기계 부품 도면이 아니라 무늬가 반복되는 도면**이었다. "투상도가 없다"는 판정 자체가
틀리지 않았을 수 있다.
**표본이 잘못되면 측정도 잘못된다.** 지금 우리가 가진 숫자는 전부 이 위에 올라가 있다.
#### 왜 급한가
심사 피드백 1번이 이것이다. 발표(W7)에서 "실제 도면 정확도는?"이라는 질문이 반드시 나온다.
합성 도면 100%만 말하면 그 자리에서 반박당한다.
#### 다음에 해 볼 것
- [ ] W2 인터뷰(08-26 ~ 08-28) 때 **이름 지운 실제 도면 받기**
- [ ] 사람이 판단한 정답 라벨 붙이기. CADLens 결과를 정답으로 쓰면 100%가 나오고 아무 의미가 없다
- [ ] `python bench.py labels.json`으로 다시 재고 `docs/accuracy.md` 표를 실제 도면 기준으로 교체
- [ ] 합성 도면과 실제 도면의 차이를 그대로 공개
#### 기록
- 2026-08-22 — 렌더를 고치고 그림을 열어 보다 표본이 기계 도면이 아님을 알게 됨.
> 출처 — [`plan/문제점/P05-멘토배정.md`](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/P05-%EB%A9%98%ED%86%A0%EB%B0%B0%EC%A0%95.md) 를 그대로 옮긴 것입니다.
### P05 · 전담 멘토가 배정되지 않았고 주간 안내 메일도 안 온다
| | |
|---|---|
| 상태 | **✅ 해결** (2026-08-24) |
| 처음 본 날 | 2026-08-22 |
| 무엇에 영향을 주나 | 산출물 제출 경로 전체 |
| 맡은 사람 | 박지완 |
| 목록 | [문제점 전체](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/README.md) |
#### 증상
- 본선 선발 안내(08-17)에 "매주 화요일 아침에 그 주차 강의 링크를 메일로 보내드립니다"라고
적혀 있는데 **08-18 첫 주 메일이 안 왔다.**
- "1:1 멘토링 세션" 이야기가 있는데 **전담 멘토가 누구인지 모른다.**
- jangsin1004@gmail.com 으로 온 운영진 메일은 08-17이 마지막이다.
#### 왜 문제인가
산출물 제출처가 "그 주 1:1 멘토링 세션 전까지 전담 멘토에게 공유"다.
**멘토를 모르면 제출 자체를 못 한다.** W1 산출물부터 막혀 있다.
#### 원인
**메일이 안 온 게 아니라 우리가 안 봤다.** 08-23 09:20 에 운영진 안내 메일이 도착해 있었는데,
08-22 에 한 번 확인하고 나서 08-24 까지 메일함을 다시 열지 않았다.
"08-17 이후 메일 없음"이라는 08-22 의 기록을 그대로 사실로 두고 이틀을 보냈다.
전제도 틀렸다. **1:1 멘토링은 모든 팀에게 있는 게 아니라 2차 심사를 통과한 5팀만** 받는다.
"1:1 멘토링 세션 전까지 전담 멘토에게 공유"라는 워크샵 문구를 우리 팀에도 해당한다고 읽었다.
#### 조치
- 제출처를 팀 페이지로 바로잡고 [제출 절차](https://github.com/ritual1127/naverogq/blob/main/plan/w1/08-24_%EC%9B%94/%EC%A0%9C%EC%B6%9C%EC%A0%88%EC%B0%A8.md)에 단계를 적었다.
- [팀 목표 1장](https://github.com/ritual1127/naverogq/blob/main/plan/w1/%ED%8C%80%EB%AA%A9%ED%91%9C.md)의 주간 리듬에서 **있지도 않은 목요일 1:1 멘토링 칸을 뺐다.** PDF도 다시 만들었다.
- W1 · W2 주차 계획의 "1:1 멘토링 세션 전까지 전담 멘토에게 공유" 문구를 팀 페이지 제출로 고쳤다.
- **주간 리듬에 메일함 확인을 넣지 않았다.** 대신 화요일 회의 때 그 주 워크샵 페이지와 메일함을 같이 연다([P06](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/P06-%EC%9B%8C%ED%81%AC%EC%83%B5%EB%86%93%EC%B9%A8.md)과 같은 재발 방지).
#### 확인
- 08-23 09:20 수신 메일 `[전국마이스터고 스타프로젝트] 산출물은 우리 팀 페이지에 올려주세요 — 제출처·피드백 안내`
- 제출처 https://meister.itshin.com/네이놈 → `주차별 산출물` → `N주차 제출`
- 전담 멘토 NAVER OGQ마켓 신철호 대표 · 데모데이 ① 09-09 17:00~20:00 · ② 10-07 17:00~17:30
- **아직 안 올렸다.** 구글 로그인이 필요해 사람이 해야 한다. 올린 뒤 이 절에 날짜를 적는다.
#### 기록
- 2026-08-22 — 메일함을 뒤져 확인. 08-17 이후 운영진 메일 없음.
- 2026-08-24 — 문의 메일 초안을 만들다가 메일함을 다시 봤고, **08-23 아침에 안내 메일이 이미 와 있었다.**
제출처는 팀 페이지, 전담 멘토는 신철호 대표, 1:1 멘토링은 5팀 전용. 문의할 것이 남지 않아 초안을 버리고
[제출 절차](https://github.com/ritual1127/naverogq/blob/main/plan/w1/08-24_%EC%9B%94/%EC%A0%9C%EC%B6%9C%EC%A0%88%EC%B0%A8.md)로 바꿔 적었다. **막힌 줄 알았던 제출 경로는 처음부터 열려 있었다.**
이 문제를 해결로 닫는다. 남은 것은 사람이 로그인해서 올리는 일뿐이다.
> 출처 — [`plan/문제점/P06-워크샵놓침.md`](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/P06-%EC%9B%8C%ED%81%AC%EC%83%B5%EB%86%93%EC%B9%A8.md) 를 그대로 옮긴 것입니다.
### P06 · 워크샵 1주차 산출물을 통째로 놓쳤다
| | |
|---|---|
| 상태 | **해결** (2026-08-22) |
| 처음 본 날 | 2026-08-22 |
| 무엇에 영향을 주나 | W1 산출물 · 진행 방식 |
| 맡은 사람 | 전원 |
| 목록 | [문제점 전체](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/README.md) |
#### 증상
W1(08-18 ~ 08-24) 산출물인 팀 목표 1장을 08-22까지 아무도 손대지 않았다.
미션 문장 · 북극성 지표 · 역할 분담 · 팀 규칙 · 주간 리듬 다섯 항목 전부였다.
#### 원인
본선 발표 다음 날이라 결과 메일만 보고 **같은 날 워크샵 강의가 열린 걸 몰랐다.**
강의는 08-04에 이미 전체 공개돼 있었고 안내 메일도 왔는데 안 읽었다.
계획을 심사 피드백만 보고 짜서 워크샵 산출물이 계획에 아예 없었다.
#### 조치
- 08-22에 팀 목표 1장을 몰아서 작성.
- `plan/` 규칙에 넣었다 — **계획을 짜기 전에 그 주 워크샵 페이지를 먼저 연다.**
- 주차 폴더마다 그 주 산출물을 미리 적어 두었다(W1 ~ W8 전부).
#### 확인
`plan/w1` ~ `plan/w8` 각 README에 그 주 산출물이 적혀 있다.
08-18 ~ 08-21 계획 파일의 `❌`는 지우지 않는다. 최종 발표에서 "8주간 배운 것"으로 쓸 수 있다.
#### 기록
- 2026-08-22 — 워크샵 1주차 페이지를 처음 열어 보고 알게 됨. 같은 날 산출물 작성.
> 출처 — [`plan/문제점/P07-지표0.md`](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/P07-%EC%A7%80%ED%91%9C0.md) 를 그대로 옮긴 것입니다.
### P07 · 북극성 지표가 0이고 셀 방법이 없다
| | |
|---|---|
| 상태 | **열림** |
| 처음 본 날 | 2026-08-22 |
| 무엇에 영향을 주나 | W5 · W6 산출물, 최종 KPI 리포트 |
| 맡은 사람 | 미정 |
| 목록 | [문제점 전체](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/README.md) |
#### 증상
북극성 지표는 **주간 재검사 사용자 수**인데 지금 값이 0명이다. 사람이 안 써서가 아니라
**세는 기능 자체가 없다.** `docs/impact.md`에도 "아직 사용자가 몇 명인지 세지 않고 있습니다"라고
적어 두었다.
#### 왜 급한가
- W5(09-15 ~ 21) 산출물에 "사용자 기록 — 몇 명이 써 봤고 몇 명이 핵심 행동을 끝냈나"가 있다.
- W6(09-22 ~ 28) 산출물이 통째로 지표다 — 계측 이벤트 · 퍼널 · 리텐션 커브 · 북극성 지표 현황.
- 계측을 09-05에 붙이기로 계획했는데 **그날 못 붙이면 W5 · W6에 낼 숫자가 없다.**
#### 조건
이용자 대부분이 미성년 수험생이다. 개인을 알아볼 수 있는 것은 남기지 않는다.
무엇을 세고 무엇을 안 세는지 `docs/policy.md`에 적기 전에는 배포하지 않는다.
#### 다음에 해 볼 것
- [ ] 09-05 — 이벤트 4가지(방문 · 시작 · 완료 · 재검사) 심기
- [ ] 09-12 — 배포 서버에서 실제로 쌓이는지 확인
- [ ] 시간이 모자라면 **재검사 하나만** 붙인다. 그게 북극성 지표다
#### 기록
- 2026-08-22 — 팀 목표 1장을 쓰면서 현재 값이 0이라는 걸 확인.
> 출처 — [`plan/문제점/P08-번역429.md`](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/P08-%EB%B2%88%EC%97%AD429.md) 를 그대로 옮긴 것입니다.
### P08 · 배포 서버에서 번역 호출만 429로 계속 막힌다
| | |
|---|---|
| 상태 | **열림** — 고쳤지만 배포 서버에서 재확인 못 함 |
| 처음 본 날 | 2026-08-23 |
| 무엇에 영향을 주나 | 화면에 뜨는 영어·일본어·중국어 번역 |
| 맡은 사람 | 박지완 |
| 목록 | [문제점 전체](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/README.md) |
#### 증상
배포 서버에서 도면을 검사하면 채점 결과와 한국어 후속 답변은 나오는데
**세 언어 번역만 계속 비어 있었다.** 로그에 `[ai] 번역 실패` 가 429(할당량 초과)로
찍혔다. 화면은 번역 대신 안내 문구로 넘어가므로 겉보기에는 조용히 실패한다.
#### 원인
도면 한 장을 검사하면 AI를 **세 번** 부른다.
1. 채점 (`JUDGE_SYSTEM`)
2. 후속 답변 (`FOLLOWUP_SYSTEM`)
3. 번역 (`TRANSLATE_SYSTEM`)
무료 할당량이 세 배로 빨리 마르고, 순서상 **마지막인 번역이 먼저 굶는다.**
1·2번이 성공한 뒤라 채점은 멀쩡해 보이고 번역만 사라진다.
#### 조치
후속 답변과 번역을 **한 호출로 합쳤다**(`_enrich()`). 둘 다 채점 결과만 있으면
만들 수 있어서 따로 부를 이유가 없었다. 도면 한 장당 호출이 3회에서 2회로 줄었다.
`TRANSLATE_SYSTEM`·`TRANSLATE_SCHEMA`·`_add_followups`·`_translate` 는 지웠다.
합치면서 같이 고친 것 — 지시문으로 "조·항·장 번호를 쓰지 말라"고 막아도 모델이
`KS B 0001 제3장` 처럼 지어내는 일이 있었다. 받은 뒤 `_drop_clause_numbers()` 로
걷어낸다. 확인할 수 없는 조문 번호를 수험생이 근거로 믿게 되면 안 된다.
#### 확인
- 자동 테스트 16개 통과. `_drop_clause_numbers` 검사를 하나 새로 넣었다
(`test_drop_clause_numbers` — 한국어 `제3장`, 영어 `Section 4`, 일본어 `第3章`을
걷어내고 규격 이름과 치수 숫자는 그대로 두는지).
- **배포 서버에서 429가 실제로 사라지는지는 아직 확인 못 했다.** 호출 수가 준 것은
코드로 확인했지만, 할당량이 회복된 뒤 다시 돌려 봐야 한다.
#### 기록
- 2026-08-23 — 호출을 2회로 합치고 조문 번호 후처리를 넣었다. 배포 재확인은 남았다.
---
## 5. 오늘 맡은 일
> 출처 — [`plan/w1/08-24_월/계획.md`](https://github.com/ritual1127/naverogq/blob/main/plan/w1/08-24_%EC%9B%94/%EA%B3%84%ED%9A%8D.md) 를 그대로 옮긴 것입니다.
### 멘토에게 [팀 목표 1장](../팀목표.md) 보내기 · 예상 30분
- **멘토 배정 메일이 아직 안 왔다.** 08-17 이후 운영진 메일이 한 통도 없다.
- 안 오면 운영진(netclaus@gmail.com)에 회신해 물어본다: 전담 멘토가 누구인지, 1:1 세션을 언제 잡는지.
- 메일에는 저장소 링크(https://github.com/ritual1127/naverogq)와 `plan/w1/팀목표.md` 링크를 같이 넣는다.
**이렇게 되면 끝** — 보낸 메일함에 제출 기록이 남았다
**흔한 실수** — 멘토를 못 찾았다고 아무에게도 안 보내는 것
### 전원이 같이 하는 것
**팀원 4명이 미션 문장 맞춰 보기** · 예상 20분
- 각자 문서를 안 보고 말해 본다. 한 명이라도 다르게 말하면 아직 합의된 게 아니다.
- 워크샵 자가 점검 1번이 이거다.
- 다르게 말한 부분이 있으면 그 자리에서 문장을 고친다.
**이렇게 되면 끝** — 네 명이 말한 문장이 같다
**흔한 실수** — 문서를 보면서 읽는 것. 안 보고 말해야 의미가 있다
---
## 6. 안대열 님이 8주 동안 맡은 일 전체
오늘 것만 보면 왜 이 일을 하는지 안 보여서 같이 넣었습니다.
> 출처 — [`plan/역할분담/안대열.md`](https://github.com/ritual1127/naverogq/blob/main/plan/%EC%97%AD%ED%95%A0%EB%B6%84%EB%8B%B4/%EC%95%88%EB%8C%80%EC%97%B4.md) 를 그대로 옮긴 것입니다.
### 안대열
배정 24건. [역할 분담 규칙](https://github.com/ritual1127/naverogq/blob/main/plan/%EC%97%AD%ED%95%A0%EB%B6%84%EB%8B%B4/README.md)
| 날짜 | 주차 | 맡은 일 | 계획 | 달성 | 실제로 한 일 |
|---|---|---|---|---|---|
| 08-23 (일) | W1 | 고친 그림을 저장해 눈으로 확인 | [계획](https://github.com/ritual1127/naverogq/blob/main/plan/w1/08-23_%EC%9D%BC/%EA%B3%84%ED%9A%8D.md) | ✅ | 박지완이 당겨서 함. 그림을 열어 도면이 보이는 것 확인. 무늬 도면이라 표본이 부적절하다는 것도 이때 알았다 |
| 08-24 (월) | W1 | 멘토에게 팀 목표 1장 보내기 | [계획](https://github.com/ritual1127/naverogq/blob/main/plan/w1/08-24_%EC%9B%94/%EA%B3%84%ED%9A%8D.md) | ⬜ | 보낼 필요가 없어졌다. 08-23 안내 메일대로 제출처는 팀 페이지다([제출 절차](https://github.com/ritual1127/naverogq/blob/main/plan/w1/08-24_%EC%9B%94/%EC%A0%9C%EC%B6%9C%EC%A0%88%EC%B0%A8.md)). 팀 페이지 로그인·업로드로 바뀌었고 아직 안 함 |
| 08-26 (수) | W2 | 도면 파일 받기 | [계획](https://github.com/ritual1127/naverogq/blob/main/plan/w2/08-26_%EC%88%98/%EA%B3%84%ED%9A%8D.md) | ⬜ | |
| 08-27 (목) | W2 | 학생 2명 더 인터뷰 | [계획](https://github.com/ritual1127/naverogq/blob/main/plan/w2/08-27_%EB%AA%A9/%EA%B3%84%ED%9A%8D.md) | ⬜ | |
| 08-31 (월) | W2 | 실제 도면으로 정확도 재 보기 | [계획](https://github.com/ritual1127/naverogq/blob/main/plan/w2/08-31_%EC%9B%94/%EA%B3%84%ED%9A%8D.md) | ⬜ | |
| 09-03 (목) | W3 | 어디에 어떤 AI를 왜 썼는지 정리 | [계획](https://github.com/ritual1127/naverogq/blob/main/plan/w3/09-03_%EB%AA%A9/%EA%B3%84%ED%9A%8D.md) | ⬜ | |
| 09-03 (목) | W3 | `vendor/` 라이브러리 라이선스 확인 | [계획](https://github.com/ritual1127/naverogq/blob/main/plan/w3/09-03_%EB%AA%A9/%EA%B3%84%ED%9A%8D.md) | ⬜ | |
| 09-04 (금) | W3 | 업로드 도면 삭제가 실제로 도는지 | [계획](https://github.com/ritual1127/naverogq/blob/main/plan/w3/09-04_%EA%B8%88/%EA%B3%84%ED%9A%8D.md) | ⬜ | |
| 09-06 (일) | W3 | 시연에 쓸 도면 고르기 | [계획](https://github.com/ritual1127/naverogq/blob/main/plan/w3/09-06_%EC%9D%BC/%EA%B3%84%ED%9A%8D.md) | ⬜ | |
| 09-08 (화) | W4 | 소리와 화면 확인 | [계획](https://github.com/ritual1127/naverogq/blob/main/plan/w4/09-08_%ED%99%94/%EA%B3%84%ED%9A%8D.md) | ⬜ | |
| 09-09 (수) | W4 | 영상 제출 | [계획](https://github.com/ritual1127/naverogq/blob/main/plan/w4/09-09_%EC%88%98/%EA%B3%84%ED%9A%8D.md) | ⬜ | |
| 09-12 (토) | W4 | 지금까지 쌓인 값 기록 | [계획](https://github.com/ritual1127/naverogq/blob/main/plan/w4/09-12_%ED%86%A0/%EA%B3%84%ED%9A%8D.md) | ⬜ | |
| 09-14 (월) | W4 | 멘토에게 데모데이 피드백과 대응 공유 | [계획](https://github.com/ritual1127/naverogq/blob/main/plan/w4/09-14_%EC%9B%94/%EA%B3%84%ED%9A%8D.md) | ⬜ | |
| 09-16 (수) | W5 | 첫날 숫자 기록 | [계획](https://github.com/ritual1127/naverogq/blob/main/plan/w5/09-16_%EC%88%98/%EA%B3%84%ED%9A%8D.md) | ⬜ | |
| 09-18 (금) | W5 | 퍼널에서 가장 크게 빠지는 칸 찾기 | [계획](https://github.com/ritual1127/naverogq/blob/main/plan/w5/09-18_%EA%B8%88/%EA%B3%84%ED%9A%8D.md) | ⬜ | |
| 09-21 (월) | W5 | 멘토에게 런칭 결과 공유 | [계획](https://github.com/ritual1127/naverogq/blob/main/plan/w5/09-21_%EC%9B%94/%EA%B3%84%ED%9A%8D.md) | ⬜ | |
| 09-23 (수) | W6 | 단계별 이탈률 계산 | [계획](https://github.com/ritual1127/naverogq/blob/main/plan/w6/09-23_%EC%88%98/%EA%B3%84%ED%9A%8D.md) | ⬜ | |
| 09-24 (목) | W6 | 1주차에 쓴 사람 중 2주차에 다시 온 비율 | [계획](https://github.com/ritual1127/naverogq/blob/main/plan/w6/09-24_%EB%AA%A9/%EA%B3%84%ED%9A%8D.md) | ⬜ | |
| 09-26 (토) | W6 | 전후 숫자 나란히 놓기 | [계획](https://github.com/ritual1127/naverogq/blob/main/plan/w6/09-26_%ED%86%A0/%EA%B3%84%ED%9A%8D.md) | ⬜ | |
| 09-29 (화) | W7 | 대본 뼈대 잡기 | [계획](https://github.com/ritual1127/naverogq/blob/main/plan/w7/09-29_%ED%99%94/%EA%B3%84%ED%9A%8D.md) | ⬜ | |
| 10-01 (목) | W7 | **실제 수험생 도면 기준 정확도를 넣기** | [계획](https://github.com/ritual1127/naverogq/blob/main/plan/w7/10-01_%EB%AA%A9/%EA%B3%84%ED%9A%8D.md) | ⬜ | |
| 10-06 (화) | W8 | 10분 발표 영상 찍기 | [계획](https://github.com/ritual1127/naverogq/blob/main/plan/w8/10-06_%ED%99%94/%EA%B3%84%ED%9A%8D.md) | ⬜ | |
| 10-10 (토) | W8 | README에 다 있는지 확인 | [계획](https://github.com/ritual1127/naverogq/blob/main/plan/w8/10-10_%ED%86%A0/%EA%B3%84%ED%9A%8D.md) | ⬜ | |
| 10-11 (일) | W8 | W8 산출물 제출 21:00 | [계획](https://github.com/ritual1127/naverogq/blob/main/plan/w8/10-11_%EC%9D%BC/%EA%B3%84%ED%9A%8D.md) | ⬜ | |
달성: `⬜` 안 함 · `✅` 함 · `🔺` 반쯤 · `❌` 못 함
남과 바꿨으면 **실제로 한 일** 칸에 "○○와 바꿈"이라고 적습니다.
배정을 어떻게 정했는지, 남과 바꿨을 때 어떻게 적는지는 아래에 있습니다.
> 출처 — [`plan/역할분담/README.md`](https://github.com/ritual1127/naverogq/blob/main/plan/%EC%97%AD%ED%95%A0%EB%B6%84%EB%8B%B4/README.md) 를 그대로 옮긴 것입니다.
### 역할 분담
누가 언제 무엇을 맡았고 실제로 무엇을 했는지 남기는 폴더입니다.
#### 어떻게 정했나
- 담당자는 **무작위로 배정**합니다. 사람마다 잘하는 것만 계속 맡으면 한 사람만 늘고 나머지는 8주 동안 배우는 게 없습니다.
- 네 명을 섞은 묶음을 반복해 쓰기 때문에 **건수는 고르게** 나뉩니다.
- 회의 · 데모데이 참석 · 합의가 필요한 일은 배정하지 않고 `전원`으로 둡니다.
- 배정받은 사람이 도저히 못 하는 일이면 **그날 안에 바꾸고, 누구와 바꿨는지 이 폴더에 적습니다.** 조용히 남이 대신 하면 기록이 거짓이 됩니다.
- 08-18 ~ 08-22 는 이미 지난 날이라 무작위 배정이 아니라 **실제로 한 사람**을 적었습니다.
#### 사람별 기록
| 사람 | 배정 건수 | 기록 |
|---|---|---|
| 박지완 | 28건 | [박지완.md](https://github.com/ritual1127/naverogq/blob/main/plan/%EC%97%AD%ED%95%A0%EB%B6%84%EB%8B%B4/%EB%B0%95%EC%A7%80%EC%99%84.md) |
| 장우영 | 24건 | [장우영.md](https://github.com/ritual1127/naverogq/blob/main/plan/%EC%97%AD%ED%95%A0%EB%B6%84%EB%8B%B4/%EC%9E%A5%EC%9A%B0%EC%98%81.md) |
| 안대열 | 24건 | [안대열.md](https://github.com/ritual1127/naverogq/blob/main/plan/%EC%97%AD%ED%95%A0%EB%B6%84%EB%8B%B4/%EC%95%88%EB%8C%80%EC%97%B4.md) |
| 김승준 | 24건 | [김승준.md](https://github.com/ritual1127/naverogq/blob/main/plan/%EC%97%AD%ED%95%A0%EB%B6%84%EB%8B%B4/%EA%B9%80%EC%8A%B9%EC%A4%80.md) |
| 전원 | 39건 | 회의 · 참석 · 합의 |
#### 주차별 배정
| 주차 | 박지완 | 장우영 | 안대열 | 김승준 | 전원 |
|---|---|---|---|---|---|
| W1 | 6 | 1 | 2 | 2 | 6 |
| W2 | 3 | 4 | 3 | 3 | 7 |
| W3 | 5 | 4 | 4 | 4 | 4 |
| W4 | 2 | 4 | 4 | 3 | 4 |
| W5 | 5 | 3 | 3 | 4 | 2 |
| W6 | 2 | 4 | 3 | 4 | 3 |
| W7 | 3 | 2 | 2 | 2 | 5 |
| W8 | 2 | 2 | 3 | 2 | 8 |
#### 적는 법
1. 그날 일이 끝나면 본인 파일에서 그 줄의 달성 칸을 고칩니다 (`⬜` → `✅` · `🔺` · `❌`).
2. **실제로 한 일** 칸에 무엇을 했는지 한 줄 적습니다. 계획과 달라졌으면 달라진 대로 적습니다.
3. 남과 바꿨으면 두 사람 파일 모두에 적습니다.
4. 못 한 것은 지우지 않습니다. `❌`로 남기고 이유를 적습니다. 다 `✅`인 기록은 아무도 믿지 않습니다.
---
## 7. 한 결과
**여기부터 채워 주세요. 위쪽은 건드리지 않으셔도 됩니다.**
| | |
|---|---|
| 달성 | ⬜ |
| 걸린 시간 | |
달성 칸의 `⬜` 를 `✅` 함 · `🔺` 반쯤 함 · `❌` 못 함 중 하나로 바꿔 주세요.
**다 `✅` 로 채우지 마세요.** 못 한 건 `❌` 입니다. 8주 뒤 심사에서 전부
성공한 기록은 아무도 믿지 않습니다.
### 실제로 한 일
*(계획과 달라졌으면 달라진 대로 적어 주세요. 숫자가 나왔으면 숫자를 적어 주세요.
"메일 보냈다" 보다 "08-24 19:10 에 netclaus@gmail.com 으로 보냈다" 가 낫습니다.)*
### 막힌 것 · 문제
*(없으면 "없음" 이라고 적어 주세요. **지어내지 마세요.** 지어낸 문제가 한 건이라도
섞이면 나머지 기록도 같이 못 믿게 됩니다.
문제인 것 — 틀린 결과가 나왔다, 하려던 게 안 됐다, 계획보다 시간이 훨씬 더 들었다,
연락이나 자료가 없어서 막혔다.
문제가 아닌 것 — 아직 안 만든 기능, 다음에 하기로 한 일, 잘 됐는데 더 잘하고 싶은 것.)*
### 남과 바꿨으면
*(누구와 바꿨는지 적어 주세요. 예: "장우영과 바꿈". 조용히 남이 대신 하면
기록이 거짓이 됩니다. 안 바꿨으면 비워 두세요.)*
08-18 주간 안내 메일이 왜 안 왔는지 같이 묻기
예상 10분- "매주 화요일 아침에 그 주차 강의 링크를 메일로 보내드립니다"라고 했는데 첫 주부터 안 왔다.
- 스팸함과 프로모션 탭도 확인할 것. jangsin1004@gmail.com 으로 온다.
이렇게 되면 끝운영진에게 질문이 갔다
흔한 실수스팸함을 안 보고 안 왔다고 단정하는 것
# 08-24 (월) · W1 7일차 · 김승준 일지
**고칠 곳은 맨 아래 [7. 한 결과](#7-한-결과) 한 군데뿐입니다.**
1~6번은 저장소 여기저기에 흩어져 있는 문서를 한자리에 모은 것입니다.
저장소를 따로 열지 않아도 오늘 일을 할 수 있게 하려는 것입니다.
| | |
|---|---|
| 날짜 | 08-24 (월) · W1 7일차 |
| 맡은 사람 | 김승준 |
| 오늘 계획 원문 | [plan/w1/08-24_월/계획.md](https://github.com/ritual1127/naverogq/blob/main/plan/w1/08-24_%EC%9B%94/%EA%B3%84%ED%9A%8D.md) |
| 이 파일의 자리 | `plan/역할분담/일지/08-24_김승준.md` |
## 차례
1. 우리가 뭘 만들고 있나
2. 왜 지금 이걸 하고 있나
3. 이번 주에 무슨 일이 있었나
4. 지금까지 만난 문제 전부
5. **오늘 맡은 일**
6. 김승준 님이 8주 동안 맡은 일 전체
7. **한 결과** ← 여기만 채우시면 됩니다
---
## 1. 우리가 뭘 만들고 있나
> 출처 — [`plan/w1/팀목표.md`](https://github.com/ritual1127/naverogq/blob/main/plan/w1/%ED%8C%80%EB%AA%A9%ED%91%9C.md) 를 그대로 옮긴 것입니다.
### 팀 목표 1장 — 네이놈
전국마이스터고 스타프로젝트 W1(2026-08-18 ~ 08-24) 산출물입니다.
프로덕트: **CADLens** — https://naverogq.onrender.com · https://github.com/ritual1127/naverogq
---
#### ① 미션 한 문장
> **우리는 전산응용기계제도기능사 실기를 혼자 준비하는 수험생이 도면을 제출하기 직전에
> 겪는, 무엇을 빠뜨렸는지 짚어 줄 사람이 없는 문제를, 도면 파일을 올리면 빠진 항목을
> 도면 위에 찍어 주는 웹 검사기로 없앤다.**
- **누가** — 전산응용기계제도기능사 실기를 혼자 준비하는 수험생 (학원에 다니지 않는 특성화고·마이스터고 학생)
- **어떤 상황** — 4시간짜리 실기 도면을 다 그리고 제출 직전
- **어떤 불편** — 표면거칠기·데이텀·지름 치수를 빠뜨려도 아무도 짚어 주지 않음. 그중 일부는 감점이 아니라 바로 오작(실격)
- **어떤 방식** — 도면 파일(DWG·DXF)을 올리면 24개 항목을 검사해 문제 위치에 번호를 찍고 고치는 법을 알려주는 웹 서비스
대상을 "기계제도를 배우는 학생 모두"가 아니라 **"혼자 준비하는 실기 수험생"** 으로 좁혔습니다.
옆에 봐 줄 사람이 있는 학생은 이 문제를 안 겪습니다.
#### ② 북극성 지표
**주간 재검사 사용자 수 — 도면을 한 번 검사하고, 고쳐서 다시 올린 사람의 주간 수(익명 집계).**
| | 값 |
|---|---|
| 오늘(2026-08-22) 현재 값 | **0명** — 집계 기능 자체가 없음 |
| 8주 뒤(2026-10-12) 목표 | **주 20명** |
- **왜 이 지표인가** — 한 번 올려 보고 마는 것은 호기심입니다. **고쳐서 다시 올렸다는 건 지적이 실제로 맞았고
도움이 됐다는 뜻**입니다. CADLens가 하려는 일(`검사 → 고치기 → 재검사`)이 그대로 숫자가 됩니다.
- **왜 가입자 수·페이지뷰가 아닌가** — 재방문이 안 잡힙니다. 커밋 수는 저희가 열심히 했다는 증거일 뿐 수험생에게 아무 의미가 없습니다.
- **20명의 근거** — 없습니다. 기계과 한 반 규모를 기준으로 일단 정했습니다.
- **집계 방식** — 회원가입이 없고 이용자 대부분이 미성년자라, 개인을 알아볼 수 있는 정보는 남기지 않고
익명 검사 기록만 셉니다. 지금은 품질을 먼저 올리고 집계를 붙일 예정입니다([발전 계획](https://github.com/ritual1127/naverogq/blob/main/plan/docs/roadmap.md) 참고).
#### ③ 역할 분담
| 이름 | 담당 | 이번 8주에 책임지는 것 |
|---|---|---|
| 박지완 | 개발 총괄 · 저장소 | 서버, 검사 규칙, AI 채점, 커밋과 배포 |
| 장우영 | 사용자 접촉 | 기계과 학생·선생님 베타 테스트 모집, 피드백을 이슈로 정리 |
| 안대열 | 도면 데이터 · 검증 | 실제 수험생 도면 수집과 라벨링, `bench.py`·`variance.py` 측정 기록 |
| 김승준 | 발표 · 기록 | 데모데이 3분 영상, 발표, 주간 계획과 문서 갱신 |
한 사람이 놀고 한 사람이 다 하는 걸 막으려고 나눴습니다. 담당이라는 건 **그 일을 혼자 한다는 뜻이 아니라
그 일이 안 됐을 때 물어볼 사람이 정해져 있다는 뜻**입니다.
#### ④ 팀 규칙 3줄
1. **의견이 갈리면 재서 정한다.** 숫자로 잴 수 있으면(정확도·편차·속도) 재 보고 결과를 따르고, 잴 수 없으면
그 영역 담당자가 정한다. 어느 쪽이든 **30분 안에 끝내고 결정한 이유를 저장소에 남긴다.**
2. **한 일은 저장소에 남긴다.** 커밋이나 문서로 남지 않은 작업은 없었던 것으로 본다.
3. **못한 건 못했다고 그 주에 적는다.** 안 되는 걸 되는 척하면 다음 주에 두 배로 돌아온다.
#### ⑤ 주간 리듬
| 요일 | 무엇 |
|---|---|
| 화 20:00 | 팀 회의 — 그 주 워크샵 강의를 같이 보고 할 일을 나눔 |
| 목 | 그 주 산출물 점검 — 남은 항목을 나눠 맡음 |
| 일 21:00 | [팀 페이지](https://meister.itshin.com/네이놈)에 그 주 산출물 제출 · 주간 계획 파일([plan/](https://github.com/ritual1127/naverogq/blob/main/plan/w1/README.md)) 갱신 |
전담 멘토는 NAVER OGQ마켓 신철호 대표이고, 피드백은 **4주차(09-09 17:00) · 8주차(10-07 17:00) 데모데이에서 30팀 전체 총평**으로 받습니다.
1:1 멘토링은 2차 심사를 통과한 5팀만 따로 진행합니다. 그래서 주간 리듬에 1:1 세션을 넣지 않았습니다.
---
#### 자가 점검
| 문항 | 답 |
|---|---|
| 팀원 아무나 물어도 미션 문장을 똑같이 말할 수 있다 | 이 문서를 팀 전원이 읽고 화요일 회의에서 맞춰 봄 |
| 대상이 누구인지 한 명의 구체적인 사람으로 떠올릴 수 있다 | 예 — 학원에 다니지 않고 혼자 실기를 준비하는 우리 학교 기계과 학생 |
| 이번 주에 만든 것이 북극성 지표를 올리는지 설명할 수 있다 | 예 — AI 채점이 백지를 채점하고 있었다. 지적이 틀리면 아무도 다시 안 올린다 |
| 의견이 갈렸을 때 어떻게 정하는지 팀 전원이 안다 | 규칙 1번 |
| 다음 주에 무엇을 할지 지금 말할 수 있다 | 예 — [이번 주 계획](https://github.com/ritual1127/naverogq/blob/main/plan/w1/2026-08-4%EC%A3%BC%EC%B0%A8.md) |
---
## 2. 왜 지금 이걸 하고 있나
> 출처 — [`docs/roadmap.md`](https://github.com/ritual1127/naverogq/blob/main/docs/roadmap.md) 를 그대로 옮긴 것입니다.
### CADLens 발전 계획
앞으로 무엇을 어떤 순서로 할지 적어 둔 문서입니다. 기준일은 **2026년 8월 11일**입니다.
지금 무엇이 되고 무엇이 안 되는지는 [검사 정확도](https://github.com/ritual1127/naverogq/blob/main/docs/accuracy.md)에, 다른 종목으로 넓힐 수
있는지는 [`example/`](https://github.com/ritual1127/naverogq/blob/main/example)에 있습니다.
---
#### 우선순위
번호가 곧 순서입니다. 위에 있는 게 안 되면 아래 것을 해도 의미가 없습니다.
##### 1. 실제 수험생 도면으로 정확도 다시 재기
지금 정확도 100%는 **저희가 직접 만든 연습용 도면 18장** 기준입니다. 도면을 만든 사람과
검사 규칙을 만든 사람이 같아서, 이 숫자만으로는 실제 시험 도면에서도 맞는다고 말할 수
없습니다. **이게 안 되면 나머지가 다 의미 없습니다.**
- [ ] 기계과 학생 도면을 이름 지운 상태로 모으기
- [ ] 같은 방식으로 다시 측정해 [검사 정확도](https://github.com/ritual1127/naverogq/blob/main/docs/accuracy.md)의 표를 실제 도면 기준으로 교체
- [ ] 자체 제작 도면과 실제 도면의 결과 차이를 그대로 공개
##### 2. AI 점수 안정시키기
투상도 30점은 AI가 매기는데 **같은 도면을 다시 넣으면 점수가 흔들립니다.** 확정 점수가
아니라고 화면에 적어 두긴 했지만, 흔들리는 폭 자체를 줄여야 합니다.
- [x] 같은 도면을 여러 번 돌려 편차가 몇 점인지 먼저 측정 — `variance.py`, 결과는 [검사 정확도](https://github.com/ritual1127/naverogq/blob/main/docs/accuracy.md)에 있습니다 (2026-08-22)
- [ ] **단위가 mm가 아닌 도면의 백지 렌더 고치기.** 편차를 재다 드러났습니다. 도면 범위를 그대로 밀리미터로 보는 탓에 AI가 백지를 채점하고 있었습니다. 여기부터 고쳐야 아래 항목들이 의미가 있습니다
- [ ] 규칙으로 옮길 수 있는 건 옮기기 — 뷰 개수, 제3각법 배치는 좌표로 계산할 수 있을지 검토
- [ ] 그래도 남는 부분은 여러 번 물어 중앙값을 쓰는 방식 검토 (정확해지지만 비용이 늘어남)
- [ ] AI가 틀린 사례를 모아 두기. "AI를 어떻게 검증했나"에 답할 근거가 됩니다
##### 3. 못 잡는 것 줄이기
[검사 정확도](https://github.com/ritual1127/naverogq/blob/main/docs/accuracy.md)의 약점 표를 하나씩 지웁니다.
- [ ] 선으로만 그린 표면거칠기 기호 (지금은 문자로만 찾음)
- [ ] 직접 그린 기하공차 기입틀 (지금은 TOLERANCE 엔티티와 문자로만 찾음)
- [ ] 이름이 CENTER 계열이 아닌 중심선 레이어
- [ ] 선 4개로 그린 윤곽선 (지금은 닫힌 사각형만 인식)
##### 4. 지원 형식 넓히기
- [ ] Inventor의 ipt · idw · iam. 3D 파일을 읽으려면 파싱 모듈이 새로 필요합니다
- [ ] 3D 모델 채점은 2D가 안정된 뒤에 합니다
##### 5. 다른 종목으로 넓히기
`exam.py`의 판정 함수와 루브릭이 KS 제도 규칙에 기반해 있어 다른 종목에도 상당 부분
그대로 쓸 수 있습니다. 어디까지 되는지는 미리 조사해 [`example/`](https://github.com/ritual1127/naverogq/blob/main/example)에 남겼습니다.
| 종목 | 규칙 재사용 | 순서 |
|---|---|---|
| 기계설계산업기사 | 약 90% | 1순위 |
| 일반기계기사 | 약 60% | 2순위 (작업형 한정) |
| 사출금형산업기사 | 약 55% | 3순위 |
| 프레스금형산업기사 | 약 50% | 4순위 |
- [ ] **0단계 — 구조 정리.** `exam.py`가 기능사 기준값을 모듈 상수로 박아 두고 있어 두 번째
종목이 들어오면 막힙니다. 값을 종목별로 분리하되 **검사 함수 안에 종목 분기는 넣지
않습니다.** 종목이 늘어나면 분기가 규칙마다 퍼져 손댈 수 없게 됩니다
- [ ] 종목별 공개문제를 3개 회차 이상 확보하기 전에는 코드를 건드리지 않습니다.
확인되지 않은 기준으로 검사 규칙을 만들면 응시자에게 틀린 지적을 하게 됩니다
##### 6. 학교에서 쓸 수 있게 만들기
- [ ] 반 단위 화면 — 선생님이 여러 도면을 한 번에 확인
- [ ] 학교 단위 이용 시 개인정보 처리 안내문 정리
---
#### 얼마나 쓰이는지 재는 방법
지금은 **아무것도 세지 않습니다.** 사람을 모으는 것보다 먼저 고칠 게 남았다고 봤고,
쓰는 사람 대부분이 미성년자라 함부로 붙일 수도 없었습니다.
CADLens는 [공개 고지](https://github.com/ritual1127/naverogq/blob/main/docs/policy.md)에서 **추적 코드가 없고, 회원가입이 없고, 개인을 알아볼 수
있는 정보를 받지 않는다**고 약속했습니다. 지표가 필요하다고 그 약속을 깨면 정직함으로 쌓은
걸 스스로 무너뜨리는 것이라, **약속을 지키면서 셀 수 있는 것만** 세기로 했습니다.
**셀 것**
| 지표 | 어떻게 | 개인 식별 |
|---|---|---|
| 검사 횟수 (일별·월별) | 검사가 끝날 때 숫자만 +1 | 없음 |
| 재방문율 | 브라우저에 이미 있는 `cadcheck.history`로 "2회 이상 검사한 브라우저" 비율 | 없음. 기기 안에서 판단하고 결과 숫자만 보고 |
| 재검사 비율 | 같은 파일 이름을 다시 올린 비율 (= 고치고 다시 온 사람) | 없음 |
| 점수 개선 폭 | 재검사 때 점수가 몇 점 올랐는지 | 없음 |
| 언어·다크모드 분포 | 이미 브라우저에 있는 설정값 집계 | 없음 |
**안 셀 것** — IP, 쿠키, 광고 ID, 도면 내용, 파일 이름 원본, 위치, 기기 지문.
**대표로 삼을 숫자는 방문자 수가 아닙니다.** CADLens에서 의미 있는 건
**"검사 → 고침 → 재검사로 점수가 오른 사람의 비율"** 입니다. "몇 명이 왔다"가 아니라
**"몇 명이 실제로 나아졌다"** 는 뜻이라, 도면을 봐주는 도구로서 훨씬 정확한 숫자입니다.
집계를 시작하면 [임팩트](https://github.com/ritual1127/naverogq/blob/main/docs/impact.md)와 README의 해당 절을 실제 숫자로 바꿉니다.
---
#### 문서를 어떻게 관리할지
숫자가 문서마다 다르면 그 자체로 신뢰를 잃습니다.
- [ ] 정확도를 다시 잴 때마다 README · [검사 정확도](https://github.com/ritual1127/naverogq/blob/main/docs/accuracy.md) · [임팩트](https://github.com/ritual1127/naverogq/blob/main/docs/impact.md)의
숫자를 같이 맞춥니다
- [ ] 응시자 통계는 [`example/96_응시자_통계.md`](https://github.com/ritual1127/naverogq/blob/main/example/96_%EC%9D%91%EC%8B%9C%EC%9E%90_%ED%86%B5%EA%B3%84.md)를 원본으로
두고 다른 문서는 그걸 인용합니다. 아직 1차 출처(통계연보)로 대조하지 않았다는 것도
그 문서에 적어 뒀습니다
- [ ] 문서가 코드의 함수 이름이나 상수를 언급하면, 그게 실제로 있는지 확인하고 씁니다
---
#### 한 줄로 줄이면
**"쓰는 사람이 있고, 그 사람들이 실제로 나아졌다"를 숫자로 만드는 것.**
기술은 어느 정도 됐고, 비어 있는 건 그 숫자입니다.
---
## 3. 이번 주에 무슨 일이 있었나
> 출처 — [`plan/w1/기록.md`](https://github.com/ritual1127/naverogq/blob/main/plan/w1/%EA%B8%B0%EB%A1%9D.md) 를 그대로 옮긴 것입니다.
### 2026-08-4주차 (08-22 토 ~ 08-23 일)
본선 발표(08-17) 직후라 이번 주는 이틀뿐입니다. 이틀에 하나씩, 두 개만 합니다.
심사 피드백이 지적한 것 중 **"AI 판단 정확도를 높이라"** 가 이번 주 몫입니다.
[발전 계획](https://github.com/ritual1127/naverogq/blob/main/plan/docs/roadmap.md)의 2번(AI 점수 안정시키기)에 해당합니다.
1번(실제 수험생 도면으로 재측정)은 남의 도면을 모아야 해서 주말에 혼자 못 합니다.
그래서 혼자서 끝낼 수 있는 2번을 먼저 잡았습니다.
---
#### 08-22 (토) — AI 점수가 얼마나 흔들리는지 숫자로 잰다
투상도 30점은 AI가 매기는데 같은 도면을 다시 넣으면 점수가 달라집니다.
흔들린다는 건 알지만 **몇 점이 흔들리는지 모릅니다.** 모르면 줄였는지도 알 수 없습니다.
고치기 전에 재는 게 먼저입니다.
- [x] 같은 도면을 여러 번 채점해 점수 분포를 뽑는 도구 만들기 — `variance.py`
- [x] 캐시를 타지 않게 할 것 — `judge()` 대신 제공자를 직접 부른다
- [x] 어떤 지적이 나왔다 안 나왔다 하는지도 같이 세기
- [x] 통계 계산이 맞는지 확인하는 테스트 한 개 — `test_variance_spread`
- [x] 실제로 돌려서 나온 숫자를 [검사 정확도](https://github.com/ritual1127/naverogq/blob/main/plan/docs/accuracy.md)에 남기기
**끝난 기준** — 채웠습니다. 도면 3장을 5회씩 채점했습니다.
| 도면 | 5회 점수 | 폭 |
|---|---|---|
| `sample_plate.dxf` | 18, 18, 20, 20, 20 | 2점 |
| `sample_autocad.dxf` | 18, 18, 18, 18, 18 | 0점 |
| `sample_075em07z.dwg` | 0, 18, 18, 18, 18 | **18점** |
**재다가 더 큰 걸 찾았습니다.** 선이 6,373개 들어 있는 실제 도면인데 AI에게
보내는 그림이 201바이트짜리 백지였습니다. AI는 도면이 아니라 빈 종이를 보고
"투상도가 하나도 없다"고 5회 모두 답했습니다. 원인은 도면 단위입니다.
`render_png`가 도면 범위를 그대로 밀리미터로 보는데, 이 파일은 범위가 0.12라서
사방 5mm 여백에 그림이 다 먹힙니다. **단위가 mm가 아닌 도면은 AI 30점이 통째로
엉터리였습니다.** 그래서 내일 할 일을 바꿉니다.
#### 08-23 (일) — 백지 렌더를 고치고 감점 폭을 잡는다
토요일에 잰 18점 편차는 AI가 오락가락한 게 아니라 **백지를 보고 몇 점 깎을지
고민한 결과**였습니다. 렌더링이 먼저입니다.
**08-22 밤에 당겨서 했습니다.** 일요일에 시간이 나지 않아 토요일에 몰아 했습니다.
- [x] 도면 단위(`$INSUNITS`)를 반영해 그림 크기를 맞추기. mm가 아니면 환산하고,
단위를 알 수 없으면 도면 범위에 맞춰 페이지를 채우기
— `dwg.detect_mm_per_unit`을 그대로 써서 환산. 201바이트 → 283,550바이트
- [x] 고친 뒤 `sample_075em07z.dwg` 그림을 저장해 눈으로 확인. 201바이트가 아니어야 함
— 열어서 도면이 보이는 것까지 확인. `sample_autocad.dxf`도 백지였다는 것을 이때 알았습니다
- [x] `variance.py`로 다시 재서, 진짜 도면을 봤을 때의 편차를 새로 기록
— 0, 0, 5, 9, 18. 폭 18점 그대로, 중앙값만 18점에서 5점으로 내려갔습니다
- [x] 남는 감점 폭 줄이기 — 프롬프트가 정한 8~12점 범위를 벗어난 판정이 나왔으므로
점수 상한을 스키마나 후처리에서 눌러 주는 방법 검토
— `MAX_SINGLE_DEDUCT = 12` 로 후처리에서 눌렀습니다
- [ ] 지적 제목이 매번 다르게 적히는 문제 — 제목을 정해진 목록에서 고르게 할지 검토
— 못 했습니다. [P03](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/P03-%EC%A7%80%EC%A0%81%EC%A0%9C%EB%AA%A9%ED%9D%94%EB%93%A4%EB%A6%BC.md)으로 열려 있습니다
**끝난 기준** — 반쯤 채웠습니다. 렌더는 백지가 아니고([P01](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/P01-%EB%B0%B1%EC%A7%80%EB%A0%8C%EB%8D%94.md) 해결),
그 상태의 5회 점수 폭도 [검사 정확도](https://github.com/ritual1127/naverogq/blob/main/docs/accuracy.md)에 새로 적었습니다.
다만 **폭 18점은 그대로여서 편차를 줄이지는 못했습니다.** 편차의 원인이 백지가 아니라
프롬프트와 모델 쪽이라는 것만 알아냈습니다. 표본 자체가 기계 부품 도면이 아니라 무늬
도면이어서, 편차는 실제 수험생 도면으로 다시 재야 합니다([P04](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/P04-%ED%91%9C%EB%B3%B8%EB%8F%84%EB%A9%B4.md)).
#### 계획에 없었는데 이번 주에 나온 것
워크샵 1주차(08-18 ~ 08-24) 산출물인 **팀 목표 1장**의 마감이 이번 주였습니다.
계획을 심사 피드백만 보고 짜서 빠뜨렸습니다.
- [x] [팀 목표 1장](https://github.com/ritual1127/naverogq/blob/main/plan/w1/W1_%ED%8C%80%EB%AA%A9%ED%91%9C.md) 작성 — 미션 문장 · 북극성 지표 · 역할 분담 · 팀 규칙 · 주간 리듬
- [x] README 맨 위에 미션 문장과 북극성 지표 적기 (1주차가 요구한 것)
- [ ] 전담 멘토에게 공유 — **멘토 배정 메일이 아직 안 왔습니다.** 안 오면 운영진 메일로 회신해 물어볼 것
- [ ] 팀 전원이 미션 문장을 읽고 화요일 회의에서 맞춰 보기
배포 서버에서 **세 언어 번역만 계속 429로 막히는 것**도 08-23에 드러났습니다.
도면 한 장에 AI를 세 번(채점 · 후속 답변 · 번역) 부르는데 순서상 마지막인 번역이
먼저 굶었습니다.
- [x] 후속 답변과 번역을 한 호출로 합치기 — 도면당 3회에서 2회로. `_enrich()`
- [x] 모델이 지어내는 조·항·장 번호를 후처리로 걷어내기 — `_drop_clause_numbers()`
- [ ] 배포 서버에서 429가 실제로 사라지는지 확인 — **할당량이 회복돼야 볼 수 있습니다**
자세한 것은 [P08](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/P08-%EB%B2%88%EC%97%AD429.md)에 있습니다.
**다음 주부터는 주차 계획을 짤 때 그 주 워크샵 페이지를 먼저 열어 봅니다.**
#### 08-24 (월) — 제출 경로를 뚫고 W2를 미리 연다
사람이 해야 하는 일(메일 발송 · 팀원 대화)이 대부분인 날이라 저장소에 남은 것은 적습니다.
- [x] [팀 목표 1장](https://github.com/ritual1127/naverogq/blob/main/plan/w1/%ED%8C%80%EB%AA%A9%ED%91%9C.md)을 워크샵이 요구한 형식대로 **A4 한 장 PDF**로 만들었습니다(`팀목표.pdf`).
다섯 항목이 한 장 안에서 번호로 세어지게 놓고, 8주 목표(오늘 0명 → 8주 뒤 주 20명)를 따로
박스로 뺐습니다. 색은 임의로 고르지 않고 서비스 화면(`static/index.html`)의 팔레트를 그대로 썼습니다.
- [x] W2 워크샵 페이지를 미리 열어 산출물과 조건을 [W2 주차 계획](https://github.com/ritual1127/naverogq/blob/main/plan/w2/README.md)에 옮겨 적었습니다 —
인터뷰 5건 + 문제 정의 한 문장, 지인이 아닌 실제 사용자 5명, 1건당 15분, 인용 3개 이상,
미래 가정이 아니라 과거 행동을 묻기. 1주차에 강의를 늦게 열어 산출물을 놓쳤던 것([P06](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/P06-%EC%9B%8C%ED%81%AC%EC%83%B5%EB%86%93%EC%B9%A8.md))의 반작용입니다.
- [x] 메일함을 다시 봤습니다. **08-23 09:20 에 운영진 안내 메일이 와 있었습니다.**
제출처는 멘토 메일이 아니라 **팀 페이지**(https://meister.itshin.com/네이놈)의 `주차별 산출물`이었습니다.
전담 멘토는 NAVER OGQ마켓 신철호 대표이고 피드백은 데모데이 2회 총평, **1:1 멘토링은 2차 심사 통과 5팀만** 합니다.
만들어 둔 멘토 공유 메일 초안은 버리고 [제출 절차](https://github.com/ritual1127/naverogq/blob/main/plan/w1/08-24_%EC%9B%94/%EC%A0%9C%EC%B6%9C%EC%A0%88%EC%B0%A8.md)로 바꿔 적었습니다([P05](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/P05-%EB%A9%98%ED%86%A0%EB%B0%B0%EC%A0%95.md) 해결).
- [x] 팀 목표 1장의 주간 리듬에서 **있지도 않은 목요일 1:1 멘토링 칸을 빼고** 팀 페이지 제출로 고쳤습니다(md · PDF 둘 다).
- [ ] **팀 페이지 업로드 — 못 했습니다.** 구글 로그인이 필요해 사람 몫입니다.
- [ ] **팀원 4명이 미션 문장 맞춰 보기 — 못 했습니다.** 08-25 회의로 넘깁니다.
- [ ] **인터뷰 대상 5명 확정 — 못 했습니다.** 사람 이름은 팀이 정할 일이라 08-25 회의로 넘깁니다.
**이틀 동안 "멘토를 몰라 제출을 못 한다"고 적어 둔 것이 틀렸습니다.** 안내 메일은 08-23 아침에 이미 와 있었고,
우리는 08-24 에야 메일함을 다시 봤습니다. 막힌 줄 알았던 제출 경로는 처음부터 열려 있었습니다.
남은 것은 팀 페이지에 로그인해서 올리는 일뿐입니다.
#### 다음 주로 넘기는 것
- 실제 수험생 도면 모으기 (발전 계획 1번) — 학교 개학 후 부탁해야 함
- 09-09 데모데이 1차 3분 영상 — 편차를 줄인 뒤에 찍어야 보여줄 게 생김
8주 전체 일정은 [`plan/README.md`](https://github.com/ritual1127/naverogq/blob/main/plan/README.md) 에 있습니다.
---
## 4. 지금까지 만난 문제 전부
오늘 일이 막히면 **여기 이미 적혀 있는 문제인지 먼저 보세요.** 같은 문제를
두 번 파느라 하루를 날리는 게 제일 아깝습니다. 새 문제면 아래 7번
`막힌 것 · 문제` 칸에 적어 주시면 제가 문제점 폴더로 옮깁니다.
> 출처 — [`plan/문제점/README.md`](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/README.md) 를 그대로 옮긴 것입니다.
### 문제점
일하다 만난 문제를 **그때그때 적어 두는 폴더**입니다. 고쳤든 못 고쳤든 남깁니다.
왜 남기나 — 문제를 고치고 나면 그런 문제가 있었다는 사실 자체를 잊습니다.
8주 뒤 발표에서 "무엇을 어떻게 알아냈는가"를 말할 수 있는 팀과 "잘 됩니다"만
말하는 팀은 여기서 갈립니다. 심사 피드백도 **안 되는 걸 공개하는 것**을 우리 강점으로
꼽았습니다.
#### 원칙 — 없는 문제를 지어내지 않는다
**실제로 겪은 것만 적습니다.** 그날 아무 문제도 없었으면 아무것도 적지 않습니다.
기록을 채우려고 "개선하면 좋을 점" 같은 것을 문제로 올리지 않습니다.
지어낸 문제가 한 건이라도 섞이면 나머지 기록도 같이 못 믿게 됩니다.
빈 주가 있는 게 정상이고, 그게 이 폴더가 진짜라는 증거입니다.
문제인 것 — 실제로 틀린 결과가 나왔다, 하려던 게 안 됐다, 시간이 계획보다 훨씬 더 들었다,
연락이나 자료가 없어서 막혔다.
문제가 아닌 것 — 아직 안 만든 기능, 다음에 하기로 한 일, 잘 됐는데 더 잘하고 싶은 것.
그런 건 [발전 계획](https://github.com/ritual1127/naverogq/blob/main/docs/roadmap.md)이나 그날 계획에 적습니다.
#### 현황
| 번호 | 문제 | 상태 | 처음 본 날 | 영향 |
|---|---|---|---|---|
| [P01](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/P01-%EB%B0%B1%EC%A7%80%EB%A0%8C%EB%8D%94.md) | 단위가 mm가 아닌 도면이 백지로 렌더된다 | ✅ 해결 | 2026-08-22 | AI 채점 30점 전부 |
| [P02](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/P02-AI%EC%A0%90%EC%88%98%ED%8E%B8%EC%B0%A8.md) | 같은 도면인데 AI 점수가 매번 달라진다 | 🔴 열림 | 2026-08-22 | AI 채점 30점 |
| [P03](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/P03-%EC%A7%80%EC%A0%81%EC%A0%9C%EB%AA%A9%ED%9D%94%EB%93%A4%EB%A6%BC.md) | 같은 판정인데 지적 제목이 매번 다르게 적힌다 | 🔴 열림 | 2026-08-22 | 수험생이 보는 화면 · 재검사 비교 |
| [P04](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/P04-%ED%91%9C%EB%B3%B8%EB%8F%84%EB%A9%B4.md) | 측정에 쓰는 표본이 실제 시험 도면이 아니다 | 🔴 열림 | 2026-08-22 | 정확도 · 편차 측정 전부 |
| [P05](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/P05-%EB%A9%98%ED%86%A0%EB%B0%B0%EC%A0%95.md) | 제출처를 잘못 알았다 — 안내 메일을 이틀 늦게 봤다 | ✅ 해결 | 2026-08-22 | 산출물 제출 경로 전체 |
| [P06](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/P06-%EC%9B%8C%ED%81%AC%EC%83%B5%EB%86%93%EC%B9%A8.md) | 워크샵 1주차 산출물을 통째로 놓쳤다 | ✅ 해결 | 2026-08-22 | W1 산출물 · 진행 방식 |
| [P07](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/P07-%EC%A7%80%ED%91%9C0.md) | 북극성 지표가 0이고 셀 방법이 없다 | 🔴 열림 | 2026-08-22 | W5 · W6 산출물, 최종 KPI 리포트 |
| [P08](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/P08-%EB%B2%88%EC%97%AD429.md) | 배포 서버에서 번역 호출만 429로 계속 막힌다 | 🔴 열림 | 2026-08-23 | 화면에 뜨는 영어·일본어·중국어 번역 |
**열린 문제 5건 · 해결 3건** (P08 은 고쳤으나 배포 재확인 전)
#### 적는 법
1. **새 문제**를 만나면 파일 하나를 만듭니다. 이름은 `P08-짧은이름.md`처럼 번호를 이어 붙입니다.
2. 머리표를 채웁니다 — 상태 · 처음 본 날 · 무엇에 영향을 주나 · 맡은 사람.
3. 본문은 **증상 → 원인 → 조치 → 확인** 순서로 씁니다. 원인을 모르면 모른다고 적습니다.
추측을 원인 칸에 적으면 나중에 그게 사실인 줄 알게 됩니다.
4. **이미 있는 문제가 진전되면 그 파일 맨 아래 `## 기록`에 날짜와 한 줄을 더합니다.**
새 파일을 만들지 않습니다.
5. 고쳤으면 상태를 `해결`로 바꾸고 **확인 절에 무엇으로 확인했는지 숫자나 명령으로** 남깁니다.
"고쳤습니다"만 적힌 건 확인이 아닙니다.
6. 위 현황 표도 같이 고칩니다.
#### 규칙
- **못 고친 문제를 지우지 않습니다.** 열린 채로 두는 게 정상입니다.
- 처음 짐작이 틀렸어도 지우지 않습니다. 무엇을 잘못 짚었는지가 기록입니다.
([P02](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/P02-AI%EC%A0%90%EC%88%98%ED%8E%B8%EC%B0%A8.md)가 그런 경우입니다. 백지 때문이라고 봤는데 아니었습니다.)
- 사람 문제(연락이 안 온다 같은 것)도 적습니다. 코드 문제만 문제가 아닙니다.
- **`/today-plan` 을 돌릴 때마다 그날 만난 문제를 여기에 적습니다.**
**그날 아무 문제도 없었으면 아무것도 안 적습니다.**
> 출처 — [`plan/문제점/P01-백지렌더.md`](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/P01-%EB%B0%B1%EC%A7%80%EB%A0%8C%EB%8D%94.md) 를 그대로 옮긴 것입니다.
### P01 · 단위가 mm가 아닌 도면이 백지로 렌더된다
| | |
|---|---|
| 상태 | **해결** (2026-08-22) |
| 처음 본 날 | 2026-08-22 |
| 무엇에 영향을 주나 | AI 채점 30점 전부 |
| 맡은 사람 | 박지완 |
| 목록 | [문제점 전체](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/README.md) |
#### 증상
선이 6,373개 들어 있는 `sample_075em07z.dwg`를 AI에게 보내면 다섯 번 모두
"투상도가 하나도 없다"고 답했다. AI에게 실제로 보내는 그림을 파일로 저장해 보니
**201바이트짜리 빈 그림**이었다. AI는 도면이 아니라 백지를 채점하고 있었다.
`sample_autocad.dxf`도 같은 상태였다. 이 도면이 다섯 번 모두 18점으로 편차 0을 보인 것은
채점이 안정적이어서가 아니라 **매번 같은 백지를 봤기 때문**이었다.
#### 원인
`ai_review.render_png`가 도면 범위(`$EXTMIN`~`$EXTMAX`)를 그대로 밀리미터로 보고
페이지를 만들었다. 이 파일은 단위가 미터라 범위가 0.12 x 0.12로 잡히는데, 여기에
사방 5mm 여백을 붙이면 페이지가 거의 전부 여백이 되고 그림은 1픽셀 밑으로 짜부라진다.
A3(420 x 297)로 그려진 도면은 멀쩡히 나왔기 때문에 여태 드러나지 않았다.
#### 조치
도면 단위를 밀리미터로 환산해서 그리도록 고쳤다. 단위 판별은 이미 있던
`dwg.detect_mm_per_unit`을 그대로 썼다. 새로 만들지 않았다.
#### 확인
| 도면 | 고치기 전 | 고친 뒤 |
|---|---|---|
| `sample_075em07z.dwg` | 201바이트 | 283,550바이트 |
| `sample_autocad.dxf` | 201바이트 | 283,550바이트 |
| `sample_plate.dxf` | 5,696바이트 (정상) | 5,889바이트 (그대로 정상) |
그림 파일을 실제로 열어서 도면이 보이는 것까지 확인했다. 자동 테스트 15개 통과.
#### 배운 것
**중간 결과물을 눈으로 본 적이 없었다는 게 진짜 문제다.** AI가 뱉은 답이 그럴듯해서
아무도 그림을 열어 볼 생각을 안 했다. 정확도 100%라는 숫자가 이 사실을 가리고 있었다.
#### 기록
- 2026-08-22 — 편차를 재다 발견. 같은 날 고치고 확인.
> 출처 — [`plan/문제점/P02-AI점수편차.md`](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/P02-AI%EC%A0%90%EC%88%98%ED%8E%B8%EC%B0%A8.md) 를 그대로 옮긴 것입니다.
### P02 · 같은 도면인데 AI 점수가 매번 달라진다
| | |
|---|---|
| 상태 | **열림** |
| 처음 본 날 | 2026-08-22 |
| 무엇에 영향을 주나 | AI 채점 30점 |
| 맡은 사람 | 미정 |
| 목록 | [문제점 전체](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/README.md) |
#### 증상
같은 도면을 다섯 번 채점하면 점수가 흔들린다.
| 도면 | 5회 점수 | 폭 | 표준편차 |
|---|---|---|---|
| `sample_plate.dxf` | 18, 18, 20, 20, 20 | 2점 | 1.10점 |
| `sample_075em07z.dwg` (렌더 고치기 전) | 0, 18, 18, 18, 18 | 18점 | 8.05점 |
| `sample_075em07z.dwg` (렌더 고친 뒤) | 0, 0, 5, 9, 18 | 18점 | 7.50점 |
#### 지금까지 안 것
- [P01](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/P01-%EB%B0%B1%EC%A7%80%EB%A0%8C%EB%8D%94.md)을 고치기 전에는 폭 18점이 **백지를 보고 몇 점 깎을지 고민한 결과**라고 봤다.
- 고친 뒤 다시 재도 **폭은 18점 그대로**였고 중앙값만 18점에서 5점으로 내려갔다.
백지일 때는 지적이 1건으로 일정했는데 진짜 그림을 보자 **지적 개수부터 1~3건으로 흔들린다.**
- 즉 편차의 원인은 렌더가 아니라 **프롬프트와 모델 쪽**이었다. 처음 짐작이 틀렸다.
- 한 지적이 30점을 통째로 깎는 건 `MAX_SINGLE_DEDUCT = 12`로 막았지만,
지적이 세 개 나오면 여전히 0점이 된다.
#### 다음에 해 볼 것
- [ ] **실제 수험생 도면으로 다시 재기.** 지금 표본은 기계 부품 도면이 아니다([P04](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/P04-%ED%91%9C%EB%B3%B8%EB%8F%84%EB%A9%B4.md)).
- [ ] 규칙으로 옮길 수 있는 부분 분리 — 뷰 개수와 제3각법 배치는 좌표로 계산되는 값이다.
- [ ] 여러 번 물어 중앙값 쓰기. 정확해지지만 호출이 늘어 무료 할당량이 빨리 마른다.
- [ ] 지적 개수 자체를 프롬프트에서 제한해 보기.
#### 기록
- 2026-08-22 — 처음 측정. 도면 3장 x 5회. 폭 최대 18점.
- 2026-08-22 — 렌더 수정 후 재측정. 편차 안 줄어듦. 원인이 렌더가 아니었음이 드러남.
> 출처 — [`plan/문제점/P03-지적제목흔들림.md`](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/P03-%EC%A7%80%EC%A0%81%EC%A0%9C%EB%AA%A9%ED%9D%94%EB%93%A4%EB%A6%BC.md) 를 그대로 옮긴 것입니다.
### P03 · 같은 판정인데 지적 제목이 매번 다르게 적힌다
| | |
|---|---|
| 상태 | **열림** |
| 처음 본 날 | 2026-08-22 |
| 무엇에 영향을 주나 | 수험생이 보는 화면 · 재검사 비교 |
| 맡은 사람 | 미정 |
| 목록 | [문제점 전체](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/README.md) |
#### 증상
같은 판정에 대해 제목이 매번 달라진다.
- "투상도 전체 누락"
- "투상도 완전 누락"
- "투상도 전체 누락 및 형상 표현 불가"
- "기계 부품 투상도 미작성 및 투상 뷰 부재"
뜻은 같지만 **수험생에게는 다른 지적으로 보인다.**
#### 왜 문제인가
CADLens의 핵심 흐름은 `검사 -> 고치기 -> 재검사`다. 재검사에서 지난번과 비교해 주는데,
제목이 매번 달라지면 **비교가 성립하지 않는다.** 북극성 지표(주간 재검사 사용자 수)와 직결된다.
#### 다음에 해 볼 것
- [ ] 지적 제목을 정해진 목록에서 고르게 하기 (스키마 enum).
- [ ] 규칙 검사처럼 지적마다 코드를 붙이기. 지금 AI 지적은 전부 `AI_PROJECTION` 하나다.
- [ ] 제목은 코드로 고정하고 설명만 AI가 쓰게 하기.
#### 기록
- 2026-08-22 — 편차 측정 중에 눈에 띔.
> 출처 — [`plan/문제점/P04-표본도면.md`](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/P04-%ED%91%9C%EB%B3%B8%EB%8F%84%EB%A9%B4.md) 를 그대로 옮긴 것입니다.
### P04 · 측정에 쓰는 표본이 실제 시험 도면이 아니다
| | |
|---|---|
| 상태 | **열림** |
| 처음 본 날 | 2026-08-22 |
| 무엇에 영향을 주나 | 정확도 · 편차 측정 전부 |
| 맡은 사람 | 미정 |
| 목록 | [문제점 전체](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/README.md) |
#### 증상
- 정확도 100%는 **우리가 직접 만든 합성 도면 18장** 기준이다. 도면을 만든 사람과
검사 규칙을 만든 사람이 같다.
- 편차 측정에 쓴 `sample_075em07z.dwg`는 렌더를 고치고 그림을 열어 보니
**기계 부품 도면이 아니라 무늬가 반복되는 도면**이었다. "투상도가 없다"는 판정 자체가
틀리지 않았을 수 있다.
**표본이 잘못되면 측정도 잘못된다.** 지금 우리가 가진 숫자는 전부 이 위에 올라가 있다.
#### 왜 급한가
심사 피드백 1번이 이것이다. 발표(W7)에서 "실제 도면 정확도는?"이라는 질문이 반드시 나온다.
합성 도면 100%만 말하면 그 자리에서 반박당한다.
#### 다음에 해 볼 것
- [ ] W2 인터뷰(08-26 ~ 08-28) 때 **이름 지운 실제 도면 받기**
- [ ] 사람이 판단한 정답 라벨 붙이기. CADLens 결과를 정답으로 쓰면 100%가 나오고 아무 의미가 없다
- [ ] `python bench.py labels.json`으로 다시 재고 `docs/accuracy.md` 표를 실제 도면 기준으로 교체
- [ ] 합성 도면과 실제 도면의 차이를 그대로 공개
#### 기록
- 2026-08-22 — 렌더를 고치고 그림을 열어 보다 표본이 기계 도면이 아님을 알게 됨.
> 출처 — [`plan/문제점/P05-멘토배정.md`](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/P05-%EB%A9%98%ED%86%A0%EB%B0%B0%EC%A0%95.md) 를 그대로 옮긴 것입니다.
### P05 · 전담 멘토가 배정되지 않았고 주간 안내 메일도 안 온다
| | |
|---|---|
| 상태 | **✅ 해결** (2026-08-24) |
| 처음 본 날 | 2026-08-22 |
| 무엇에 영향을 주나 | 산출물 제출 경로 전체 |
| 맡은 사람 | 박지완 |
| 목록 | [문제점 전체](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/README.md) |
#### 증상
- 본선 선발 안내(08-17)에 "매주 화요일 아침에 그 주차 강의 링크를 메일로 보내드립니다"라고
적혀 있는데 **08-18 첫 주 메일이 안 왔다.**
- "1:1 멘토링 세션" 이야기가 있는데 **전담 멘토가 누구인지 모른다.**
- jangsin1004@gmail.com 으로 온 운영진 메일은 08-17이 마지막이다.
#### 왜 문제인가
산출물 제출처가 "그 주 1:1 멘토링 세션 전까지 전담 멘토에게 공유"다.
**멘토를 모르면 제출 자체를 못 한다.** W1 산출물부터 막혀 있다.
#### 원인
**메일이 안 온 게 아니라 우리가 안 봤다.** 08-23 09:20 에 운영진 안내 메일이 도착해 있었는데,
08-22 에 한 번 확인하고 나서 08-24 까지 메일함을 다시 열지 않았다.
"08-17 이후 메일 없음"이라는 08-22 의 기록을 그대로 사실로 두고 이틀을 보냈다.
전제도 틀렸다. **1:1 멘토링은 모든 팀에게 있는 게 아니라 2차 심사를 통과한 5팀만** 받는다.
"1:1 멘토링 세션 전까지 전담 멘토에게 공유"라는 워크샵 문구를 우리 팀에도 해당한다고 읽었다.
#### 조치
- 제출처를 팀 페이지로 바로잡고 [제출 절차](https://github.com/ritual1127/naverogq/blob/main/plan/w1/08-24_%EC%9B%94/%EC%A0%9C%EC%B6%9C%EC%A0%88%EC%B0%A8.md)에 단계를 적었다.
- [팀 목표 1장](https://github.com/ritual1127/naverogq/blob/main/plan/w1/%ED%8C%80%EB%AA%A9%ED%91%9C.md)의 주간 리듬에서 **있지도 않은 목요일 1:1 멘토링 칸을 뺐다.** PDF도 다시 만들었다.
- W1 · W2 주차 계획의 "1:1 멘토링 세션 전까지 전담 멘토에게 공유" 문구를 팀 페이지 제출로 고쳤다.
- **주간 리듬에 메일함 확인을 넣지 않았다.** 대신 화요일 회의 때 그 주 워크샵 페이지와 메일함을 같이 연다([P06](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/P06-%EC%9B%8C%ED%81%AC%EC%83%B5%EB%86%93%EC%B9%A8.md)과 같은 재발 방지).
#### 확인
- 08-23 09:20 수신 메일 `[전국마이스터고 스타프로젝트] 산출물은 우리 팀 페이지에 올려주세요 — 제출처·피드백 안내`
- 제출처 https://meister.itshin.com/네이놈 → `주차별 산출물` → `N주차 제출`
- 전담 멘토 NAVER OGQ마켓 신철호 대표 · 데모데이 ① 09-09 17:00~20:00 · ② 10-07 17:00~17:30
- **아직 안 올렸다.** 구글 로그인이 필요해 사람이 해야 한다. 올린 뒤 이 절에 날짜를 적는다.
#### 기록
- 2026-08-22 — 메일함을 뒤져 확인. 08-17 이후 운영진 메일 없음.
- 2026-08-24 — 문의 메일 초안을 만들다가 메일함을 다시 봤고, **08-23 아침에 안내 메일이 이미 와 있었다.**
제출처는 팀 페이지, 전담 멘토는 신철호 대표, 1:1 멘토링은 5팀 전용. 문의할 것이 남지 않아 초안을 버리고
[제출 절차](https://github.com/ritual1127/naverogq/blob/main/plan/w1/08-24_%EC%9B%94/%EC%A0%9C%EC%B6%9C%EC%A0%88%EC%B0%A8.md)로 바꿔 적었다. **막힌 줄 알았던 제출 경로는 처음부터 열려 있었다.**
이 문제를 해결로 닫는다. 남은 것은 사람이 로그인해서 올리는 일뿐이다.
> 출처 — [`plan/문제점/P06-워크샵놓침.md`](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/P06-%EC%9B%8C%ED%81%AC%EC%83%B5%EB%86%93%EC%B9%A8.md) 를 그대로 옮긴 것입니다.
### P06 · 워크샵 1주차 산출물을 통째로 놓쳤다
| | |
|---|---|
| 상태 | **해결** (2026-08-22) |
| 처음 본 날 | 2026-08-22 |
| 무엇에 영향을 주나 | W1 산출물 · 진행 방식 |
| 맡은 사람 | 전원 |
| 목록 | [문제점 전체](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/README.md) |
#### 증상
W1(08-18 ~ 08-24) 산출물인 팀 목표 1장을 08-22까지 아무도 손대지 않았다.
미션 문장 · 북극성 지표 · 역할 분담 · 팀 규칙 · 주간 리듬 다섯 항목 전부였다.
#### 원인
본선 발표 다음 날이라 결과 메일만 보고 **같은 날 워크샵 강의가 열린 걸 몰랐다.**
강의는 08-04에 이미 전체 공개돼 있었고 안내 메일도 왔는데 안 읽었다.
계획을 심사 피드백만 보고 짜서 워크샵 산출물이 계획에 아예 없었다.
#### 조치
- 08-22에 팀 목표 1장을 몰아서 작성.
- `plan/` 규칙에 넣었다 — **계획을 짜기 전에 그 주 워크샵 페이지를 먼저 연다.**
- 주차 폴더마다 그 주 산출물을 미리 적어 두었다(W1 ~ W8 전부).
#### 확인
`plan/w1` ~ `plan/w8` 각 README에 그 주 산출물이 적혀 있다.
08-18 ~ 08-21 계획 파일의 `❌`는 지우지 않는다. 최종 발표에서 "8주간 배운 것"으로 쓸 수 있다.
#### 기록
- 2026-08-22 — 워크샵 1주차 페이지를 처음 열어 보고 알게 됨. 같은 날 산출물 작성.
> 출처 — [`plan/문제점/P07-지표0.md`](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/P07-%EC%A7%80%ED%91%9C0.md) 를 그대로 옮긴 것입니다.
### P07 · 북극성 지표가 0이고 셀 방법이 없다
| | |
|---|---|
| 상태 | **열림** |
| 처음 본 날 | 2026-08-22 |
| 무엇에 영향을 주나 | W5 · W6 산출물, 최종 KPI 리포트 |
| 맡은 사람 | 미정 |
| 목록 | [문제점 전체](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/README.md) |
#### 증상
북극성 지표는 **주간 재검사 사용자 수**인데 지금 값이 0명이다. 사람이 안 써서가 아니라
**세는 기능 자체가 없다.** `docs/impact.md`에도 "아직 사용자가 몇 명인지 세지 않고 있습니다"라고
적어 두었다.
#### 왜 급한가
- W5(09-15 ~ 21) 산출물에 "사용자 기록 — 몇 명이 써 봤고 몇 명이 핵심 행동을 끝냈나"가 있다.
- W6(09-22 ~ 28) 산출물이 통째로 지표다 — 계측 이벤트 · 퍼널 · 리텐션 커브 · 북극성 지표 현황.
- 계측을 09-05에 붙이기로 계획했는데 **그날 못 붙이면 W5 · W6에 낼 숫자가 없다.**
#### 조건
이용자 대부분이 미성년 수험생이다. 개인을 알아볼 수 있는 것은 남기지 않는다.
무엇을 세고 무엇을 안 세는지 `docs/policy.md`에 적기 전에는 배포하지 않는다.
#### 다음에 해 볼 것
- [ ] 09-05 — 이벤트 4가지(방문 · 시작 · 완료 · 재검사) 심기
- [ ] 09-12 — 배포 서버에서 실제로 쌓이는지 확인
- [ ] 시간이 모자라면 **재검사 하나만** 붙인다. 그게 북극성 지표다
#### 기록
- 2026-08-22 — 팀 목표 1장을 쓰면서 현재 값이 0이라는 걸 확인.
> 출처 — [`plan/문제점/P08-번역429.md`](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/P08-%EB%B2%88%EC%97%AD429.md) 를 그대로 옮긴 것입니다.
### P08 · 배포 서버에서 번역 호출만 429로 계속 막힌다
| | |
|---|---|
| 상태 | **열림** — 고쳤지만 배포 서버에서 재확인 못 함 |
| 처음 본 날 | 2026-08-23 |
| 무엇에 영향을 주나 | 화면에 뜨는 영어·일본어·중국어 번역 |
| 맡은 사람 | 박지완 |
| 목록 | [문제점 전체](https://github.com/ritual1127/naverogq/blob/main/plan/%EB%AC%B8%EC%A0%9C%EC%A0%90/README.md) |
#### 증상
배포 서버에서 도면을 검사하면 채점 결과와 한국어 후속 답변은 나오는데
**세 언어 번역만 계속 비어 있었다.** 로그에 `[ai] 번역 실패` 가 429(할당량 초과)로
찍혔다. 화면은 번역 대신 안내 문구로 넘어가므로 겉보기에는 조용히 실패한다.
#### 원인
도면 한 장을 검사하면 AI를 **세 번** 부른다.
1. 채점 (`JUDGE_SYSTEM`)
2. 후속 답변 (`FOLLOWUP_SYSTEM`)
3. 번역 (`TRANSLATE_SYSTEM`)
무료 할당량이 세 배로 빨리 마르고, 순서상 **마지막인 번역이 먼저 굶는다.**
1·2번이 성공한 뒤라 채점은 멀쩡해 보이고 번역만 사라진다.
#### 조치
후속 답변과 번역을 **한 호출로 합쳤다**(`_enrich()`). 둘 다 채점 결과만 있으면
만들 수 있어서 따로 부를 이유가 없었다. 도면 한 장당 호출이 3회에서 2회로 줄었다.
`TRANSLATE_SYSTEM`·`TRANSLATE_SCHEMA`·`_add_followups`·`_translate` 는 지웠다.
합치면서 같이 고친 것 — 지시문으로 "조·항·장 번호를 쓰지 말라"고 막아도 모델이
`KS B 0001 제3장` 처럼 지어내는 일이 있었다. 받은 뒤 `_drop_clause_numbers()` 로
걷어낸다. 확인할 수 없는 조문 번호를 수험생이 근거로 믿게 되면 안 된다.
#### 확인
- 자동 테스트 16개 통과. `_drop_clause_numbers` 검사를 하나 새로 넣었다
(`test_drop_clause_numbers` — 한국어 `제3장`, 영어 `Section 4`, 일본어 `第3章`을
걷어내고 규격 이름과 치수 숫자는 그대로 두는지).
- **배포 서버에서 429가 실제로 사라지는지는 아직 확인 못 했다.** 호출 수가 준 것은
코드로 확인했지만, 할당량이 회복된 뒤 다시 돌려 봐야 한다.
#### 기록
- 2026-08-23 — 호출을 2회로 합치고 조문 번호 후처리를 넣었다. 배포 재확인은 남았다.
---
## 5. 오늘 맡은 일
> 출처 — [`plan/w1/08-24_월/계획.md`](https://github.com/ritual1127/naverogq/blob/main/plan/w1/08-24_%EC%9B%94/%EA%B3%84%ED%9A%8D.md) 를 그대로 옮긴 것입니다.
### 08-18 주간 안내 메일이 왜 안 왔는지 같이 묻기 · 예상 10분
- "매주 화요일 아침에 그 주차 강의 링크를 메일로 보내드립니다"라고 했는데 첫 주부터 안 왔다.
- 스팸함과 프로모션 탭도 확인할 것. jangsin1004@gmail.com 으로 온다.
**이렇게 되면 끝** — 운영진에게 질문이 갔다
**흔한 실수** — 스팸함을 안 보고 안 왔다고 단정하는 것
### 전원이 같이 하는 것
**팀원 4명이 미션 문장 맞춰 보기** · 예상 20분
- 각자 문서를 안 보고 말해 본다. 한 명이라도 다르게 말하면 아직 합의된 게 아니다.
- 워크샵 자가 점검 1번이 이거다.
- 다르게 말한 부분이 있으면 그 자리에서 문장을 고친다.
**이렇게 되면 끝** — 네 명이 말한 문장이 같다
**흔한 실수** — 문서를 보면서 읽는 것. 안 보고 말해야 의미가 있다
---
## 6. 김승준 님이 8주 동안 맡은 일 전체
오늘 것만 보면 왜 이 일을 하는지 안 보여서 같이 넣었습니다.
> 출처 — [`plan/역할분담/김승준.md`](https://github.com/ritual1127/naverogq/blob/main/plan/%EC%97%AD%ED%95%A0%EB%B6%84%EB%8B%B4/%EA%B9%80%EC%8A%B9%EC%A4%80.md) 를 그대로 옮긴 것입니다.
### 김승준
배정 24건. [역할 분담 규칙](https://github.com/ritual1127/naverogq/blob/main/plan/%EC%97%AD%ED%95%A0%EB%B6%84%EB%8B%B4/README.md)
| 날짜 | 주차 | 맡은 일 | 계획 | 달성 | 실제로 한 일 |
|---|---|---|---|---|---|
| 08-23 (일) | W1 | `variance.py`로 다시 재기 | [계획](https://github.com/ritual1127/naverogq/blob/main/plan/w1/08-23_%EC%9D%BC/%EA%B3%84%ED%9A%8D.md) | 🔺 | 박지완이 당겨서 함. 0, 0, 5, 9, 18 — 폭 18점 그대로. 편차 안 줄었다 |
| 08-24 (월) | W1 | 08-18 주간 안내 메일이 왜 안 왔는지 같이 묻기 | [계획](https://github.com/ritual1127/naverogq/blob/main/plan/w1/08-24_%EC%9B%94/%EA%B3%84%ED%9A%8D.md) | ✅ | 박지완이 대신 메일함을 확인함. 08-23 09:20 에 안내 메일이 이미 와 있었다 — 물을 것이 없어져 문의 취소 |
| 08-26 (수) | W2 | 말한 그대로 받아 적기 | [계획](https://github.com/ritual1127/naverogq/blob/main/plan/w2/08-26_%EC%88%98/%EA%B3%84%ED%9A%8D.md) | ⬜ | |
| 08-27 (목) | W2 | 받은 도면을 라벨 형식으로 정리 시작 | [계획](https://github.com/ritual1127/naverogq/blob/main/plan/w2/08-27_%EB%AA%A9/%EA%B3%84%ED%9A%8D.md) | ⬜ | |
| 08-29 (토) | W2 | 5건 기록을 한 문서로 정리 | [계획](https://github.com/ritual1127/naverogq/blob/main/plan/w2/08-29_%ED%86%A0/%EA%B3%84%ED%9A%8D.md) | ⬜ | |
| 09-02 (수) | W3 | 도면 파일이 어디에 얼마나 남는지 그림에 적기 | [계획](https://github.com/ritual1127/naverogq/blob/main/plan/w3/09-02_%EC%88%98/%EA%B3%84%ED%9A%8D.md) | ⬜ | |
| 09-04 (금) | W3 | 키가 코드에 박혀 있지 않은지 확인 | [계획](https://github.com/ritual1127/naverogq/blob/main/plan/w3/09-04_%EA%B8%88/%EA%B3%84%ED%9A%8D.md) | ⬜ | |
| 09-05 (토) | W3 | 숫자가 쌓이는지 직접 해 보기 | [계획](https://github.com/ritual1127/naverogq/blob/main/plan/w3/09-05_%ED%86%A0/%EA%B3%84%ED%9A%8D.md) | ⬜ | |
| 09-06 (일) | W3 | W3 산출물 제출 21:00 | [계획](https://github.com/ritual1127/naverogq/blob/main/plan/w3/09-06_%EC%9D%BC/%EA%B3%84%ED%9A%8D.md) | ⬜ | |
| 09-08 (화) | W4 | 시연은 재검사까지 보여주기 | [계획](https://github.com/ritual1127/naverogq/blob/main/plan/w4/09-08_%ED%99%94/%EA%B3%84%ED%9A%8D.md) | ⬜ | |
| 09-11 (금) | W4 | 가장 자주 나온 지적 하나만 고치기 | [계획](https://github.com/ritual1127/naverogq/blob/main/plan/w4/09-11_%EA%B8%88/%EA%B3%84%ED%9A%8D.md) | ⬜ | |
| 09-12 (토) | W4 | 재검사 수가 잡히는지 다시 확인 | [계획](https://github.com/ritual1127/naverogq/blob/main/plan/w4/09-12_%ED%86%A0/%EA%B3%84%ED%9A%8D.md) | ⬜ | |
| 09-15 (화) | W5 | 올릴 글 본문 쓰기 | [계획](https://github.com/ritual1127/naverogq/blob/main/plan/w5/09-15_%ED%99%94/%EA%B3%84%ED%9A%8D.md) | ⬜ | |
| 09-16 (수) | W5 | 정한 곳에 올리기 | [계획](https://github.com/ritual1127/naverogq/blob/main/plan/w5/09-16_%EC%88%98/%EA%B3%84%ED%9A%8D.md) | ⬜ | |
| 09-17 (목) | W5 | 써 본 사람 2~3명에게 직접 묻기 | [계획](https://github.com/ritual1127/naverogq/blob/main/plan/w5/09-17_%EB%AA%A9/%EA%B3%84%ED%9A%8D.md) | ⬜ | |
| 09-20 (일) | W5 | 링크를 봤는데 안 써 본 사람 3명에게 이유 묻기 | [계획](https://github.com/ritual1127/naverogq/blob/main/plan/w5/09-20_%EC%9D%BC/%EA%B3%84%ED%9A%8D.md) | ⬜ | |
| 09-22 (화) | W6 | 이벤트 4가지가 다 잡히는지 확인 | [계획](https://github.com/ritual1127/naverogq/blob/main/plan/w6/09-22_%ED%99%94/%EA%B3%84%ED%9A%8D.md) | ⬜ | |
| 09-23 (수) | W6 | 제일 크게 빠지는 칸 표시 | [계획](https://github.com/ritual1127/naverogq/blob/main/plan/w6/09-23_%EC%88%98/%EA%B3%84%ED%9A%8D.md) | ⬜ | |
| 09-27 (일) | W6 | W6 산출물 제출 21:00 | [계획](https://github.com/ritual1127/naverogq/blob/main/plan/w6/09-27_%EC%9D%BC/%EA%B3%84%ED%9A%8D.md) | ⬜ | |
| 09-28 (월) | W6 | 발표에 쓸 사용자 인용 후보 모으기 | [계획](https://github.com/ritual1127/naverogq/blob/main/plan/w6/09-28_%EC%9B%94/%EA%B3%84%ED%9A%8D.md) | ⬜ | |
| 10-01 (목) | W7 | 사용자 수 · 재검사 수 · 리텐션 · 정확도 정리 | [계획](https://github.com/ritual1127/naverogq/blob/main/plan/w7/10-01_%EB%AA%A9/%EA%B3%84%ED%9A%8D.md) | ⬜ | |
| 10-05 (월) | W7 | 촬영 환경 준비 | [계획](https://github.com/ritual1127/naverogq/blob/main/plan/w7/10-05_%EC%9B%94/%EA%B3%84%ED%9A%8D.md) | ⬜ | |
| 10-08 (목) | W8 | 6개 절 쓰기 | [계획](https://github.com/ritual1127/naverogq/blob/main/plan/w8/10-08_%EB%AA%A9/%EA%B3%84%ED%9A%8D.md) | ⬜ | |
| 10-11 (일) | W8 | 팀 페이지 제출물 갱신 | [계획](https://github.com/ritual1127/naverogq/blob/main/plan/w8/10-11_%EC%9D%BC/%EA%B3%84%ED%9A%8D.md) | ⬜ | |
달성: `⬜` 안 함 · `✅` 함 · `🔺` 반쯤 · `❌` 못 함
남과 바꿨으면 **실제로 한 일** 칸에 "○○와 바꿈"이라고 적습니다.
배정을 어떻게 정했는지, 남과 바꿨을 때 어떻게 적는지는 아래에 있습니다.
> 출처 — [`plan/역할분담/README.md`](https://github.com/ritual1127/naverogq/blob/main/plan/%EC%97%AD%ED%95%A0%EB%B6%84%EB%8B%B4/README.md) 를 그대로 옮긴 것입니다.
### 역할 분담
누가 언제 무엇을 맡았고 실제로 무엇을 했는지 남기는 폴더입니다.
#### 어떻게 정했나
- 담당자는 **무작위로 배정**합니다. 사람마다 잘하는 것만 계속 맡으면 한 사람만 늘고 나머지는 8주 동안 배우는 게 없습니다.
- 네 명을 섞은 묶음을 반복해 쓰기 때문에 **건수는 고르게** 나뉩니다.
- 회의 · 데모데이 참석 · 합의가 필요한 일은 배정하지 않고 `전원`으로 둡니다.
- 배정받은 사람이 도저히 못 하는 일이면 **그날 안에 바꾸고, 누구와 바꿨는지 이 폴더에 적습니다.** 조용히 남이 대신 하면 기록이 거짓이 됩니다.
- 08-18 ~ 08-22 는 이미 지난 날이라 무작위 배정이 아니라 **실제로 한 사람**을 적었습니다.
#### 사람별 기록
| 사람 | 배정 건수 | 기록 |
|---|---|---|
| 박지완 | 28건 | [박지완.md](https://github.com/ritual1127/naverogq/blob/main/plan/%EC%97%AD%ED%95%A0%EB%B6%84%EB%8B%B4/%EB%B0%95%EC%A7%80%EC%99%84.md) |
| 장우영 | 24건 | [장우영.md](https://github.com/ritual1127/naverogq/blob/main/plan/%EC%97%AD%ED%95%A0%EB%B6%84%EB%8B%B4/%EC%9E%A5%EC%9A%B0%EC%98%81.md) |
| 안대열 | 24건 | [안대열.md](https://github.com/ritual1127/naverogq/blob/main/plan/%EC%97%AD%ED%95%A0%EB%B6%84%EB%8B%B4/%EC%95%88%EB%8C%80%EC%97%B4.md) |
| 김승준 | 24건 | [김승준.md](https://github.com/ritual1127/naverogq/blob/main/plan/%EC%97%AD%ED%95%A0%EB%B6%84%EB%8B%B4/%EA%B9%80%EC%8A%B9%EC%A4%80.md) |
| 전원 | 39건 | 회의 · 참석 · 합의 |
#### 주차별 배정
| 주차 | 박지완 | 장우영 | 안대열 | 김승준 | 전원 |
|---|---|---|---|---|---|
| W1 | 6 | 1 | 2 | 2 | 6 |
| W2 | 3 | 4 | 3 | 3 | 7 |
| W3 | 5 | 4 | 4 | 4 | 4 |
| W4 | 2 | 4 | 4 | 3 | 4 |
| W5 | 5 | 3 | 3 | 4 | 2 |
| W6 | 2 | 4 | 3 | 4 | 3 |
| W7 | 3 | 2 | 2 | 2 | 5 |
| W8 | 2 | 2 | 3 | 2 | 8 |
#### 적는 법
1. 그날 일이 끝나면 본인 파일에서 그 줄의 달성 칸을 고칩니다 (`⬜` → `✅` · `🔺` · `❌`).
2. **실제로 한 일** 칸에 무엇을 했는지 한 줄 적습니다. 계획과 달라졌으면 달라진 대로 적습니다.
3. 남과 바꿨으면 두 사람 파일 모두에 적습니다.
4. 못 한 것은 지우지 않습니다. `❌`로 남기고 이유를 적습니다. 다 `✅`인 기록은 아무도 믿지 않습니다.
---
## 7. 한 결과
**여기부터 채워 주세요. 위쪽은 건드리지 않으셔도 됩니다.**
| | |
|---|---|
| 달성 | ⬜ |
| 걸린 시간 | |
달성 칸의 `⬜` 를 `✅` 함 · `🔺` 반쯤 함 · `❌` 못 함 중 하나로 바꿔 주세요.
**다 `✅` 로 채우지 마세요.** 못 한 건 `❌` 입니다. 8주 뒤 심사에서 전부
성공한 기록은 아무도 믿지 않습니다.
### 실제로 한 일
*(계획과 달라졌으면 달라진 대로 적어 주세요. 숫자가 나왔으면 숫자를 적어 주세요.
"메일 보냈다" 보다 "08-24 19:10 에 netclaus@gmail.com 으로 보냈다" 가 낫습니다.)*
### 막힌 것 · 문제
*(없으면 "없음" 이라고 적어 주세요. **지어내지 마세요.** 지어낸 문제가 한 건이라도
섞이면 나머지 기록도 같이 못 믿게 됩니다.
문제인 것 — 틀린 결과가 나왔다, 하려던 게 안 됐다, 계획보다 시간이 훨씬 더 들었다,
연락이나 자료가 없어서 막혔다.
문제가 아닌 것 — 아직 안 만든 기능, 다음에 하기로 한 일, 잘 됐는데 더 잘하고 싶은 것.)*
### 남과 바꿨으면
*(누구와 바꿨는지 적어 주세요. 예: "장우영과 바꿈". 조용히 남이 대신 하면
기록이 거짓이 됩니다. 안 바꿨으면 비워 두세요.)*
팀원 4명이 미션 문장 맞춰 보기
예상 20분- 각자 문서를 안 보고 말해 본다. 한 명이라도 다르게 말하면 아직 합의된 게 아니다.
- 워크샵 자가 점검 1번이 이거다.
- 다르게 말한 부분이 있으면 그 자리에서 문장을 고친다.
이렇게 되면 끝네 명이 말한 문장이 같다
흔한 실수문서를 보면서 읽는 것. 안 보고 말해야 의미가 있다