Experience Goal × 지식 그래프: 문맥에서 목표와 실행으로
A2A·RAG·Planner의 현재 구현과 채택 순서는 A2A 지식 그래프·RAG 연동 설계를 메인 기준으로 본다. 이 문서는 화자·개인 기억·제품 관계·실행 이력을 연결하는 장기 지식 구조를 보강한다.
문맥 통합 → 목표 형성 → 근거 기반 계획 → 실행 생명주기 관리 → 증거 반영 → 학습
이 문서는 화자에서 실행까지 이어지는 제품 구조를 한 흐름으로 설명한다. 출발점은 검증 중인 Device RAG이며, 그다음은 같은 기기 표현을 실행·제품 지식·일반 대화로 구분하는 라우팅이다. 이 기반 위에 Product KG와 User KG를 더해 관계와 근거를 관리하고, Experience Goal은 현재 요청에 필요한 문맥만 받아 목표와 성공 기준을 만든다. 플래너와 TaskManager는 계획을 물리 실행으로 닫고, 검증된 결과만 다음 판단에 반영한다.
핵심 흐름은 다음과 같다.
Device RAG → 3단계 라우팅 → Product KG → User KG
→ Experience Goal → Planner → TaskManager → 완료 증거 → 검증된 학습
한눈에 보는 구조
| 현재 · 문맥 기반 목표 | 확장 · 관계 기반 문맥 | 목표 · 증거 기반 학습 |
|---|---|---|
| 발화·기기 상태·기능·작업 상태를 조합해 목표와 성공 기준을 만든다. | 제품·사용자·공간·기억·근거를 관계와 권위로 연결하고 필요한 부분만 제공한다. | 물리 결과를 목표에 귀속하고 검증된 실행 기록과 기억만 다음 판단에 반영한다. |
| 이미 확보한 기반 | 정확도와 연속성 확장 | 통제된 실행·학습 순환 |
이 문서의 읽는 순서
| 궁금한 내용 | 절 | 핵심 질문 |
|---|---|---|
| 원본 보고서의 문제의식과 검색 기술 | 1 | 어떤 제품 문제에 어떤 검색 기법이 필요한가? |
| 현재 성능과 미완료 검증 관문 | 2 | 지금 어디까지 확인됐고 무엇이 아직 부족한가? |
| Product KG·User KG의 실제 역할 | 3 | 무엇을 관계로 관리하고 어떤 정보는 분리해야 하는가? |
| Experience Goal과 실행 흐름 | 4~7 | 문맥이 어떻게 목표·계획·작업·증거로 이어지는가? |
| 비용·도입 순서·외부 근거 | 8~10 | 어떻게 과도한 구조와 모델 호출을 피하며 도입하는가? |
| 원본 실험 이력 | 부록 A | report.html의 근거가 어디에 반영됐는가? |
그림 1 · Experience Goal과 지식 문맥 순환 구조. 지식 그래프가 관계·권위·유효 기간을 정리하고, 목표별 투영을 통해 계획·작업·증거·학습으로 연결한다. SVG 크게 보기
1. 출발점: Device RAG와 3단계 라우팅
report.html의 출발점은 지식 그래프 자체가 아니라 제품 질문에 정확히 답하는 Device
RAG와 같은 기기 키워드를 목적에 따라 구분하는 라우팅이다. 검색이 틀리면 제품
지식 그래프도 틀린 근거를 제공하고, 라우팅이 틀리면 설명 요청이 실행되거나 실행 요청이
검색으로 끝난다.
Device RAG 개선 기법과 제품 문제의 연결
| 제품 문제 | 우선 기법 | 맡는 역할 | 단독 사용 시 한계 |
|---|---|---|---|
| 모델명·기능명·오류코드·수치가 정확해야 함 | BM25·정확 일치 | 희귀 토큰과 원문 표현을 보존 | 바꿔 말한 질문을 놓칠 수 있음 |
| 표현은 달라도 의미가 같은 질문 | Dense retrieval | 의미가 가까운 문서 조각 탐색 | 유사도가 사실·권한을 보장하지 않음 |
| 정확 용어와 자연어 의미를 함께 사용 | RRF·혼합 결합 | 희소·밀집 후보의 순위를 안정적으로 통합 | 후보군 자체가 없으면 복구 불가 |
| 상위 후보의 실제 답변 적합도 부족 | 재정렬·LTR | Top-50 후보를 근거 중심 Top-8로 축소 | 학습·평가 데이터 편향에 영향받음 |
| 스캔 문서와 복잡한 표·레이아웃 | OCR·레이아웃 분석 | 글자와 문서 구조를 함께 복원 | OCR 오류와 메모리 비용이 큼 |
| 긴 매뉴얼에서 문맥과 절 구조가 끊김 | 문서 검색·계층형 분할 | 문서→절→문단 관계를 유지 | 분할 규칙이 문서마다 달라질 수 있음 |
| 여러 기능·상태·제약을 연결해야 함 | 질문 분해·GraphRAG | 여러 단계 관계와 넓은 문서 맥락을 조회 | 짧은 단일 질문에는 비용이 과함 |
이 표는 기술을 많이 쌓는 순서가 아니다. 질문 유형에 따라 가장 싼 경로부터 사용하고, 근거가 부족할 때만 다음 단계를 연다. 정확 용어 질문에는 BM25가, 자연어 변형에는 밀집 검색이, 기능 간 관계에는 Product KG가 우선될 수 있다.
같은 기기 키워드, 서로 다른 처리 목적
| 사용자 발화 | 처리 목적 | 우선 경로 |
|---|---|---|
| “프라이버시 모드 켜줘” | 현재 기기 상태 변경 | On-device 실행·ODL |
| “프라이버시 모드를 켜면 카메라는 어떻게 돼?” | 제품 기능 영향 설명 | Device RAG·Product KG·DQR |
| “풍량 올려줘” | 기기 제어 | On-device 실행·ODL |
| “풍량은 몇 단계까지 있어?” | 제품 사양 조회 | Device RAG·DQR |
| “프라이버시는 왜 중요해?” | 일반 개념 설명 | 일반 Cloud 응답·DEF/FRG |
| “프라이버시 모드 그거 해줘” | 대상이나 행위가 불명확 | 확인 질문 |
이 구분은 키워드 사전이 아니라 요청의 효과를 본다. 상태를 바꾸려는지, 제품 사실을 묻는지, 일반 지식을 묻는지, 실행에 필요한 대상이 빠졌는지를 의미적으로 판단한다. 성능 검증도 단일 문장이 아니라 위와 같은 대조 발화 쌍으로 진행해야 한다.
2. 현재 품질 기준선과 남은 게이트
현재 DQR RAG 품질 게이트
| 항목 | S-016 결과 | 판정과 해석 |
|---|---|---|
| 전체 Hit@8 | 91.36% | 현재 최고 후보이나 운영 승격 완료를 뜻하지 않음 |
| 미사용 검증 세트 Hit@8 | 95.05% | 조정에 쓰지 않은 holdout 결과 |
| OCR 질문 Hit@8 | 91.94% | OCR 문서의 검색 품질은 기준선 이상 |
| 기능범위형 | 81.82% | 목표 80% 통과 |
| 기능조회형 | 80.00% | 경계값 통과 |
| 상태조건형 | 77.27% (17/22) | 기능과 현재 상태를 함께 묻는 질문이 취약 |
| 정보조회형 | 77.78% (14/18) | 근거 문서 선택과 답변 연결이 취약 |
| 전체 처리 p95 | 1.580초 | 목표 1.5초보다 0.08초 느림. 원문 표기는 1.58초 |
| Source Hit@8 | 미제공 | 출처 정답셋이 없어 아직 판정 불가 |
현재 수치는 “RAG가 완성됐다”가 아니라 다음 구조를 검토할 수 있는 기준선이다. Product KG와 User KG를 도입해도 상태조건형·정보조회형을 포함한 기존 품질과 지연이 나빠지면 승격하지 않는다.
전략 변화에서 확인한 것
| 실험 | 핵심 변경 | 결과 | 남은 교훈 |
|---|---|---|---|
| S-009 | OOF 기반 LTR | 86.7% | 재정렬만으로 후보 누락을 해결하지 못함 |
| S-012 | 별칭 후보 합집합 | 89.46% | 후보 상한 98.10%까지 열렸지만 출처 누락과 순위 회귀 발생 |
| S-013 | 후보 출처 정보 추가 | 90.5% | 후보 생성 근거가 재정렬에 필요 |
| S-015 | 단계적 재정렬 | 90.67% | 비용 대비 개선 폭을 계속 확인해야 함 |
| S-016 | 문맥 기반 별칭 | 91.36% | 최고 후보이지만 상태조건형·정보조회형·지연 관문 미통과 |
따라서 다음 단계는 더 큰 모델 하나로 교체하는 일이 아니다. 검색 후보가 왜 생겼는지, 어떤 제품 관계와 문서 근거가 답을 지지하는지, 실행 요청과 설명 요청이 왜 갈리는지를 계약으로 남겨야 한다.
3. Product KG와 User KG로 확장
지식 그래프가 Experience Goal에 추가하는 것
Experience Goal은 이미 문맥을 조합한다. 지식 그래프가 더하는 것은 사람·공간·기기·기능· 기억·작업 사이의 관계, 그 관계의 출처와 최신성, 충돌과 누락을 구조화하는 일이다. 지식 그래프는 목표를 생성하지 않는다. 목표 판단의 입력을 개선하고, 실행 권한은 플래너·TaskManager·기기 정책에 남긴다.
| 보강 능력 | 의미 | 목표·계획에 주는 효과 |
|---|---|---|
| 관계 결합 | 여러 문맥의 개체를 안정적인 ID와 관계로 연결 | “내 방”을 사용자·등록 공간·지원 기능으로 연결 |
| 권위 분리 | 사용자 진술·제품 문서·기기 관찰·모델 추론을 구분 | 추론을 사실이나 권한으로 오인하지 않음 |
| 유효 기간 | 관찰 시각과 만료 시점을 보존 | 오래된 위치·상태·선호의 재사용 방지 |
| 충돌 탐지 | 현재 요청·과거 선호·제품 제약의 불일치 노출 | 질문·축소·차단 이유가 명확해짐 |
| 누락 발견 | 필요한 전제·대상·완료 증거의 부재 표시 | 임의 보충 대신 조회나 확인 선택 |
| 실행 이력 | 목표·계획·작업·관찰·결과를 연결 | 결과가 어떤 기대 효과를 충족했는지 복원 |
그림 2 · 지식 그래프가 Experience Goal에 추가하는 것. 기존 문맥 판단은 유지하고 관계 결합·권위·유효 기간·충돌·누락·실행 이력을 보강한다. SVG 크게 보기
관계 경로가 곧 설명 경로가 된다
지식 그래프의 중요한 제품 효과는 정확도 향상에만 있지 않다. 설명 가능성은 사후 문장 생성이 아니라, 실제 답변·목표·계획·결과 판정에 사용한 관계와 근거를 다시 읽을 수 있다는 데 있다. 모델이 결론을 낸 뒤 그럴듯한 이유를 붙이는 방식과 달리, 같은 관계 경로가 판단과 설명에 함께 사용된다.
사용자A → USES_ROOM → 안방
안방 → HAS_OBSERVATION → 공기질_나쁨
공기청정기A → SUPPORTS → 저소음_청정
저소음_청정 → REQUIRES → 배터리_충분
저소음_청정 → COMPLETES_WITH → cleaning.stopped
| 설명 단계 | 관계 경로가 답하는 질문 | 사용자·운영 결과 |
|---|---|---|
| 답변 근거 | 어떤 제품 문서와 기능 관계가 답을 지지하는가? | 인용 가능한 제품 설명과 출처 제공 |
| 목표 형성 | 왜 안방을 선택했는가? | 사용자–공간 관계와 최신 관찰을 근거로 제시 |
| 기능 선택 | 왜 저소음 청정을 선택했는가? | 지원 기능·현재 상태·사용자 제약을 연결해 설명 |
| 완료·실패 판정 | 무엇을 완료 증거로 판단했는가? 실패했다면 어떤 전제·권한·상태가 부족했는가? | 성공 근거와 실패 이유, 가능한 다음 선택을 분리해 제공 |
설명 결과에는 관계 경로뿐 아니라 출처, 권위, 관찰 시각과 유효 기간을 함께 남긴다.
사용자에게는 내부 ID나 원시 파라미터를 그대로 읽지 않고 자연어로 요약하며, 운영
추적에서는 동일한 claim_id, source_id, task_id, evidence_id로 판단을 재현한다.
이 구조를 통해 “무엇을 했는가”뿐 아니라 “왜 이 판단이었고 어떤 증거로 끝났는가”까지
검증할 수 있다.
지식 그래프의 최소 구성 단위
지식의 기본 단위는 subject–predicate–object, 즉 주체–관계–대상이다. 관계 하나만
저장하지 않고 source, authority, observed_at, valid_until, confidence를 붙여
검증 가능한 주장으로 만든다.
사용자A -> USES_ROOM -> 안방
공기청정기A -> CAN_MOVE_TO -> 안방
공기청정기A -> SUPPORTS -> 저소음_청정
저소음_청정 -> REQUIRES -> 배터리_충분
저소음_청정 -> COMPLETES_WITH -> cleaning.stopped
작업17 -> EXECUTES -> 저소음_청정
작업17 -> TARGETS -> 안방
관계를 쉽게 읽는 방법
| 관계 | 뜻 | 권위 |
|---|---|---|
사용자A → USES_ROOM → 안방 |
사용자와 주 사용 공간의 관계 | 명시 설정·검증된 사용자 정보 |
공기청정기A → CAN_MOVE_TO → 안방 |
등록된 공간으로 이동 가능 | 공간 목록·이동 기능 |
공기청정기A → SUPPORTS → 저소음_청정 |
설치 기기가 기능을 지원 | 제품 기능 목록·버전 |
저소음_청정 → REQUIRES → 배터리_충분 |
실행 전 확인할 조건 | 제품 정책·현재 상태 |
저소음_청정 → COMPLETES_WITH → cleaning.stopped |
완료 판정에 필요한 증거 | 기기 도메인·TaskManager |
작업17 → EXECUTES → 저소음_청정 |
작업과 실제 기능의 연결 | 실행 계획·작업 기록 |
작업17 → TARGETS → 안방 |
이번 작업의 대상 공간 | 실행 시점의 사실 |
그림 3 · 지식 그래프의 기본 단위와 신뢰 구조. 주체–관계–대상에 출처·권위·관찰 시각·유효 기간과 형식 검증을 더한다. SVG 크게 보기
제품 지식 그래프의 최소 관계 예시
Product KG는 기능 이름 목록이 아니다. 기능이 바꾸는 상태, 제한되는 기능, 선행조건, 문서 근거와 완료 증거를 연결한다.
프라이버시 모드 → SETS_STATE → 카메라 OFF
프라이버시 모드 → SETS_STATE → 마이크 OFF
마이크 OFF → LIMITS → 음성 명령
카메라 OFF → LIMITS → 사용자 인식
제품 기능 → SUPPORTED_BY → 매뉴얼 근거
기기 상태 → PRECONDITION_FOR → 실행
이 구조는 “프라이버시 모드를 켜면 카메라는 어떻게 돼?”에는 관계와 원문 근거를 제공하고, “프라이버시 모드 켜줘”에는 실행 경로가 확인할 상태 변화와 제약을 제공한다.
그림 4 · SKIX 제품 지식 그래프. 안정적인 제품 관계와 실행 시점의 사실을 분리하고, 목표 하나에 필요한 관계만 연결한다. SVG 크게 보기
지식 그래프 + 임베딩 RAG
그래프는 명시 관계와 읽기 범위를 좁히고, 벡터 검색은 표현이 다른 문서·기억·사례를 찾는다. 둘을 결합하되 전체 그래프나 모든 기억을 프롬프트에 넣지 않는다.
그림 5 · 그래프 + 벡터 검색. 사전·증분 색인과 목표별 실시간 조회를 분리하고, 권한 범위를 통과한 관계 경로와 벡터 상위 후보로 작은 투영을 만든다. SVG 크게 보기
개인별 기억에서 사용자 지식 그래프로 확장하는 기준
| 기억 계층 | 내용 | 사용 원칙 |
|---|---|---|
| Session memory | 현재 대화와 진행 중 목표 | 세션 종료 또는 목표 종료까지 |
| Explicit profile | 사용자가 직접 설정한 이름·선호·공간 | 수정·삭제·동의 범위를 보장 |
| Observed preference | 반복 행동에서 얻은 선호 후보 | 낮은 위험의 제안·질문에만 사용 |
| User KG relation | 사람·공간·기기·선호의 검증된 관계 | 출처·신뢰도·유효 기간과 함께 사용 |
| Sensitive boundary | 건강·보안·가족 정보와 권한 | 명시 동의·역할·접근 범위 없이는 투영 금지 |
모든 기억에는 출처와 생성 이력, 신뢰도, 유효 기간, consent_scope를 둔다. 현재 요청이
과거 선호와 충돌하면 현재 요청이 우선한다. 화자 식별은 권한 승인이 아니다.
문맥은 한 저장소가 아니라 권위가 다른 계층이다
그림 6 · 문맥 지도. 화자·기억·제품 기능·환경·실행 증거를 한 저장소가 아니라 권위가 분리된 여러 문맥 계층으로 구성한다. SVG 크게 보기
| 문맥 계층 | 대표 정보 | 쓰기 권위 |
|---|---|---|
| 화자와 권한 | 음성 근거, 사람, 역할, 동의, 허용 기능 | 화자 서비스·인증·동의 관리 |
| 화자와 개인 기억 그래프 | 명시 선호, 관찰 선호, 수정·철회 | 사용자·기억 검증 관문 |
| 제품 기능 그래프 | 기능, 전제, 자원, 실패, 완료 증거 | 제품 계약·기능 목록 |
| 집과 환경 문맥 | 등록 공간, 별칭, 센서 관찰 | 공간 설정·DeviceAgent |
| 근거 그래프 | 문서·절·표·주장과 인용 | 문서 파이프라인·제품 검수 |
| 실행 작업 그래프 | Goal·Plan·Task·Observation·Result | 플래너·TaskManager·증거 변환기 |
| 실시간 상태 | 위치·도킹·배터리·청정·활성 작업 | DeviceAgent StateMirror |
StateMirror는 실시간 값의 권위다. 현재 위치와 배터리처럼 빠르게 바뀌는 값을 장기 관계로 고정하지 않는다. 제품 그래프는 “조회할 수 있음”을, StateMirror는 “지금 값”을, TaskManager는 “진행 중인 작업과 최종 상태”를 소유한다. 하나의 거대한 그래프로 합치지 않는다.
4. Experience Goal에 지식 그래프를 연결
Experience Goal은 이미 문맥을 활용한다. 발화·현재 상태·지원 기능·작업 흐름·관찰 결과를 조합해 상위 목표, 기대 효과, 제약과 성공 기준을 보존한다. 지식 그래프는 이 구조를 대체하지 않고 평면 상태 묶음의 관계·권위·최신성을 보강한다.
| 판단 단계 | Experience Goal의 역할 | 지식 문맥의 기여 |
|---|---|---|
| 진입 판단 | 결과를 위임했는지, 조정이 필요한지 판정 | 화자·현재 요청·기능 관계 제공 |
| 목표 형성 | 끝까지 보존할 결과와 제약 정의 | 선호·공간·제품 제약의 충돌 표시 |
| 실행 가능성 | 기대 효과를 실제 기능에 연결 | 지원 기능·전제·완료 증거 제공 |
| 생명주기 | 목표·계획·작업·관찰의 연결 유지 | 실행 연결 이력과 최신 상태 제공 |
| 증거 평가 | 성공 기준 충족 여부 판정 | 결과의 출처와 귀속 관계 제공 |
| 후속 판단 | 계속·질문·재계획·종료 결정 | 누락·충돌·만료를 명시 |
Experience Goal은 새로운 라우팅 분류가 아니다. 기존 DEF, ODL, FRG, DQR,
SCH의 담당 주체를 유지한다. 대화만으로 충분하면 DEF로 마감하고, 단일 실행이면 기존
ODL 경로를 사용한다. 여러 효과를 조정하고 결과를 관찰해야 할 때만 목표 생명주기를 연다.
현재 목표 판단용 문맥 투영
문맥 그래프 투영은 현재 요청에 필요한 관계만 읽기 전용으로 묶는다. 이 절의 계약이 범위 한정 문맥 투영의 정본이다.
{
"speaker_scope": {"person_id": "person-a", "role": "adult", "consent": ["comfort"]},
"goal_hint": "quiet_rest",
"current_state": {"location": "station", "battery": 72, "cleaning": "idle"},
"capabilities": ["night_mode", "quiet_cleaning", "tts"],
"constraints": ["volume_min_1", "privacy_respected"],
"memory_candidates": [{"claim": "prefers_low_volume", "source": "explicit", "valid": true}],
"missing_or_conflicts": []
}
투영은 권한을 확대하지 않으며, 만료되거나 충돌한 주장을 숨기지 않는다. 기억 후보와 현재 상태를 같은 사실로 합치지 않고, 현재 요청에 관계없는 가족 정보와 과거 작업은 제외한다.
5. 문맥 투영에서 실행 계획까지
한 요청은 다음 순서로 변환된다.
사용자 발화
→ 라우팅과 목표 진입 판단
→ 범위 한정 투영
→ 목표·기대 효과·제약
→ 기능에 연결된 계획
→ TaskManager 작업 흐름
→ 물리 결과와 사용자 응답
“나 피곤해. 조용히 쉬게 도와줘”
그림 7 · 문맥 기반 목표 판단 예시. 같은 발화도 화자·상태·지원 기능·동의 범위에 따라 대화 마감, 제안 또는 실행 계획으로 달라진다. SVG 크게 보기
| 확인 순서 | 판단 |
|---|---|
| 의미 | 단순 위로인지, 환경 조정까지 위임한 목표인지 판단 |
| 현재 상태 | 위치·도킹·청정·배터리·시간대 확인 |
| 기능 | 실제 지원되는 나이트 모드·저소음 청정·화면·TTS만 선택 |
| 선호·동의 | 검증된 저음량 선호와 자동 실행 허용 범위 확인 |
| 계획 | 대화 마감, 선택지 제안, 또는 승인된 기능의 작업 흐름 구성 |
| 성공 | 상태 변화와 최종 증거를 확인한 뒤 짧게 마감 |
기기에 음악 기능이 없으면 지원되지 않는 음악을 제안하지 않는다. 대화만으로 충분하면 응답으로 끝내며, 현재 공기질이나 사용자의 명시 요청이 환경 조정을 뒷받침할 때만 실제 기능을 계획한다.
| 추가 발화 | 필요한 연결 |
|---|---|
| “내 방 청정하고 끝나면 내일 일정 알려줘” | 사용자–방 관계, 청정 완료 증거, 사용자 일정 범위 |
| “공기질이 안 좋은 곳을 찾아 청정해줘” | 등록 공간, 최신 관찰, 이동·청정 기능과 완료 증거 |
| “프라이버시 모드 켜면 카메라는 어떻게 돼?” | 실행이 아닌 제품 관계·문서 근거 답변 |
| 가족 구성원의 민감 요청 | 화자와 권한, 동의 범위, 민감정보 차단 |
6. 실행·재계획·학습 순환
계획은 시작일 뿐이다. 계획이 다가 아니라 결과가 돌아올 때 한 사이클이 끝난다. 실행 중에는 빠르고 결정적인 로컬 실행과 의미가 바뀔 때의 재계획을 분리한다.
그림 8 · 실행 제어 순환 구조. 정상 사건은 기기 안에서 이어지고, 의미 경계에서만 플래너가 제한적으로 다시 판단한다. SVG 크게 보기
두 개의 회귀 루프
| 루프 | 처리 주체 | 적용 사건 | 원칙 |
|---|---|---|---|
| 로컬 실행 루프 | TaskManager·기기 도메인 | 단계 완료, 대기, 재시도, 취소, 시간 초과 | 계획된 순서를 결정적으로 수행 |
| 의미 재계획 루프 | Experience 실행 감독기·플래너 | 목표 불가능, 허용 대안 필요, 사용자 확인 필요 | 의미가 달라질 때만 제한 호출 |
정상 사건마다 플래너를 재호출하지 않는다. 진행률 10%·20% 같은 사건은 로컬 상태만 갱신한다. 기능 미지원, 필수 전제 소실, 안전 정책 차단, 사용자의 목표 변경처럼 계획의 의미가 달라질 때만 질문·대체·축소·종료를 판단한다.
목표 -> 계획 -> 작업 -> 결과 / 증거
↘ 정상 사건: 로컬 실행 지속
↘ 의미 경계: 제한적 재계획
검증된 결과만 배우는 순환
그림 9 · 증거 기반 학습 순환. 물리 결과를 목표와 단계에 귀속하고, 검증된 실행 기록·기억 주장·기능 신뢰도만 다음 투영에 반영한다. SVG 크게 보기
학습 흐름은 증거 → 평가 → 학습 → 투영이다. 먼저 experience_id, workflow_id,
step_id, task_id, trace_id로 결과 귀속을 수행한다. 그다음에만 실행 기록, 기억 후보,
기능 신뢰도 갱신 후보를 만든다.
기억 가중치는 하나의 숫자가 아니다. 직접 진술 여부, 반복 횟수, 최신성, 반례, 동의, 적용 범위와 출처를 함께 본다. 이것은 실시간 모델 가중치 업데이트가 아니다. 검증된 주장과 검색 우선순위를 조정하는 운영 학습이다.
사용자 취소는 실패 학습으로 기록하지 않는다. 사용자가 목적을 바꾼 것, 안전 정책이 차단한 것, 기능이 실제 실패한 것을 다른 사유로 남겨야 기억 오염과 잘못된 기능 신뢰도 하락을 막을 수 있다.
그림 10 · 기억의 신뢰 생명주기. 기억 후보는 화자·권한·동의·유효 기간·충돌 검증을 거친 뒤에만 다음 목표의 제한된 문맥으로 사용된다. SVG 크게 보기
| 상태 | 의미 | 사용 범위 |
|---|---|---|
observed |
발화·행동·결과에서 관찰 | 현재 세션 근거 |
candidate |
출처·신뢰도·범위를 가진 기억 후보 | 실행에 개입하지 않는 검증 |
verified |
명시 진술이나 반복 근거로 확인 | 저위험 응답·제안 |
approved |
동의와 권위까지 확인 | 허용 범위의 계획 입력 |
stale |
유효 기간 만료·상위 지식 변경 | 재확인 전 사용 금지 |
revoked |
삭제·동의 철회 | 읽기와 실행 사용 금지 |
최종 완료 증거가 없는 요청 수락 응답은 성공이 아니다. 측정 앱 실행과 측정 완료, 복귀 요청과 도킹, 청정 시작과 청정 종료를 각각 분리해 기록한다.
7. 권위·기억·책임 경계
이 절은 주장과 출처, 현재 상태, 목표 해석, 실행과 학습의 소유권을 한 표로 정리한다.
그림 11 · 목표에서 증거까지의 책임 경계. 목표 해석, 계획, 실행 수명, 물리 증거와 후속 판단의 소유권을 분리한다. SVG 크게 보기
| 계층 | 소유하는 것 | 소유하지 않는 것 |
|---|---|---|
| 문맥·그래프 서비스 | 관계, 출처, 권위, 유효 기간, 범위 한정 투영 | 목표 생성, 실행 허용 |
| Experience Goal | 상위 결과, 기대 효과, 제약, 성공 기준, 연속성 | 임의의 저수준 동작 합성 |
| A2A 라우터·플래너 | 담당 선택, 목표 해석, 단계와 의존관계 | 모터 안전, 물리 완료 판정 |
| 온디바이스 연결부 | 계약 변환, 식별자 연결, callback 전달 | 성공 임의 판정, 기억 자동 승격 |
| TaskManager | 접수·admission·대기열·대기·시간 초과·취소·최종 상태 | 사용자 프로필과 의미 추론 |
| 기기 도메인 | 실제 동작, 제품 정책, 물리 결과 사건 | 장기 목표와 개인 기억 |
| 학습 검증 관문 | 결과 귀속, 기억 후보, 신뢰도·감쇠·철회 | 운영 중 모델 자체 변경, 안전 정책 우회 |
TaskManager는 사용자 목표를 해석하지 않는다. 플래너 계획은 실행 의도이고, 실제 완료는 기기 도메인과 TaskManager가 가진 terminal evidence로 확정한다. 모델이 만든 확률이나 관계 후보는 DeviceAgent의 admission과 기존 제품 정책을 우회할 수 없다.
8. 검색 전략과 운영 비용
그래프와 검색은 질문마다 같은 경로를 타지 않는다. 그래프는 관계 범위를 좁히고, 벡터 검색은 표현의 폭을 넓힌다.
| 질문 유형 | 기본 경로 | 필요할 때 확장 |
|---|---|---|
| 정확한 모델명·기능명·오류코드 | 정확 일치·BM25 | Dense 후보와 재정렬 |
| 표현이 다른 사용법 질문 | 밀집 검색 + 정확 일치 | RRF·LTR |
| 기능 영향·선행조건·제한 이유 | Product KG + 문서 근거 | 여러 단계 관계 검색 |
| 사용자 선호·공간·현재 상태 조합 | 문맥 그래프 투영 | 임베딩 후보·추가 상태 조회 |
| 넓은 문서 전체 비교 | 문서 분해·GraphRAG | 전역 요약은 필요할 때만 |
| 즉시 실행 요청 | 기능 라우팅 + 로컬 admission | RAG 답변으로 실행을 대체하지 않음 |
벡터 검색은 사실 판정기가 아니다. 유사 후보는 원문, 관계, 최신성과 권위를 통과해야 한다. 확률 점수는 실행 권한이 아니다. 점수는 후보 순위, 제안, 확인 질문에 사용할 수 있지만 민감 실행·권한 확대·완료 판정에는 사용할 수 없다.
비용과 지연을 통제하는 원칙
| 비용 요인 | 방어 방식 | 측정 지표 |
|---|---|---|
| 전체 문맥 반복 전송 | 목표 관련 부분만 투영 | 프롬프트 입력 토큰, 문맥 사용량 |
| 매 사건 플래너 호출 | 의미 경계에서만 호출 | 목표당 모델 호출 수, p95 지연 |
| 반복 제품 관계 조회 | 제품 버전 캐시·변경분 색인 | 캐시 적중률, 색인 최신성 |
| 오래된 상태·기억 사용 | StateMirror max-age·TTL 적용 | 만료 문맥 거부율 |
| 과도한 GraphRAG | 정확·혼합 검색으로 충분하면 생략 | 질의 유형별 경로·비용 |
| 모든 결과 자동 학습 | 후보·검증·승격 분리 | 기억 승격 정밀도, 오염률 |
Microsoft GraphRAG의 색인 구조처럼 문서 분할, 개체·관계 추출, 임베딩과 요약 색인은 사전 또는 변경분 처리로 분리한다. 실시간 기기 상태는 문서처럼 색인하지 않는다. 전역 검색을 매 대화의 기본값으로 쓰지 않고, 특정 사용자·공간·기능 주변의 짧은 관계 경로부터 사용한다.
그래프 엔지니어링은 보조적 해석 틀이다. 에이전트 구조를 설명하는 관심사는
프롬프트 → 문맥 → 하네스 → 순환 → 그래프로 넓어지지만, 그래프 자체가 제품 목표는 아니다.
그림 12 · 에이전트 시스템 설계 관점. 프롬프트·문맥·하네스·순환·그래프를 독립 유행어가 아니라 제품 판단과 실행을 지지하는 설계 관심사로 배치한다. SVG 크게 보기
9. 제품 로드맵과 검증 게이트
확장은 한 번에 진행하지 않는다. 검색 품질과 라우팅 기준선을 먼저 고정하고, 제품 관계, 화자별 기억, 통합 문맥, 실행 전체 흐름 순으로 승격한다.
그림 13 · Device RAG에서 개인화 실행까지의 단계별 진화. 검색 기준선을 보존하면서 제품 지식·화자별 구획·기억·문맥 투영·작업 전체 흐름을 순차 검증한다. SVG 크게 보기
| 단계 | 구현·시험 범위 | 통과 조건 |
|---|---|---|
| 1 | 100쌍 3단계 라우팅 검증 | 실행·제품 지식·일반 대화 대조쌍의 회귀 없음 |
| 2 | 기준 Document IR + 프라이버시 모드 제품 지식 시험 | 기능·영향·근거·제약을 정확히 연결 |
| 3 | 5명 화자 구획 + 개인 JSON memory MVP | 사용자 간 누출 0건, 수정·삭제 가능 |
| 4 | User KG와 Product/Home KG 연결 | 별칭·공간·선호·권한의 충돌과 누락 노출 |
| 5 | TaskManager 전체 흐름 시험 | 계획 단계, callback, 재계획, 취소, 물리 완료 검증 |
현재와 목표를 구분한다
| 구분 | 상태 | 의미 |
|---|---|---|
| 현재 구현 | Experience 진입·효과·계획 연결·작업 상태·제한적 재판단 | 문맥 기반 목표 생명주기의 기준선 |
| 연결 강화 | 화자·기억·기능·공간·근거의 식별자와 최신성 연결 | 평면 전달값을 검증 가능한 관계로 확장 |
| 목표 구조 | Product KG·User KG·Home KG·실행 기록과 목표별 투영 | 관계 기반 개인화 실행과 설명 가능성 확보 |
Product KG·User KG와 증거 학습은 목표 구조다. 코드나 문서가 있다는 사실만으로 실제 운영 승인을 의미하지 않는다. 단계별 비개입 검증(shadow), holdout, 실기기 검증을 통과해야 계획 입력에 영향을 줄 수 있다.
성공 기준은 네 계층으로 나눈다
| 계층 | 핵심 지표 | 실패 예시 |
|---|---|---|
| Routing | 목적 분류 정밀도, 대조쌍 일관성 | 설명 질문을 실행으로 보냄 |
| Retrieval & Answer | Hit@8, 출처 적중, 근거 답변, 설명 근거 일치율, 지연 | 맞는 문서를 못 찾거나 근거 없이 답함 |
| Memory & KG | 개체·관계 정확도, 관계 경로 재현율, 누출 0건, 만료·철회 준수 | 다른 사용자의 기억을 투영 |
| Execution | admission, 단계 성공, 취소, 재개, 물리 완료 정확도, 실패 원인 설명 가능률 | API 수락을 성공으로 마감하거나 실패 이유를 잃음 |
사용자 효과는 더 적은 반복 요청, 근거 있는 제품 답변, 잘못된 개인화 감소, 실행 진행과 실패 이유의 설명 가능성으로 측정한다. 운영 효과는 라우팅·검색·기억·실행 문제를 서로 다른 지표와 소유자로 분리해 원인을 빠르게 찾는 데 있다.
다음 단계에서 답해야 할 질문
- 화자 confidence가 어느 수준일 때 개인 기억을 읽을 수 있는가?
- 명시 선호와 관찰 선호가 충돌하면 어떤 범위에서 누구에게 확인할 것인가?
- Cloud 연결이 없을 때 로컬 기능·기억·상태를 어디까지 사용할 것인가?
- 가족 역할별 민감정보와 실행 권한은 어떻게 구분할 것인가?
- 제품 기능 관계가 버전 변경으로 바뀌면 어떤 목표·기억·색인을 무효화할 것인가?
10. 그래프 엔지니어링의 위치와 외부 근거
지식 그래프의 최소 단위와 운영 원칙은 이미 검증된 표준에서 가져오되, SKIX 실행 권한과 현재 상태의 책임은 제품 계약으로 유지한다.
지식 그래프 외부 기술 근거
| 근거 | 확인한 원리 | SKIX 적용 범위 |
|---|---|---|
| RDF 1.2 Concepts | 관계 문장, 데이터 묶음, 이름 있는 그래프 | 사람·공간·기기·기능·증거의 공통 관계 표현 |
| PROV-O | PROV-O의 개체·활동·주체와 생성·귀속 | 주장·관찰·결과의 출처와 생성 이력 |
| SHACL | SHACL 형식 검증 | 필수 ID·관계·시간·출처 누락 차단 |
| OWL-Time | 시점·기간·시간 관계 | 관찰 최신성, 기억 만료, 사건 순서 |
| Microsoft GraphRAG Architecture | 문서 분할·관계 추출·색인 분리 | 제품 문서와 검증된 실행 기록의 사전·증분 색인 |
| Microsoft GraphRAG Query | 지역·전역·DRIFT 검색의 목적 구분 | 좁은 제품 관계와 넓은 문서 분석의 선택적 사용 |
| GraphRAG | 개체 그래프와 공동체 요약 | 넓은 문서 분석의 비교 후보 |
| HippoRAG | 그래프와 장기 검색 결합 | 장기 실행 기록·기억 검색의 비교 후보 |
이름 있는 그래프(named graph)는 물리 저장소를 강제하지 않는다. 같은 저장소에서도 제품 지식·사용자 기억·실행 이력·실시간 관찰의 출처와 접근 범위를 논리적으로 나누는 방법이다. 또한 그래프 설계와 실행 시점의 사실을 분리한다. “이동 기능이 위치를 제공한다”는 제품 정의와 “지금 안방에 있다”는 관찰값은 저장 수명과 권위가 다르다.
그래프 엔지니어링은 아직 하나의 고정된 산업 표준이나 구현 완료 명칭이 아니다. 모든 추론을 그래프 탐색으로 바꾸는 것도 아니다. 이 설계에서 그래프는 문맥과 목표·작업·증거의 관계를 명시하고, 필요한 정보만 플래너에 전달하는 보조 구조다.
11. 결론
Experience Goal은 여러 문맥을 분석해 무엇을 달성할지와 언제 성공인지 보존한다. 지식 그래프는 사람·제품·환경·기억·실행의 관계와 근거를 제공하고, 플래너와 TaskManager는 이를 실행 가능한 단계와 물리 완료로 닫는다. 검증된 결과는 다음 목표의 문맥을 개선하지만, 권한·안전 정책·현재 상태의 권위를 대신하지 않는다.
한 문장으로 요약하면 다음과 같다.
문맥 통합 → 목표 형성 → 근거 기반 계획 → 실행 생명주기 관리 → 증거 반영의 기존 구조에 관계·권위·유효 기간과 통제된 학습을 더해, 더 적은 추측으로 개인화된 실행을 완성한다.
부록 A. 실험 이력과 근거 범위
부록 A. report.html 원문 추적
검토 원본은
/home/silogood/work/8.cloudLLM/backend-cloud-llm-lambda/report.html의
기기 지식에서 개인화 실행까지 보고서다. 원문의 Device RAG·3단계 라우팅·제품 지식
그래프·사용자 기억·도입 로드맵을 본문 1~3절과 9절에 직접 반영했다. 이 부록은 원본의
실험 이력과 현재 근거 범위만 남긴다.
검색 전략 이력
| ID | 변경 | 관찰 |
|---|---|---|
| S-009 | OOF LTR | 재정렬 개선은 있었지만 후보 누락이 병목 |
| S-012 | 별칭 후보 합집합 | 후보 상한 상승, 출처 누락과 순위 회귀 확인 |
| S-013 | provenance 추가 | 후보 생성 근거가 재정렬에 유효 |
| S-015 | cascade | 비용과 품질의 단계적 절충 가능성 확인 |
| S-016 | context alias | 현재 최고 후보, 일부 유형·지연 관문은 미통과 |
OCR 전략 이력
| ID | 변경 | 관찰 |
|---|---|---|
| O-001 | PyMuPDF 기준선 | CER 67.48%, Heading F1 41.82 |
| O-002 | 전체 페이지 Tesseract | 전체 적용 시 품질과 비용이 악화 |
| O-003 | native + OCR gate | CER 64.58% |
| O-004 | 더 엄격한 gate | CER 63.55%, 일반화 근거 부족 |
| O-005 | Docling layout-aware + RapidOCR | 3GB 메모리 한도를 초과해 운영 후보에서 제외 |
근거 범위와 해석 제한
- S-016은 현재 최고 후보이며 제품 runtime 승격 완료 상태가 아니다.
- MR8의 로컬·Cloud 경계는 확인했지만 모든 backend·AAR 내부를 검증했다는 뜻은 아니다.
- Product KG·User KG·Home KG와 증거 학습은 목표 구조이며 단계별 검증이 필요하다.
- 제품 문서를 외부 API로 전송하지 않는 경계를 유지한다.
- 외부 논문의 성능 수치를 SKIX 제품 성능으로 전이해 주장하지 않는다.
관련 기준 문서는 Device RAG 전체 체계, Experience Goal 개요, A2A 문서 모음, 화자 식별 서비스, TaskManager 프레임워크, 검증과 품질에서 이어서 볼 수 있다.