20. 러너프로필(수동 수집 정보)
InMyRace의 핵심 가치는 ‘개인화 분석’에 있다.
개인화 분석의 핵심은 ‘개인의 특성과 요구를 잘 파악하는 것’
대부분의 러닝 서비스들은 정적으로 정보를 수집한다.
러너들의 수면이나 컨디션 같은 상태를 수집하기는 하지만,
더 중요한 것은 러너들이 분석을 통해 얻고자 하는 것이 무엇인지 아는 것이다.
러너들이 가장 알고 싶은 것은…..
‘나는 목표가 있는데, 내 기록과 상태를 봤을 때 내 목표에 도달하는 가장 좋은 방법은 뭐야?’
이다
이것은 POC를 통해 획득한 정보이다.
실제로 리포트를 요청한 대부분의 러너들은 ‘목표’와 부상이나 통증 같은 ‘개인 특성’이 존재 했고,
분석에 요청한 사항은 ‘목표 달성 방법’이나 ‘부상방지 훈련 방법’ 이었다.
그런데 이렇게 동적인 러너의 요구사항을 기존의 서비스는 긴밀하게 수집하지 않는다.
해서 inmyrace는 수집하기로 했다.
POC에서 이미 다수의 정보 수집했고 이를 더 보강하기로 했다.
스펙을 정리한 내용은 아래에 있다….
(그러나 여기서 끝나지 않고… 앞으로도 더 보강이 계속 되고 있다는..)
# 프로필 및 리포트 -- 작업 히스토리
> 작성일: 2026-04-14
> 최종 업데이트: 2026-04-21
> 대상: 비개발자 보고용
> 카테고리: 프로필 + 리포트 (8개 SPEC)
---
## 카테고리 개요
사용자의 러닝 프로필을 관리하고, AI 분석 결과를 최종 리포트 형태로 생성하는 시스템입니다.
러닝 프로필은 사용자의 러닝 수준, 목표, 신체 정보 등을 관리하는 개인 설정입니다. 이 프로필 정보와 FIT 분석 결과를 결합하여 AI가 맞춤형 리포트를 생성합니다.
리포트는 InMyRace의 최종 산출물이자 유료 판매 상품입니다. 따라서 리포트의 품질 검증과 평가 시스템도 함께 구축해야 합니다.
04-14 이후 4개의 신규 SPEC이 추가되었습니다: 프로필 매핑, 데이터 추적성, 리포트 품질 개선, 리포트 파이프라인 V2 전면 재설계가 완료되었습니다.
---
## 포함된 SPEC
| SPEC ID | 제목 | 상태 | 작업 기간 |
|---------|------|------|----------|
| SPEC-PROFILE-001 | Runner Profile System | 계획 | 2026-04-12 ~ |
| SPEC-PROFILE-MAPPING-001 | ProfileMapper-DATA_INVENTORY 필드 정합성 | **완료** | 2026-04-18 |
| SPEC-REPORT-GEN-001 | 리포트 생성 | 계획 | 2026-04-12 ~ |
| SPEC-REPORT-QUALITY-001 | 리포트 품질 검증 (Go/No-Go Gate) | 계획 | 2026-04-12 ~ |
| SPEC-REPORT-EVALUATION-001 | 리포트 품질 평가 시스템 | 계획 | 2026-04-12 ~ |
| SPEC-REPORT-REVIEW-001 | 리포트 품질 인간 검증 (Recurring Gate) | **Phase B 완료** | 2026-04-16 ~ |
| SPEC-REPORT-TRACEABILITY-001 | 리포트 데이터 추적성 및 프롬프트 버전 관리 | **완료** | 2026-04-17 |
| SPEC-REPORT-ARCH-V2-001 | 리포트 파이프라인 V2 아키텍처 | **구현중 (M1-M6)** | 2026-04-20 ~ |
---
## 작업 흐름
### 1단계: 러너 프로필 시스템 (PROFILE-001)
**상태**: 계획 중 (6개 태스크 분해 완료, TDD 모드)
**무엇을 할 것인가**: 사용자의 러닝 프로필을 관리하는 시스템입니다.
**프로필에 포함되는 정보**:
- 러닝 수준 (초보/중급/고급)
- 주간 러닝 목표 (거리, 횟수)
- 선호 훈련 유형 (장거리, 인터벌, 회복跑)
- 신체 정보 (나이대, 성별 - 선택적)
- 러닝 역사 (경력, 참가 대회)
**왜 중요한가**: AI 분석 엔진이 프로필 정보를 바탕으로 분석 깊이와 조언 수준을 다르게 설정합니다. 초보 러너에게는 기본 지표 위주로, 고급 러너에게는 고급 분석과 세부 조언을 제공합니다.
**의존성**: 없음 (독립 개발 가능)
### 2단계: 리포트 생성 (REPORT-GEN-001)
**상태**: 계획 중
**무엇을 할 것인가**: FIT 분석 + AI 인사이트를 결합하여 최종 리포트를 생성합니다.
**리포트 구성 예상**:
- 러닝 세션 요약 (거리, 시간, 페이스)
- 심박수 분석 (구간별 분포, 회복 패턴)
- 페이스 분석 (일정성, 변화 패턴)
- AI 코칭 인사이트 (개인화된 조언)
- 다음 훈련 추천
**의존성**:
- SPEC-FIT-ANALYSIS-001 (완료)
- SPEC-AI-ANALYSIS-001 (완료)
- SPEC-PROFILE-001 (계획 중)
### 3단계: 리포트 품질 검증 (REPORT-QUALITY-001)
**상태**: 계획 중
**무엇을 할 것인가**: 생성된 리포트가 일정 품질 기준을 충족하는지 검증하는 "관문(Gate)" 시스템입니다.
**Go/No-Go 기준**:
- 데이터 정확성: 수치가 실제 데이터와 일치하는가
- 분석 완성도: 모든 분석 항목이 포함되었는가
- AI 인사이트 품질: 조언이 타당하고 개인화되었는가
- 포맷 일관성: 리포트 형식이 일관되게 표시되는가
**의존성**: Phase 1의 모든 SPEC 완료 후 검증
### 4단계: 리포트 품질 평가 (REPORT-EVALUATION-001)
**상태**: 계획 중
**무엇을 할 것인가**: 리포트 품질을 지속적으로 평가하고 개선하는 시스템입니다.
**평가 항목**:
- 사용자 만족도 피드백 수집
- 리포트 재구매율 추적
- AI 인사이트 정확도 모니터링
- 경쟁 서비스 대비 품질 비교
**의존성**: 여러 Phase 1 SPEC 완료
### 5단계: 프로필 필드 정합성 (PROFILE-MAPPING-001)
**상태**: 완료 (2026-04-18)
**무엇을 했는가**: ProfileMapper와 DATA_INVENTORY 간 필드 정합성을 확보했습니다. 러너 프로필의 각 항목이 AI 분석 파이프라인에서 실제로 사용되는 데이터 항목과 정확히 매핑되도록 보장합니다.
**구현 내용**:
- ProfileMapper 클래스가 DATA_INVENTORY에 정의된 모든 필드를 올바르게 매핑하는지 검증
- ruff lint 에러 수정 (변수명, 라인 길이 등)
- CI 실패 대응 (포맷팅 규칙 준수)
**결과**: CI 파이프라인 통과, 필드 매핑 정합성 확보
### 6단계: 리포트 데이터 추적성 (REPORT-TRACEABILITY-001)
**상태**: 완료 (2026-04-17)
**무엇을 했는가**: 리포트에 표시되는 모든 수치와 인사이트가 어떤 원본 데이터에서 도출되었는지 추적할 수 있는 시스템을 구축했습니다. 프롬프트 버전 관리도 함께 도입했습니다.
**구현 내용**:
- DATA_INVENTORY 구조 설계: 원본 데이터 - 분석 결과 - 리포트 항목 간 연결 추적
- 프롬프트 버전 관리: AI 분석에 사용된 프롬프트의 변경 이력을 추적
- 데이터 계보(Lineage) 추적: 어떤 데이터가 어떤 분석을 거쳐 어떤 리포트 문장이 되었는지 추적 가능
**결과**: 리포트의 모든 데이터가 출처 추적 가능, 프롬프트 변경 시 영향 범위 파악 가능
### 7단계: 리포트 품질 인간 검증 (REPORT-REVIEW-001)
**상태**: Phase B 완료 (2026-04-16 ~)
**무엇을 했는가**: AI가 생성한 리포트를 인간이 검증하는 Recurring Gate(정기 검증 관문) 시스템을 구축했습니다. Phase B에서 리포트 품질 개선 작업을 완료했습니다.
**Phase B 구현 내용**:
- 리포트 5섹션 강제 생성 (요약, 심박수, 페이스, 코칭, 추천)
- 자연어 중심 포맷 적용 (JSON 구조 대신 읽기 쉬운 문장 형태)
- 파이프라인 통합 (AI 분석 - 리포트 생성 - 품질 검증 흐름 일원화)
**결과**: 리포트가 일관된 5섹션 구조로 생성됨, 가독성 대폭 향상
### 8단계: 리포트 파이프라인 V2 아키텍처 (REPORT-ARCH-V2-001)
**상태**: 구현중 (M1-M6, 2026-04-20 ~)
**무엇을 할 것인가**: 리포트 생성 파이프라인을 전면 재설계합니다. 기존 "All-in-One AI 렌더링" 방식에서 "Rule-based + AI 하이브리드 렌더링"으로 아키텍처 패러다임 전환을 수행합니다.
**아키텍처 변화**:
```
기존: L1(데이터) -> L2(도메인 분석) -> L3(종합 AI) -> L4(코칭)
|
V2: L1(파서+통계) -> L2(15-20개 마이크로 AI) -> L3(종합 AI) -> Rule-based Validator -> Jinja2 템플릿
```
**핵심 설계 원칙**:
- 품질 우선: AI 환각(Hallucination)을 Rule-based Validator로 차단
- 마이크로 에이전트: 각 분석 도메인(심박수, 페이스, 케이던스 등)에 특화된 소규모 AI
- 종합 AI(Synthesis): 도메인 간 교차 인사이트 생성 (예: 심박수+페이스 - 효율성 분석)
- Jinja2 템플릿: 결정론적 렌더링으로 포맷 일관성 보장
**6개 모듈 (M1-M6)**:
| 모듈 | 내용 | 상태 |
|------|------|------|
| M1 | L1 파서 + 통계 계산 | 구현중 |
| M2 | L2 마이크로 에이전트 (15-20개) | 구현중 |
| M3 | L3 종합 AI (Synthesis) | 구현중 |
| M4 | Rule-based Validator | 구현중 |
| M5 | Jinja2 템플릿 엔진 | 구현중 |
| M6 | 통합 테스트 및 E2E | 구현중 |
**결과**: 아키텍처 설계 완료, 6개 모듈 순차 구현중
---
## 작업 간 관계
```
러너 프로필 (PROFILE-001) ----+
| |
v |
FIT 분석 결과 (완료) --------+--> 리포트 생성 (REPORT-GEN-001)
| | |
v | v
AI 인사이트 (완료) ----------+ 품질 검증 (REPORT-QUALITY-001)
| |
v v
프로필 매핑 (PROFILE-MAPPING-001) 품질 평가 (REPORT-EVALUATION-001)
| |
v v
데이터 추적성 (TRACEABILITY-001) 인간 검증 (REPORT-REVIEW-001)
|
v
V2 아키텍처 (REPORT-ARCH-V2-001)
[기존 파이프라인 전면 재설계]
```
---
## 현재 상태 요약
| SPEC | 상태 | 진척도 |
|------|------|--------|
| PROFILE-001 | 태스크 분해 완료 | 준비 |
| PROFILE-MAPPING-001 | **완료** | 필드 정합성 확보 |
| REPORT-GEN-001 | 계획 | 대기 (V2 아키텍처 선행) |
| REPORT-QUALITY-001 | 계획 | 대기 (Phase 1 완료 후) |
| REPORT-EVALUATION-001 | 계획 | 대기 (리포트 생성 후) |
| REPORT-REVIEW-001 | **Phase B 완료** | 5섹션 강제 생성 |
| REPORT-TRACEABILITY-001 | **완료** | 데이터 계보 추적 |
| REPORT-ARCH-V2-001 | **구현중** | M1-M6 모듈 개발 |
**전체 진척도**: V2 아키텍처 구현이 핵심 과제. 기존 4개 계획 SPEC 외에 4개 SPEC이 추가 완료/진행중.
---
## 현재 과제
1. REPORT-ARCH-V2-001 M1-M6 모듈 순차 구현
2. V2 아키텍처 완료 후 REPORT-GEN-001 재설계
3. PROFILE-001 TDD 개발 (V2 아키텍처와 병행)
4. V2 파이프라인 통합 테스트 (M6)