일일 개발 로그 요약
1. 작업 분포
| 카테고리 | 비중 | |
|---|
| GCP(Vertex AI/Imagen) 기능 구현 | 45% | ████ |
| 다국어 번역 및 로컬라이제이션 | 40% | ████ |
| GLM 모델 테스트 및 환경설정 | 15% | █ |
2. 집중 영역 / 시간 소모 포인트
생산적 작업
- GCP 기반 영수증 인증 모듈 구축:
gemini-2.5-flash를 활용하여 5~6초 만에 영수증 이미지에서 상호명, 금액, 주소를 정확히 파싱하는 데 성공함.
- Imagen 3 활용 카드 생성: 정적 영수증 이미지 대신, 카테고리(카페, 음식 등)에 맞는 AI 생성 이미지를 배경으로 사용하는 공유 카드 시스템을 구현하여 디자인 퀄리티 향상.
- 웹 공유 UI 구현: 모바일에서 인스타그램 스토리 공유를 위해 Web Share API를, PC용으로는 X/Threads 인텐트 링크를 적용한 실제 작동하는 버튼들을 배치.
- 로컬라이제이션 전략 수립: 단순 번역을 넘어, “자국과의 차이”, “어색함”, “안심”을 포함하는 문화적 맥락을 번역 프롬프트에 반영하여 품질을 크게 개선함.
삽질/시간 소모 포인트
- GLM 모델 선정 문제:
glm-4.5가 추론 모델(Reasoning)이라 응답이 느리고 끊기는 문제 발생. glm-4.7은 레이트 리미트 걸려 사용 불가. 결국 GCP Vertex AI로 전환하여 해결.
- GCP Vertex AI 설정: Model Garden에서 Gemini 활성화 절차와 API 버전(
v1 vs v1beta1) 혼동으로 인한 404 에러 발생. gemini-2.5-flash는 v1beta1, Imagen은 v1 사용으로 해결.
3. 타임라인
| 시간 | 대상 | 내용 |
|---|
| 10:21 | 🦦 | GLM 모델(glm-4.5)의 추론 모델 특성(속도 느림, 텍스트 잘림) 확인 및 한계 파악. |
| 10:55 | 🦦 | GCP Vertex AI와 Gemini Vision을 활용한 영수증 인증 및 SNS 공유 모듈 아키텍처 제안. |
| 11:19 | 🦦 | GCP 크레딧이 남아 있는 계정(epixailab@gmail.com) 확인 및 프로젝트 설정 준비. |
| 13:48 | 🦦 | gcp/receipt.py, gcp/share_card.py 모듈 구조 생성 및 API 엔드포인트 설계. |
| 14:05 | 🦦 | Vertex AI에서 gemini-2.5-flash(v1beta1) 모델 확인 완료 및 파싱 테스트 성공(5.4초 소요). |
| 14:21 | 🦦 | 실제 영수증(카페토리) 이미지 업로드 테스트: 상호명, 금액, 주소 파싱 성공. |
| 14:27 | 🦦 | 이모지 렌더링 문제로 인한 디자인 변경 결정. Imagen 3을 사용하여 AI가 배경 이미지를 생성하는 방식으로 로직 수정. |
| 14:33 | 🦦 | /receipt/ui 웹 페이지 구현 완료. 드래그 앤 드롭 업로드 및 Web Share API를 적용한 SNS 공유 버튼 배치. |
| 15:03 | 🦦 | ngrok을 사용하여 로컬 서버를 외부에 노출, 모바일 기기에서 Web Share API 테스트 가능하도록 설정. |
| 17:54 | 🦦 | 햄스터_로컬리(Hamster_Locally) 프로젝트 기획. 한국어 마스터 데이터 + 다국어(JSON 캐시) 관리 방식 확정. |
| 20:54 | 🦦 | 번역 방향성 수정: 단순 번역이 아닌, 자국 문화 관점에서의 ‘차이’, ‘어색함’, ‘안심’을 포함하는 로컬라이제이션 요청. |
| 21:57 | 🦦 | 개선된 로컬라이제이션 프롬프트로 테스트 수행. EN/ZH/JA 각 언어에 맞는 문화적 맥락(발음 가이드, 심리적 저해 요소 해소 등)이 반영됨을 확인. |
4. 해결한 문제와 인사이트
해결한 문제
- 영수증 인증 파이프라인 구축
- 문제: 영수증 이미지에서 텍스트 추출 및 장소 매칭 구현 필요.
- 해결:
gcp/receipt.py에서 Vertex AI gemini-2.5-flash를 호출하여 JSON 형식으로 데이터 추출. 퍼지 매칭(Fuzzy Matching)으로 장소 검증 로직 구현.
- 동적인 공유 카드 생성
- 문제: 정적인 영수증 이미지 사용 시 디자인 퀄리티 저하 및 이모지 렌더링 오류.
- 해결:
gcp/share_card.py를 수정하여 Imagen 3 모델로 카테고리별 배경 이미지를 생성하고, 그 위에 텍스트와 도장을 오버레이하는 방식으로 변경.
- 인스타그램 스토리 웹 공유
- 문제: 웹 환경에서 인스타그램 스토리로 이미지 직접 공유는 공식적으로 막혀 있음.
- 해결: 모바일 브라우저의
navigator.share (Web Share API)를 활용해 OS 공유 시트를 호출하여 네이티브 앱으로 전달하는 방식 우선 적용.
- 다국어 데이터 로컬라이제이션
- 문제: 단순 기계 번역은 문맥(왜 이렇게 하는지, 자국과 뭐가 다른지)이 부족함.
- 해결: 번역 프롬프트에 “자국 문화와의 차이”, “느낄 수 있는 어색함”, “한국에서는 괜찮다는 안심”이라는 3가지 요소를 강제하여 문화적 적응력을 높임.
인사이트
- 모델 선택의 중요성: GLM의 추론 모델은 토큰 소모가 많고 느려, 챗봇용으로는 적합하지 않음. 빠르고 정확한
gemini-2.5-flash 같은 모델이 적합.
- 프로토타이핑 속도: AI Studio API 키가 빠르지만, GCP 크레딧 활용을 위해 Vertex AI를 선택함. 설정이 복잡할 수 있으나 장기적인 확장성 고려.
- 번역의 품질: “자국 기준”을 명시하는 프롬프트 엔지니어링이 번역 품질을 단순 번역에서 ‘실용적인 가이드’로 격상시킴.
5. 주요 코드 변경사항 (파일명 및 방향성)
Supported by ai-log-sync & GLM-4.7