Conversation
This comment was marked as low quality.
This comment was marked as low quality.
🛡️ Issues
💡 Improvements
|
seokMini-2
left a comment
There was a problem hiding this comment.
고생하셨습니다!! 리뷰 확인해주세요!
| * @param relationshipId chat 컨텍스트 + stale-version 가드의 기준 관계 | ||
| * @param characterId 통화 상대 캐릭터(로그·편의용, relationship에서도 도달 가능) | ||
| */ | ||
| public record WsTicket( |
There was a problem hiding this comment.
캐릭터는 계속 변경이 가능하니 티켓이 멤버에 묶여있어야 하지 않을까요??
There was a problem hiding this comment.
통화 상대가 발신 시점에 확정됩니다. 매 턴 티켓에 들어있는 정보를 파악하는데, 멤버에 묶인다면 통화 도중 메인 연인이 바뀌는 경우 버그가 일어 날 수 있습니다. 멤버 신원이 필요하다면 relationship으로 접근하면 될 것같습니다.
💡 개선 사항
|
💡 개선 사항
|
seokMini-2
left a comment
There was a problem hiding this comment.
아래 한가지만 확인해주세용 수고하셨습니당
| int last = conversation.size() - 1; | ||
| String message = conversation.get(last).content(); | ||
| // subList는 뷰지만 AiChatRequest 생성자가 List.copyOf로 복사하므로 안전하다. | ||
| List<AiChatHistoryItem> history = conversation.subList(0, last); |
There was a problem hiding this comment.
현재는 통화 세션의 전체 대화를 전달하고 있는데, 추후 장시간 통화 테스트 시 응답 속도가 너무 느려지는 현상이 나타난다면, 최근 N개 메세지만 전달하거나 이전 내용을 요약해서 포함하는 방식도 고려해볼 수 있을 것 같습니다!
💡 개선 사항
|
hyeonky0w0
left a comment
There was a problem hiding this comment.
확인했습니다!
AI 서버 계약과 대조해 다시 확인했는데, requestId, history role, 응답 reply, 관계 stage 및 필수 점수 매핑 모두 현재 계약과 일치합니다. AI 연동 문서도 실제 구현에 맞게 수정했습니다.
통화에서 reply만 사용하는 현재 범위는 문제없어 Approve하겠습니다.
추후 관계값 반영 시에는 relationshipDelta/nextRelationship 중첩 응답 매핑이 필요할 것 같습니다..
Summary
통화(call) 도메인을 실제 AI 대화로 배선했습니다. 에코를 AI chat 호출로 교체하고, POST /calls부터 WebSocket 티켓 인증·세션 바인딩, STT final → AI /chat → TTS 다운스트림까지 전 구간을 연결했습니다. AI 서버 계약 정합을 실서버 왕복(200)과 통화 e2e 실측으로 검증했습니다.
Related Issue
Describe your code
작업 내용 (What I Did)
스크린샷/결과
논의사항/질문 (To Reviewers)
▎ ⚠ 공유: ① AI 계약 문서상 requestId가 "선택"이나 실제 필수(없으면 400) — AI 담당자 정정 요망. ② affinityScore 초기값 0→50 변경 — 도메인 담당자 공유.
Checklist