1편에 이어.. 2편엔 AI 기능 구현에 대해 자세히 작성해보려고한다.
[비사이드 508 AI 포텐데이] 10일간의 챌린지 후기 1
508 AI 포텐데이❎NAVER Cloud | Notion🧿 프로그램 특징bside.notion.site 1️⃣ 포텐데이 참가 이유포텐데이는 10일간 불태우는 프로젝트 경진대회이다.서론이 길다...퇴사한지 벌써 반년이 지나가면서 사
wavetoai.com
1. 서비스 간단 소개
T성향이 ‘티’나는 사람을 위한 F 공감 시뮬레이션 챗봇 서비스
공감을 잘하고 싶은데, 어떻게 말해야하지?
감정 표현이 익숙하지 않아...
감정 피드백 시뮬레이션을 통한 T를 위한 서비스를 만들자!
우리의 거리는 몇 미터? | Notion
한눈에 보기 👀
ubiquitous-blackberry-1d3.notion.site
*최종 산출물 노션페이지
여기서 서비스 소개서 및 프로토타입을 확인 할 수 있다.
나티나??
나티나?? has 5 repositories available. Follow their code on GitHub.
github.com
*깃허브
2. 나의 역할
AI 기능 구현 및 배포

AI 주요 기능은 다음과 같다.
- 상황 제시
- 사용자 쿼리에 대한 반응
- 그 후, 대화 이끄는 말 생성
- 사용자 쿼리에 대한 점수 제시 (0 또는 1)
- 사용자 쿼리 검증(부적절한 언어 필터링)
- 대화 기록을 기반으로 사용자에게 편지지 작성(일종의 피드백)
- TTS
자세한 내용은 AI 파트 깃허브 참고* https://github.com/besides-508-potenday/na-T-na-AI
1️⃣ 채팅
극 F 성향의 '투닥이'와 이야기를 나눈다. 대화의 시작은 간단한 인사말과 함께, 상황을 제시한다.
예) 친구가 약속을 매번 취소해서 서운해...ㅠㅠ
그리고 이 상황을 유지하면서 T 사용자가 답변하기 어렵게 마지막 대화까지 이끌어나간다.
처음에는 대화를 10턴으로 설정했는데, 감정적인 AI와 이야기를 나누는게 너무 정신적으로 힘들어서 5턴으로 줄였다...
Ncloud 사용 모델: HCX-007
본 프로젝트에서는 Ncloud 서비스 중 Hyper Clover X 모델을 활용했다.
- 공감이 필요한 상황 생성
- 투닥이 답변 생성
- User의 말에 대한 공감 점수 반환, 비속어 검증

[문제 정의 및 실험 과정]
문제1: 감정에 취약한 AI, 너무 찡찡거리고, 별거 아닌 것을 계속 언급한다.
해결 과정 및 실험 결과
- 처음에는 200% 감정적인 캐릭터로 설정했다. T 사용자가 답변하기 어려워야하니까... 그런데 대화를 하면 할수록 내 수명이 줄어드는 것 같다... 갑자기 또 떠오르네..ㅎ
- 그래서 너무 딥하게 들어가지는 않게 설정했다.
- 하지만, 어쨋든 주어진 상황에 대해서 대화를 끝까지 이끌어야하기 때문에 찡찡거리는 느낌을 줄이기 어려운 건 어쩔 수 없다...
- 사용자가 해결책을 주면, 공감하지 않는다고 서운해하고,,, 공감을 해주면 고맙지만 그래도 여전히 그 상황이 속상하고, 걱정이 된다는 말로 대화를 이끌어야한다.
- 다른 방법이 있을까..?
- 대화가 문제 상황에서 벗어나도 좋으니, 자유롭게 대화해보기 → 찡찡대는 건 여전하고, 더 심해졌다...
어쨋든 사용자의 답변을 scoring 해야하기 때문에 그냥 평범한 대화(?)를 이어나가는 건 어렵다.
- 대화가 문제 상황에서 벗어나도 좋으니, 자유롭게 대화해보기 → 찡찡대는 건 여전하고, 더 심해졌다...
문제2: 모델의 창의력 부족 (만들어진 상황이 비슷비슷하고, 중복이 많다.)
해결 과정 및 실험 결과
1) hyper parameter tuning
- temperature를 0.8 정도로 맞췄다.
2) few-shot learning
- 적절한 예시를 제공하였다.
결론적으로는, 제대로 해결하지 못해서 마음에 들지 않았다. 매번 비슷한 상황이 나왔기 때문이다. 이제 외울지경...
문제3: 생성 속도 문제
해결 과정 및 실험 결과
1) 추론 과정 생략
- 기본적으로 추론을 하도록 설정되어있다.
- thinking none 으로 변경
- 다음과 같이 yaml 파일에 config를 여러개 설정해두었다.
DEFAULT_PARAMS:
topP: 0.8
topK: 0
maxCompletionTokens: 512
temperature: 0.7
repetitionPenalty: 1.1
seed: 0
includeAiFilters: false
thinking:
effort: none
- 실험 결과
TPS를 보면 초당 토큰 생성 숫자는 3배로 늘었다. 그리고 TTFT는 주로 warm-up 시간을 얼마나 단축시켰는지 측정하는건데 나는 API를 그냥 불러와서 쓰는거라 여기에 맞는 평가지표는 아닌 것 같다.
| No reasoning | Reasoning |
| [TPS] 57.496 [TTFT] 1.739 [promptTokens] 222 [completionTokens] 100 [totalTokens] 322 [memory_usage] 0.359375 |
[TPS] 157.224 [TTFT] 6.513 [promptTokens] 222 [completionTokens] 1024 [totalTokens] 1246 [memory_usage] 2.984375 |
2) 프롬프트 개선
프롬프트 토큰 수, output 토큰 수가 줄어들면 생성 속도는 줄어든다. 원래도 길이가 긴 편은 아니어서 속도를 줄이는데 크게 영향을 주진 않았다.
- 프롬프트 길이는 간략하게
- 답변 형식을 명확하게 설정하여 쓸때없는 추가 설명을 하지 않도록 함.
- ~~ 한 지시사항에 따라 생각해 본 결과, ~~ 해서 ~~~ 게 대답하는게 좋을 것 같아. 이런식으로 나오는 경우가 있다. 그러면 프롬프트에 without any additional explanation 를 붙이는 편인데, 그럼에도 설명을 하는 모델이 있다.
- sLM의 경우엔 이런 문제가 발생하면 골치아프다.. 하지만 클로바는 LLM이니까... 할 수 있어.. 협박하면서 프롬프트 개선함...
- 그런데도 믿을 수 없어서 결국엔 json format으로 "reaction": "대답~~~", "next_question":"다음 할 말 제시" 이런식으로 output이 나오게 했다.
- 영어로 작성(토큰 수 및 비용 문제로 평소에도 영어로 작성하는 편이다)
2️⃣ 편지 작성
대화 기록을 보고 피드백 같은 편지지를 작성하는거다.
사용자의 최종 점수에 따라, 편지지의 분위기를 다르게 하고, 주로 어떤 점이 좋았는지 어떤 점이 속상했는지 적는다.
그리고 마지막 멘트, "언제나 함께 하길 바라며,"와 같은 걸 생성하면 된다.
이 부분도 JSON 형식으로 나오도록 했다. 마지막 멘트 없이 편지를 쓰는 경우도 있었기 때문이다.
"첫인사", "본문", "마지막멘트" 이런식으로 키를 설정했다. 다행히 그 뒤로 에러는 없었음.
3️⃣ TTS (편지 텍스트를 음성으로 변환)
이건 그냥 Naver CLOVA Voice 사용하면 된다.
NAVER CLOUD PLATFORM
cloud computing services for corporations, IaaS, PaaS, SaaS, with Global region and Security Technology Certification
www.ncloud.com
보이스랑 속도, 음색, 높낮이 등을 설정할 수 있다.
F 성향 캐릭터에 맞게 "멍멍이" 보이스로 설정하고, 음색과 높낮이를 약간 조정했다.
🍰 배포

1. Docker Image Build
우선 FastAPI를 사용해서 API를 만들었다. 그 다음에 도커 이미지를 빌드했다.
2. AWS에 배포
EC2 인스턴스에 도커를 실행했다.
대부분 이런 방식으로 배포해와서 다른 방법은 잘 모르겠다. 그래도 하나 배운 건 항상 GCP에 배포했는데 이번에 AWS를 처음 다뤄봤다. 다행히 이번 프로젝트는 컨테이너가 가벼워서 문제 없이 배포할 수 있었다.
🐥 결론
포텐데이에서 했던 걸 간략하게 적어봤는데, 이 외에도 여러 실험을 해보았다. 대화 흐름이 어색한 부분이 있어서 개선하려고 해봤지만, 어쨌든 고정된 상황 + 감정적인 캐릭터는 유지해야했기 때문에 아예 이 설정과 캐릭터를 엎어버리지 않는 이상 다른 방법이 없었다... 후
이 서비스를 필요로하는 사용자가 있을지 모르겠지만, 나는 이제 이 캐릭터와는 손절이다.ㅎㅎ
Ncloud 서비스 사용과 프로그램 참여 소감!!
[만족했던 점]
- (HyperClova X) 한국어 특화 모델 답게, MZ 말투? 줄임말 같은 것들을 잘 이해하는 것 같다.
- (Clova Speech) 성별, 연령 등 다양한 선택지가 있어서 고르는 재미가 있다. 톤, 속도 등을 조절할 수 있어서 TTS 중에는 최고의 서비스인 것 같다.
[아쉬운 점]
- (HyperClova X) 한국어 글자수를 잘 못세는 것. 예를 들어 "100글자 이하로 작성해줘"라고 했을 때, 100글자가 넘어버리는 경우가 있다. 이는 다른 모델에서도 항상 나타나는 문제이지만, 한국어 특화 모델이라 기대했던 것 같다.
[소감]
10일 동안 다양한 직군과 함께 협업하면서 프로젝트를 진행하여 매우 좋은 시간이었다. 그리고 Naver Cloud에서 크레딧을 일부 지원해줘서 이 기회에 HyperClova X 모델을 직접 다뤄볼 수 있어 좋았다. 그리고 성능도 좋아서 계속 사용할 의향이 있다 :)
[추천 강의]
The 10x AI-Native Developer: 회사에서 AI로 압도적 성과를 내는 법| 딩코딩코 - 인프런 강의
현재 평점 5.0점 수강생 118명인 강의를 만나보세요. AI는 이제 선택이 아닌 생존의 문제입니다. 3일 걸리던 개발을 30분으로 단축하고, 반복 업무는 AI에게 맡기고 당신은 더 중요한 문제 해결에 집
www.inflearn.com
비개발자 4주만에 수익화 서비스 만들기: AI 바이브코딩 웹 + 앱 ALL IN ONE| 딩코딩코 - 인프런 강의
현재 평점 4.9점 수강생 777명인 강의를 만나보세요. 코딩 몰라도 OK! 당신의 아이디어를 단 4주 만에 실제 수익으로 바꿔보세요. AI와 최신 도구를 활용해, 웹사이트와 앱을 동시에 만들고 바로 서
www.inflearn.com
38군데 합격 비법, 2025 코딩테스트 필수 알고리즘| 딩코딩코 - 인프런 강의
현재 평점 5.0점 수강생 2,019명인 강의를 만나보세요. 초보자도 쉽게 이해하는 단계별 설명으로, 막연했던 코딩 테스트가 명확해집니다. 필요한 것만 배우고 바로 실전에 적용하세요! 알고리즘,
www.inflearn.com
6주 완성! 백엔드 이력서 차별화 전략 4가지 - 똑같은 이력서 속에서 돋보이는 법| 딩코딩코 - 인
현재 평점 5.0점 수강생 457명인 강의를 만나보세요. 모든 이력서가 비슷해 보이는 세상, ‘차별화’가 합격을 만듭니다. 6주간, 백엔드 실무자가 직접 전하는 실전 이력서 전략 4가지를 배우세요.
www.inflearn.com
'Work Life' 카테고리의 다른 글
| [비사이드 508 AI 포텐데이] 10일간의 챌린지 후기 1 (7) | 2025.08.12 |
|---|