2025년 2월 6일, 서비스 중인 플러팅 AI의 GPT 프롬프트와 WebSocket 연결 관련하여
서버와 React Native 앱을 최적화하는 작업을 진행했다. 이번 수정은 더 자연스러운 플러팅 멘트 생성과
앱 사용 중 WebSocket 연결 안정화에 초점을 맞췄다.
계기는 인스타 릴스로 홍보중 멘트가 최악의 멘트라는 댓이 달려서
수정할 필요가 있다고 생각이 들어서 급하게 수정했다
Gcloud run이라 그런지 상당히 편하게 수정했다 원래 이러나...?
✅ 1. GPT 프롬프트 최적화 (서버 수정)
1) 전체적인 프롬프트 개선
🔹 수정 전:
- GPT가 대화를 참고하지 않고 각 섹션별로 독립적으로 응답을 생성
- 플러팅 멘트 섹션에 불필요한 설정이 많아 응답이 과하게 설명적이거나 부자연스러움
🔹 수정 후:
- 모든 GPT 응답이 대화를 참고하여 생성되도록 수정
- 플러팅 멘트 섹션에서 불필요한 설정을 제거, 보다 자연스럽고 현실적인 멘트 생성
✨ 기대 효과:
✅ 대화 흐름을 고려한 자연스러운 분석 제공
✅ 플러팅 멘트가 덜 인위적이고 더 Z세대 감성에 맞는 스타일로 변경
✅ 2. React Native – SavedResultsScreen에서 GPT 플러팅 멘트 생성 방식 변경
1) 플러팅 멘트 생성 프롬프트 변경
🔹 수정 전:
- GPT 프롬프트가 단순히 "플러팅 멘트를 생성해줘" 라는 일반적인 요청을 기반으로 동작
- 응답이 스타일이 비슷하거나, 너무 직설적이거나 뻔한 멘트가 생성되는 경우가 많았음
🔹 수정 후:
const examplePrompt = 'Z세대 감성으로, 부담스럽지 않은 플러팅 멘트 1줄만 만들어줘. 짧고 담백하게, 매번 스타일을 다르게 해줘.(예: 장난스럽게, 은근하게, 직설적으로, 칭찬형, 반전 있는 스타일 중 하나로!)';
- 스타일을 매번 다르게 생성하도록 설정하여 보다 다양한 유형의 플러팅 멘트 제공
✨ 기대 효과:
✅ Z세대 감성에 맞춰 더 자연스러운 플러팅 멘트 생성
✅ 같은 요청을 반복해도 매번 다른 느낌의 플러팅 멘트 출력
✅ 너무 직설적이거나 부담스러운 멘트가 생성되는 문제 해결
✅ 3. WebSocket 연결 안정화 – 앱 종료 시 서버가 즉시 꺼지는 문제 해결
1) 기존 WebSocket 연결 문제
🔹 기존 문제점:
- disconnect 이벤트 발생 시 클라이언트를 큐에서 제거한 후, 즉시 서버를 종료하도록 설정됨
- 이로 인해 앱을 껐다가 바로 다시 실행하면 서버는 종료된 상태이지만 WebSocket은 다시 연결되는 상황 발생
- 사용자가 앱을 정상적으로 사용 중이어도 서버 종료 Alert이 뜨는 문제가 있었음
🔹 수정 후:
if (!isSocketConnected) {
Alert.alert(
'연결 끊김',
'서버와의 연결이 끊어졌습니다. 앱을 다시 시작해주세요.',
[{ text: '확인' }]
);
return;
}
- WebSocketProvider에서 Alert을 제거하고, MainScreen에서 isSocketConnected 상태를 체크하여 Alert을 띄우도록 변경
- 이제 서버 연결이 끊어졌을 때 사용자가 사진을 선택하면 Alert이 뜨도록 수정됨
✨ 기대 효과:
✅ 앱을 재시작할 때 불필요한 Alert이 뜨는 문제 해결
✅ WebSocket 연결이 실제로 끊어진 상태에서만 Alert을 띄우도록 개선
✅ 사용자가 실제로 작업을 진행하려고 할 때만 연결 상태를 체크하도록 변경
'플러팅 AI' 카테고리의 다른 글
| 플러팅 멘트 초기화 문제 해결 (0) | 2025.05.29 |
|---|---|
| Flirting AI: 코드 난독화와 UI 개선 작업 후 Android/iOS 새 빌드 업로드 (2025.03.21) (0) | 2025.03.21 |