Why
사용자 통찰 (2026-05-08):
"프라이버시 유출은 llm의 발화가 문제구나.."
Cross-review 의 cross-project leak 위험은 데이터 저장 차원 이 아니라 LLM
발화 차원. naia-memory 에 fact 가 저장되어 있는 것 자체는 OK, naia-agent
가 잘못된 query 에 personal fact inject → LLM 발화에 사용자 원치 않은 정보
노출이 진짜 문제.
기존 benchmark 카테고리 `abstention` + `irrelevant_isolation` 이 같은 의도.
모두 R5-R14 에서 fail. 미구현.
5 차원 책임 분리
| 차원 |
무엇 |
책임 |
관련 issue |
| (1) Confidence threshold |
cosine < 0.6 retrieval 결과 0 |
naia-memory |
#9 + 신규 #(retrieval ranking) |
| (2) Project scope hard partition |
EncodingContext.project 로 cross-project fact 차단 |
naia-memory |
본 issue |
| (3) Irrelevant isolation |
query 의도 와 fact 의도 매칭 (업무 query 시 personal fact 제외) |
naia-memory + naia-agent |
본 issue |
| (4) PII redaction |
fact 안의 전화번호/이메일/주소 자동 mask |
naia-agent |
본 issue (naia-agent 측 mirror 신설) |
| (5) Source monitor + pragmatic gate |
어떤 fact 발화 적절한가 LLM 판단 |
naia-agent |
naia-agent#26 |
본 issue = (2) + (3) 의 naia-memory 측 작업. (4) 는 naia-agent 측 별도 issue 신설.
(2) Project scope hard partition
현재: `EncodingContext.project` 옵션 있으나 strict 강제 X.
변경:
- recall 시 project 가 명시되면 오직 그 project 의 fact 만 검색
- project 가 명시 안 되면 명시 안 된 (cross-project) fact 만 검색 (default 보호)
- explicit `crossProject: true` 옵션 시만 cross-project 회상 (사용자 의도 명확)
(3) Irrelevant isolation
기존 benchmark 카테고리 위에서 새 mechanism:
- query 의 intent classification — 사용자가 "업무" / "개인" / "기술" / ... 어느 영역?
- fact 의 category metadata — encode 시 category 추론
- query intent 와 fact category mismatch 시 score penalty
옵션:
- (a) LLM 으로 intent + category 추론 (cost ↑)
- (b) keyword pattern 으로 heuristic (precision 낮음)
- (c) hybrid
변경 양 (~250 LOC)
| 단계 |
LOC |
| Project scope strict 강제 |
~50 |
| Intent classification (encode + recall) |
~100 |
| Category metadata (Fact 의 추가 field) |
~30 |
| Penalty 적용 in retrieval |
~50 |
| Tests |
~20 |
벤치마크
기존 카테고리 위에서 측정:
새 axis:
- G-1 Cross-project leak rate — "개인" project fact 가 "업무" query 결과에 포함된 비율 (목표: 0%)
- G-2 Within-project recall — 같은 project 내 recall 정확도 변화 (degradation 5pp 미만)
- G-3 Intent precision — query intent classifier 정확도
dataset:
- 합성 multi-project ledger (개인 / 업무 / 기술 영역 × 50 fact each)
- 50 cross-project test query
테스트
- Unit: project scope filter, intent classifier
- Integration: cross-project leak 시나리오 (개인 fact + 업무 query)
- Regression: 단일 project 사용 시 동작 변경 X
우선순위
P2-medium. cross-project leak 은 daily 1-project 사용자 에서 risk
작음. multi-project 사용 (예: 가족 / 일 분리) 사용자에게 P1 격상.
관련
Why
사용자 통찰 (2026-05-08):
Cross-review 의 cross-project leak 위험은 데이터 저장 차원 이 아니라 LLM
발화 차원. naia-memory 에 fact 가 저장되어 있는 것 자체는 OK, naia-agent
가 잘못된 query 에 personal fact inject → LLM 발화에 사용자 원치 않은 정보
노출이 진짜 문제.
기존 benchmark 카테고리 `abstention` + `irrelevant_isolation` 이 같은 의도.
모두 R5-R14 에서 fail. 미구현.
5 차원 책임 분리
본 issue = (2) + (3) 의 naia-memory 측 작업. (4) 는 naia-agent 측 별도 issue 신설.
(2) Project scope hard partition
현재: `EncodingContext.project` 옵션 있으나 strict 강제 X.
변경:
(3) Irrelevant isolation
기존 benchmark 카테고리 위에서 새 mechanism:
옵션:
변경 양 (~250 LOC)
벤치마크
기존 카테고리 위에서 측정:
새 axis:
dataset:
테스트
우선순위
P2-medium. cross-project leak 은 daily 1-project 사용자 에서 risk
작음. multi-project 사용 (예: 가족 / 일 분리) 사용자에게 P1 격상.
관련