Q1. 프로젝트를 소개해 주세요.
프로젝트 소개
써봄은 AI 시대에 나만의 언어와 사고력을 키울 수 있는 글쓰기 루틴 서비스입니다. 생성형 AI 활용이 일상화되면서 대학생의 60.2%가 "AI에 의존하며 사고력이 낮아질까 봐 두렵다"고 응답하는 등, AI 의존도 증가에 따른 사고력 저하 우려가 커지고 있습니다. 이러한 문제를 해결하기 위해 매일 논리적/확장적 사고로 구분된 5가지 주제 중 하나를 선택하여 글을 쓰고, AI 코치의 구체적인 피드백을 받아 사고력을 키울 수 있는 서비스를 기획했습니다.
핵심 가치
- 실효성: 동국대 국어학 교수 2인의 자문을 받아 학문적으로 검증된 사고력 훈련 구조
- 지속성: 캘린더, 캐릭터, 피드 기능 등을 통해 루틴을 유지할 수 있는 UX 설계
개발 정보
- 개발 기간: 2024.10.04 ~ 2024.11.28 (8주)
- 팀 구성: PM(1), PD(2), FE(2), BE(3)
- 서비스 링크: https://www.seobom.site
- GitHub: https://github.com/SWYP-SUBOM/SWYP-SUBOM-BACKEND
Q2. Ncloud에서 어떤 서비스를 활용하셨나요?
- Server (Compute): 백엔드 애플리케이션 서버
- CLOVA Studio: AI 피드백 생성
Q3. Ncloud 서비스를 어떻게 적용하였나요?
시스템 아키텍처

NCP Server 구성
- 서버 스펙: Standard s2-g3a (vCPU 2EA, Memory 8GB)
- OS: Ubuntu 24.04
- 네트워크: VPC 구성으로 보안 강화
- 배포 환경: Docker 컨테이너 기반 애플리케이션 배포
- CI/CD: Jenkins를 통한 자동 배포 파이프라인 구축
CLOVA Studio 적용
1. 비동기 처리 아키텍처
CLOVA Studio API의 응답 시간(평균 2초 이상)을 고려하여 비동기 처리 방식을 도입했습니다:
- 요청 API: POST /api/posts/{postId}/ai-feedback
- 즉시 AiFeedback 엔티티 생성 (status: PROCESSING)
- 202 Accepted와 함께 피드백 ID 반환
- 백그라운드에서 @Async를 통해 CLOVA API 호출
- 조회 API: GET /api/posts/{postId}/ai-feedback/{id}
- 클라이언트가 1-2초 간격으로 폴링
- 처리 완료 시 status: COMPLETED와 함께 결과 반환
2. AI 피드백 생성 프로세스
사용자가 작성한 글을 CLOVA Studio의 HyperCLOVA X 모델에 전송하여 다음 항목을 평가받습니다:
- 글의 강점 분석
- 논리·표현·구조 측면의 개선 포인트
- 완성도 점수
3. Prompt Engineering
구조화된 JSON 응답 형식을 요청하여 파싱 오류 없이 안정적으로 데이터를 처리합니다. 한국어 고맥락 언어 특성을 고려하여 조사 하나하나까지 신경 써서 프롬프트를 작성했습니다.
Q4. Ncloud 사용 중 특히 만족했던 점과, 아쉬웠던 점은 무엇인가요?
만족했던 점
1. NCP Server
- 한글 문서화: 공식 문서가 한글로 잘 정리되어 있어 초기 설정과 트러블슈팅이 수월했습니다. 특히 VPC, 서브넷, 보안 그룹 설정 등 네트워크 구성 시 한글 가이드가 큰 도움이 되었습니다.
- 직관적인 설정: 콘솔 UI가 직관적이어서 서버 생성, 공인 IP 할당, 스토리지 구성 등을 빠르게 진행할 수 있었습니다.
- 안정적인 운영: 한 달 넘게 서버를 운영하면서 다운타임 없이 안정적으로 서비스를 제공할 수 있었습니다.
2. CLOVA Studio
- 구조화된 응답: JSON 형태의 구조화된 응답이 일관되게 제공되어 파싱 오류 없이 안정적으로 처리할 수 있었습니다. 이 덕분에 예외 처리보다 프롬프트 품질 개선에 집중할 수 있었습니다.
- 한국어 특화: 한국어로 자연스러운 피드백을 생성할 수 있어 서비스의 품질을 높일 수 있었습니다. 특히 고맥락 언어의 특성을 살린 섬세한 표현이 가능했습니다.
- NCP 통합: NCP 생태계 내에서 Server와 CLOVA Studio를 함께 사용하여 인프라 관리가 용이했습니다.
아쉬웠던 점
1. NCP Server
- 사이드 프로젝트용 스펙 부족: Micro 서버는 Jenkins와 Docker를 함께 올리기에 너무 작았고, Standard 서버는 월 6~8만원으로 사이드 프로젝트에는 부담스러운 비용입니다. vCPU 1EA, Memory 4GB 정도의 중간 스펙이 있다면 더 많은 개발자들이 부담 없이 사용할 수 있을 것 같습니다.
2. CLOVA Studio
- 제한된 토큰 수: 최대 토큰 제약으로 원하는 만큼 상세한 피드백을 제공하기 어려웠습니다. 긴 글에 대한 포괄적인 분석에 한계가 있었습니다.
- 응답 속도: 평균 2초 이상의 응답 시간으로 실시간성이 요구되는 UX 구현에 제약이 있어, 비동기 처리와 폴링 방식을 필수적으로 도입해야 했습니다.
Q5. Green Developers 프로그램 참여 소감 말씀 부탁드립니다. (50자 이상)
SI 회사에 입사하고 거의 일 년이 다 되어가는데 성장하고 있다고 느끼지 못했습니다. 사이드 프로젝트의 필요성을 절실히 느끼던 중 스위프 웹 11기에서 NCP 크레딧이 지원된다는 것을 알게 되었고, 프로젝트 비용 절감에 큰 매력을 느껴 참가하게 되었습니다.
총 30만원의 크레딧 지원(초기 10만원, 스위프 연계 20만원)을 받아 Jenkins와 Docker를 올린 Standard 서버를 한 달 넘게 안정적으로 운영할 수 있었고, 덕분에 스위프 웹 11기에서 우수상을 받는 성과를 거둘 수 있었습니다. 크레딧 지원이 없었다면 비용 부담으로 프로젝트를 완성하기 어려웠을 것입니다.
Green Developers 프로그램은 단순히 크레딧을 지원하는 것을 넘어, 개발자들이 아이디어를 실제 서비스로 구현할 수 있는 기회를 제공한다는 점에서 큰 의미가 있다고 생각합니다.
Q6. 마지막 한 말씀 부탁드립니다.
프로젝트 진행 중 흥미로웠던 경험
1. 비동기 처리 아키텍처 설계
CLOVA Studio API의 긴 응답 시간을 어떻게 처리할지 고민하면서, 동기/비동기, 폴링/웹소켓/SSE 등 다양한 방식을 검토했습니다. 최종적으로 @Async 기반의 비동기 처리와 폴링 방식을 선택했는데, 구현이 간단하면서도 안정적이어서 만족스러웠습니다. 추후 Message Queue나 SSE로 개선할 계획도 세울 수 있었습니다.
2. Prompt Engineering의 재미
CLOVA Studio를 사용하면서 한국어 프롬프트 엔지니어링의 재미를 발견했습니다. 영어 기반 LLM과 달리 조사 하나, 어순 하나가 응답 품질에 큰 영향을 주는 것을 보며, 고맥락 언어의 특성을 실감할 수 있었습니다. 구조화된 JSON 응답의 안정성 덕분에 프롬프트 튜닝에만 집중할 수 있었던 것도 좋았습니다.
3. 비용에 따른 인프라 선택 경험
단순히 기능을 구현하는 것을 넘어, 실제 서비스 운영을 위한 인프라를 설계하면서 비용과 성능 사이의 균형점을 찾는 경험을 할 수 있었습니다. Micro 서버로는 Jenkins와 Docker를 함께 운영하기에 부족했고, Standard 서버는 사이드 프로젝트에 부담스러운 비용이었지만, 안정적인 CI/CD 파이프라인 구축을 위해 Standard를 선택했습니다. 이 과정에서 서버 스펙, 배포 전략, 모니터링 등을 종합적으로 고려하는 법을 배웠습니다. 앞으로 Test 환경과 Production 환경을 분리할 계획이며 이에 걸맞는 인프라 전략을 세우기 위해 또다시 많이 배우는 시간을 가질 것 같습니다.
향후 NCP 활용 계획
써봄 서비스를 앞으로도 계속 운영하면서 실제 사용자들의 피드백을 받고 개선해나갈 예정입니다. 3개월간 운영하며 루틴 유지율, 사고력 향상 체감도 등을 분석하고, 이를 바탕으로 개인 맞춤형 성장 리포트, 난이도별 주제 확장 등의 기능을 추가할 계획입니다.
또한 사용자가 늘어나면 NCP의 Load Balancer, Auto Scaling 등 관리형 서비스를 도입하여 안정성과 확장성을 높일 예정입니다.
Green Developers 프로그램 피드백
네이버 클라우드 크레딧 지원이 우리 팀에게 너무나 큰 도움이 되고 있습니다. 다만 사이드 프로젝트를 진행하는 개발자들을 위해 Micro와 Standard 사이의 중간 스펙 서버가 추가된다면, 더 많은 개발자들이 부담 없이 NCP를 경험하고 좋은 서비스를 만들어낼 수 있을 것 같습니다.
마지막으로, Green Developers 프로그램을 통해 단순히 서비스를 만드는 것을 넘어 성장할 수 있는 기회를 얻었습니다. 감사합니다!
'Projects' 카테고리의 다른 글
| Git & Github를 활용한 협업 프로세스 (0) | 2024.05.24 |
|---|---|
| [JazzMeet]Cookie & Session vs. JWT (0) | 2024.05.16 |
| [JazzMeet] 도메인 간 쿠키 공유 되지 않는 문제 해결 (0) | 2024.05.12 |