AI한테 기능 추천 받았다가 "그거 안 돼요"라는 답변을 듣기까지의 여정
어느 개발자와 AI의 솔직한 대화록
기획부터 현실 직면까지, 감정의 롤러코스터를 함께 타봅시다.
1. 기능 고도화 구상
"앱 좀 분석해봐"
지난 이야기에서 VoiceClone Pro — Qwen3-TTS AI 모델을 써서 목소리를 복제하고, 텍스트를 음성으로 바꿔주는 macOS 데스크톱 앱을 만들었다.
https://sunnydevdays.tistory.com/11

앱은 완성되어 있었다. 잘 돌아갔다. 하지만 개발자의 본능이 속삭였다.
"이거... 뭔가 더 붙이면 좋겠는데."
그래서 AI에게 물었다.
"이 앱 분석해서 Best 3 기능 추천해줘."
AI는 성실하게 앱의 코드를 20개 넘는 파일을 훑으며 분석했다. 꼼꼼하게 파악하면서도 칭찬은 안 했다. 오히려 그래서 신뢰가 갔다.

Best 3를 받다
AI가 자신 있게 내놓은 추천 목록:
| 순위 | 기능 | 한 줄 요약 |
| 1 | 음성 스타일 컨트롤 | 같은 목소리로 기쁨, 슬픔, 분노를 표현! |
| 2 | 장문 오디오북 생성기 | 소설 한 권을 통째로 음성으로! |
| 3 | 다화자 대화 시뮬레이션 | 영희와 철수가 번갈아 대화하는 드라마를! |
솔직히 감동했다. 특히 1번. 감정 조절이 되는 음성 복제라니. AI가 그려준 미래는 아름다웠다.
나는 흥분했다. "UI도 보여줘!"라고 말했다.

현실의 벽
흥분이 가라앉고 나서 냉정한 질문을 던졌다.
"추천한 기능이 기술적으로 진짜 가능한 거 맞아?"
이 질문이 판도를 바꿨다. AI는 웹 검색을 하고, 모델 문서를 뒤지고, 기술 보고서까지 읽었다. 그리고 돌아왔다.
AI가 내놓은 결과:
- Base 모델 → 음성 복제 O, 감정 제어 X
- CustomVoice 모델 → 음성 복제 X, 감정 제어 O
- VoiceDesign 모델 → 음성 복제 X, 감정 제어 O
우리가 쓰는 건 Base 모델이다. 음성 복제는 되는데 감정 제어가 안 된다고?
"음성 복제 + 감정 제어를 동시에 지원하는 모델은 없습니다."
Best 3의 1번 기능이 통째로 날아갔다.

2. 설계
✔ 최종 기능 결정
1번 기능(감정 제어)은 포기하고, 실현 가능한 2번과 3번을 선택했다:
- F2: 장문 오디오북 생성기 — 텍스트를 청크로 나누고 순차 생성
- F3: 다화자 대화 시뮬레이션 — 화자별로 목소리를 바꿔가며 생성
AI가 AI를 위한 설계서를 쓰다
AI는 이 두 기능에 대한 완전한 설계서를 만들었다.
이 설계서의 분량:
- 신규 파일 8개의 전체 내용
- 수정 파일 4개의 변경 계획
- 7단계 구현 순서 가이드
총 12개 파일, 700줄, 한 치의 모호함 없이.
이 설계서의 목적? 다른 AI 세션에서 이 파일을 읽고 바로 구현에 들어갈 수 있게 하는 것이다.
AI가 AI를 위한 설계서를 쓰는 시대. 인간인 나는 그걸 시키는 역할이다.

✔ 설계 단계의 교훈
1. 추천 받기 전에 "진짜 되는지" 물어봐라
멋진 기능을 추천해주는 건 쉽다. 그게 현재 기술 스택에서 가능한지 확인하는 건 다른 문제다.
2. 모델 문서를 읽어라
같은 이름의 AI 모델이 하나인 줄 알았다. 3종류였다. 마치 "김철수"가 한국에 수만 명 있는 것처럼.
3. 실패한 기획도 가치가 있다
감정 제어 기능은 못 만들지만, 그 과정에서 모델의 한계를 명확히 알게 됐다. 그리고 더 현실적인 기능을 찾아냈다.
3. 구현
✔ 어둠에서 빛으로
"다크모드에서 라이트모드로 바꿔줘."
이 한 마디가 308줄의 대규모 색상 전환을 일으켰다. 앱의 분위기가 완전히 바뀌었다. 다크 카페에서 밝은 스튜디오로 이사한 느낌.
그리고 이 색상 변경이 나중에 예상치 못한 복수를 하게 된다...

✔ 흰색의 복수
"버튼에 마우스를 올리면 텍스트가 안 보여."
라이트모드로 전환한 그 색상이... 여기서 복수를 했다.
앱의 글로벌 스타일에는 "버튼에 마우스를 올리면 보라색 배경에 흰색 글자"라는 규칙이 있다. 그런데 특정 화면에 "배경을 흰색으로"라는 규칙이 추가되어 있었다.
버튼에 마우스를 올리면?
- 글로벌 스타일: "텍스트를 흰색으로!" ✅
- 화면 스타일: "배경을 흰색으로!" ✅
- 결과: 흰색 배경 위에 흰색 텍스트 = 투명 인간 버튼 🫥

💡 교훈: UI 스타일의 범위를 지정하지 않으면 핵폭탄이다. 모든 하위 요소에 무차별 적용된다.
✔ 빌드의 두 가지 공포
공포 1: 무한 루프 지옥
macOS에서 특정 조합의 라이브러리를 쓰면 프로세스가 무한 증식한다. 해결책은 시작 부분에 딱 한 줄의 보호 코드를 넣는 것. 이걸 안 지키면 맥북이 전자레인지가 된다.
공포 2: 즉사
앱을 패키징하면 파일 경로가 완전히 달라진다. 아이콘 파일? 없다. 설정 파일? 경로가 틀렸다. 앱은 "뭐가 어딨는지 모르겠어요" 하고 조용히 퇴장한다.
4. 마무리
✔ 숫자로 보는 여정
| 항목 | 수치 |
| 총 프로그램 파일 | 33개 |
| 총 코드 라인 | 3,824줄 |
| 주요 기능 | 3개 |
| 지원 언어 | 12개 |
| 최종 빌드 크기 | 848MB |
| 무한 증식 방지에 필요한 코드 | 1줄 |
AI와 함께 개발한다는 것
이 프로젝트에서 AI(Claude)는 설계부터 구현, 디버깅, 빌드까지 전 과정에 참여했다.
✅ 잘한 것들:
- 300줄짜리 설계 문서를 파일로 저장한 판단
- 20개 파일을 일관된 구조로 작성
- 빌드 과정의 함정들을 사전에 방지
❌ 삽질한 것들:
- 존재하지 않는 패키지 버전을 요청
- 필수 연결을 하나 빠뜨림
- 자막 생성기를 세 번이나 고침
- 스타일 규칙의 범위 지정을 간과

✔ 끝맺음
모든 위대한 소프트웨어는 이렇게 시작한다.
설계도 한 장, 오타 두 개, 버그 열 개,
그리고 포기하지 않는 개발자.
[ 최종 앱 모습 ]



'이야기' 카테고리의 다른 글
| 나만의 평생 무료 ChatGPT 만들기 #1 (0) | 2026.02.09 |
|---|---|
| 내 목소리로 세상을 읽어주는 앱 만들기 #1 (1) | 2026.01.30 |
| 나만의 루틴 관리 앱 AI 개발 이야기 #3 (5) | 2026.01.20 |
| 나만의 루틴 관리 앱 AI 개발 이야기 #2 (0) | 2026.01.13 |
| 나만의 루틴 관리 앱, AI와 1주 만에 만들기 (2) | 2026.01.05 |