필사 프로젝트 내에서 제공하고 있는 메모 기능은 전체 사용자 중 5% 미만만이 사용하는 상황이었다. 기능 활성화 방안을 고민하던 중, 단순히 메모 공간을 제공하는 것만으로는 참여율 제고가 어렵다는 결론에 도달하였다.
이에 따라 구글잼을 통해 학습하던 Vertex AI Gemini API를 활용하여, 매일 제공되는 명언을 기반으로 사용자가 사유해볼 수 있는 질문을 생성하고 이를 메모 기능과 연동하는 접근을 시도하였다. 즉, 단순한 기록 공간에서 벗어나, AI가 제공하는 질문을 통해 자연스럽게 메모 참여를 유도하는 방식이다.
의존성 설치
pip install google-genai
데이터 소스
모델 설정
아래와 같이 모델 파라미터를 설정하였다.
GEMINI_MODEL=gemini-2.5-flash-lite
GEMINI_MAX_OUTPUT_TOKENS=248
GEMINI_TEMPERATURE=1.0
GEMINI_TOP_P=0.92
GEMINI_TOP_K=60
gemini-2.5-flash-lite를 선택한 이유: 가볍고 빠른 응답 속도를 제공하며, 짧은 질문 생성에 적합.Temperature=1.0: 다양성과 창의성을 확보.Top-P=0.92, Top-K=60: 문장 다양성 확보를 위한 확률 샘플링 보정.JSON 응답구조
client.config = types.GenerateContentConfig(
response_mime_type="application/json",
response_schema={
"type": "object",
"properties": {
"question_en": {"type": "string"},
"question_ko": {"type": "string"},
},
"required": ["question_en", "question_ko"],
},
...
)
설정: 온도=0.5, Top-P=0.9
프롬프트:
영어 명언을 입력으로 받아, 영어 질문과 한국어 직역 질문을 동시에 생성하도록 요구.
Generate one thought-provoking question for users based on this English quote.
First create the question in English, then translate it to Korean.
Both versions must be exactly the same question, just in different languages.
Quote: "{eng_quote}"
Requirements:
Question that helps with self-reflection and personal development
Specific and practical question
Question that explores the core meaning of the quote
Korean question must be a direct translation of the English question
실패 원인:
온도=0.8, Top-P=0.9 You are a warm journaling coach.
Write ONE short, conversational question inspired by the quote below.
Quote: "{eng_quote}"
Constraints:
- 10–18 words in English. Keep Korean the same meaning and similar length.
- Use plain, everyday words; avoid stiff/academic terms(e.g., “genuine”, “personal development”, “self-reflection”, “opportunity”).
- Must (a) invite self-reflection/growth, (b) be specific and practical, (c) probe the quote’s core meaning.
- Do NOT restate the quote, add explanations, or include code fences.
[KO]
- 한국어는 자연스러운 구어체(또는 부드러운 존댓말)로, 영어 문장을 충실히 번역.
small) 등장.온도=1.0, Top-P=0.9,TOP_K=60 You are a warm journaling coach.
Write ONE short, conversational question inspired by the quote below.
Quotes: {quotes_text}
Time anchor policy:
- Randomly choose ONE for each question:
A) no time anchor
B) next 24 hours / this week
C) next time <trigger>
D) last time <trigger>
E) today
- If C or D, pick <trigger> from:
["you get criticism","you feel stuck","you doubt yourself","you feel upset"].
- 8–14 words in English; Korean same meaning and similar length.
- Use plain words. Do Not use "small"
- Be specific and practical; no restating the quote; no code fences; max one comma.
[KO]
- 한국어는 부드러운 존댓말(–요) 또는 편한 구어체.
- 영어와 의미·길이를 비슷하게 유지.
데이터 기반 문제 인식
AI 적용 효과
학습과 성장