화자별 관심사 조회와 등록 상태 연동
현재 제공 범위
모바일 App은 등록된 화자의 voiceId로 관심사를 서버에 저장한다. AI-Agent는 식별된 voiceId로 서버 관심사를 조회한다. 닉네임은 화면 표시용이며 조회 키로 사용하지 않는다.
| 정보 | 원본 관리 | 사용 |
|---|---|---|
| voiceId·닉네임 | AI-Agent 프로필 파일 | 화자 식별 결과와 표시 이름 연결 |
| 기준 임베딩 | AI-Agent 임베딩 파일 | 입력 음성과 비교 |
| 관심사 | 서버 | 모바일에서 설정, AI-Agent에서 조회 |
| 등록 상태 | AI-Agent | DeviceAgent가 등록 App과 IoTAgent에 전달 |
관심사 처리 순서
- 등록 완료 후 모바일에서 관심사를 선택하거나, 이후 설정 화면에서 변경한다.
- 모바일은 서버 API에 voiceId와 관심사 목록을 보낸다.
- 일반 발화에서 AI-Agent가 현재 화자를 식별한다.
- AI-Agent는 getVoicePersonalization을 DeviceAgent로 보낸다.
- DeviceAgent → IoTAgent → 서버로 요청을 전달한다.
- 서버는 voicePersonalizationResult를 역방향으로 보낸다.
- AI-Agent는 requestId·voiceId·만료·동의·revision·코드를 검증해 임시 보관한다.
샘플 게이트웨이는 서버 역할을 구현한다. 실제 AWS Backend의 계정 권한과 운영 경로는 별도 구현·검증 대상이다. 현재 AI-Agent의 currentServerInterests getter는 있으나 이를 답변 프롬프트에 넣는 호출은 없다.
등록 상태와 대화내역의 구분
등록 상태 이벤트 voiceProfileStateChanged는 유지한다. 대화내역 저장·조회·삭제·용량 조회 및 저장 이벤트는 다음 차수로 제외했다. 모바일 대화내역 화면도 현재 제공하지 않는다.
구형 voice_memory.db와 보조 파일은 새 AI-Agent 서비스 시작 시 제거한다. 화자 프로필·임베딩 파일은 보존하며 일반 LLM 멀티턴 문맥도 유지한다.