피드로 돌아가기
Dev.toAI/ML
원문 읽기
Gemini 2.5 Flash와 Structured Output을 활용한 AI 코드 리뷰어 구축
I made an AI that roasts your code (and it's brutally honest)
AI 요약
Context
단순한 코드 분석을 넘어 유머와 교육적 가치를 결합한 코드 리뷰 경험 제공 필요성 대두. 정형화되지 않은 AI 응답으로 인한 UI 예측 불가능성과 사용자 공유 경험의 부재라는 제약 사항 존재.
Technical Solution
- 30회 이상의 Iteration을 거친 Prompt Engineering으로 Brutal/Fair/Specific/Constructive 원칙을 정의한 페르소나 설계
- JSON Structured Output 강제를 통한 UI 예측 가능성 확보 및 Severity Enum 기반의 동적 배지 시스템 구현
- Supabase Edge Function을 활용한 Serverless 아키텍처로 Gemini 2.5 Flash 모델 연동 및 지연 시간 최적화
- Postgres rate_limits 테이블 기반의 쿼터 관리로 무료 사용자 대상 시간당 5회 호출 제한 로직 적용
- 공유 가치 극대화를 위해 Edge Function에서 1200×630 규격의 dynamic SVG 생성 로직 구현
- 제약 조건 기반의 Prompting(One joke max)을 통한 모델의 창의성 유도 및 응답 품질 일관성 유지
실천 포인트
1. AI 응답의 일관성을 위해 JSON 스키마를 프롬프트에 명시적으로 정의했는가
2. API 비용 및 남용 방지를 위해 DB 기반의 Rate Limiting 체계를 구축했는가
3. 단순 기능 제공을 넘어 사용자가 공유할 수 있는 시각적 자산(SVG, Badge 등) 생성 로직을 포함했는가