다음은 개발자와 AI 간의 오늘 하루 대화 로그야. 이 로그를 분석해서 내가 하루 동안 무엇에 집중하고 시간을 썼는지 한눈에 파악할 수 있도록 Obsidian 마크다운 형식으로 요약해줘.

2024.0X.XX 업무 로그 요약

1. 작업 분포

카테고리비중
백엔드 로직 및 프롬프트/데이터 전략50%██████░░░░
Epix-Card 기능 개발 (Public Session)20%██░░░░░░░░
테스트 시나리오/검증15%█░░░░░░░░░
UI 개선 및 DevOps15%█░░░░░░░░░

2. 집중 영역 / 시간 소모 포인트

생산적 작업

  • 다차원 팁 생성 프롬프트 설계: 단일 액션 방식에서 solutions(1순위/대안/최후수단), validity, verified_by 필드를 포함하는 구조로 업그레드하여 데이터 퀄리티 향상.
  • Public Session 기능 구현: 로그인 없이 일시적으로 연락처를 공유할 수 있는 백엔드(store/session.go, handlers/session.go) 및 프론트엔드 로직 구현.
  • 백엔드 프롬프트 로직 전면 개선: build_info_answer, build_chunk_prompt, classify_query 등 핵심 함수의 프롬프트를 ‘백과사전식 설명’에서 ‘문화적 경험 제공(낯섦 → 새로운 경험)’ 방향으로 재설계하고, 페르소나를 ‘처음 만난 한국인 친구’로 구체화함.
  • 데이터 정제 및 병합: 총 96개의 팁 데이터를 확보하고 인덱싱하며, 구형 데이터를 제거하여 신뢰도 높은 데이터셋 구축.

삽질/시간 소모 포인트

  • Qdrant 연결 에러: index_qdrant.py 실행 시 ConnectionRefusedError 발생. Docker 데몬이 꺼져 있어 docker start qdrant-locally 명령으로 해결.
  • 프론트엔드 훅 배치 오류: CardViewPage.js 수정 중 useState/useEffect가 조건문 뒤에 위치하여 빌드 에러 발생, 훅을 상단으로 이동하여 수정.
  • 모델 한계 보완 작업: GLM 모델의 복합 추론 및 섬세한 문화 해석 능력 부족을 프롬프트 엔지니어링으로 커버하려고 시도한 부분.

3. 타임라인

시간화자내용
15:41User링크 공유 시 회원가입/로그인 없이도 일시적으로 명함을 볼 수 있는 ‘활성화 시간’ 부여 기능 제안 (개인정보 보호와 사용 편의성 간의 트레이드오프 논의).
15:44User한국 택시 서비스(카카오T vs 우버)에 대한 외국인 관점 고찰 및 정보 수정 필요성 제기.
15:48🦦기존 데이터의 편향 문제를 지적하며, 7개 축(해결책 계층, 서비스 검증, 외국인 프로파일 등)을 포함한 새로운 시드 생성 프롬프트 설계.
15:56User카테고리별(4개)로 나누어 생성하면 퀄리티가 올라갈 것으로 판단하여 방향성 수정 제안.
16:10User1차 배치(15개) 생성 완료 요청.
16:13🦦67개로 데이터 증가, Qdrant 재인덱싱 필요성 언급 및 Docker 상태 확인 지시.
16:32User2차 배치 JSON 전달.
16:36🦦81개로 데이터 증가, 다음 라운드를 위한 프롬프트(이미 다룬 상황 제외 목록 포함) 제공.
16:39User3차 배치 JSON 전달.
16:43🦦대화 요약 요청(Summary 요청).
17:01🦦Epix-Card ‘Public Session’ 기능 백엔드(store/session.go 등) 및 프론트엔드(session.js 등) 구현 시작.
17:02⌨️index_qdrant.py 실행 실패 (ConnectionRefusedError).
17:02User에러 로그 전달.
17:05⌨️docker start qdrant-locally 및 스크립트 재실행.
17:08User클로드가 생성하지 않은 구 팁(52개) 제거 및 개선된 프롬프트 구조(solutions 등)를 반영한 UI 개선 요청.
17:11🦦백엔드/프론트엔드 빌드 완료 및 배포 성공 리포트.
17:24User생성된 팁의 맥락/설명 부분에 대한 퀄리티 이슈(상식과 다른 점, GLM 의존성 편향 등) 지적.
17:24🦦‘순대국밥’ 관련 예시를 분석하며, 단순 정보 나열을 넘어 외국인의 불편함을 새로운 경험으로 프레이밍하는 방향의 로직 개선 필요성 제기.
17:25🦦기존 백엔드 프롬프트가 너무 얕고 제약적임을 지적하고, ‘낯섦 → 새로운 경험’ 관점으로의 전환 계획 수립.
17:26🦦miss fallback 로직에 해결책 위주의 구조를 적용하는 방안 제안.
17:27🦦classify_query 함수의 쿼리 패턴(INFO_PATTERNS)을 확장하여 복합 질문 처리 능력 향상.
17:27🦦전체 변경 사항 요약. 프롬프트 구조를 5단계로 세분화하고, 제약 조건을 삭제하며 페르소나 설정. GLM 모델의 한계 명시.
21:07🦦구현된 기능(공유 모드)을 테스트하기 위한 구체적인 시나리오 작성 (본인 카드 열기 → 공유 모드 켜기 → 시크릿 창에서 접속 확인 → 종료 테스트).

4. 해결한 문제와 인사이트

해결한 문제

  • 팁 데이터 퀄리티 저하: 단일 액션 및 가정에 기반한 구형 데이터 대신, solutions(1순위/대안/최후수단), validity, verified_by 필드를 포함하는 다차원 프롬프트를 도입하여 신뢰도 높은 데이터 생성.
  • 연락처 공유의 편의성 vs 보안: 로그인 사용자에게만 제공되던 연락처를, 소유자가 설정한 시간 동안 비회원에게도 공개 가능하도록 하는 Public Session 기능(백엔드: 세션 활성화/비활성화 API, 프론트: 카운트다운 토글 UI) 구현.
  • Qdrant 인덱싱 실패: Docker 컨테이너(qdrant-locally)가 중지되어 발생한 ConnectionRefusedError를 해결하여 96개 팁 인덱싱 완료.
  • 건조한 AI 답변 톤앤매너: 백엔드 프롬프트를 개선하여 단순한 정보 제공을 넘어 사용자가 “해보고 싶다”는 느낌을 갖도록 유도하는 로직 적용.

인사이트

  • Fail-Safe 설계: 세션 확인 로직에서 에러 발생 시 무조건 연락처를 잠금(locked) 처리하여 개인정보 노출 방지. 조회수 증가는 비동기(goroutine)로 처리하여 응답 속도 저하 방지.
  • 데이터 구조의 UI 반영: 단순 텍스트 팁에서 solutions 계층 구조와 검증 배지(validity, verified_by)를 UI(카드 상세 및 피드)에 시각화하여 사용자에게 신뢰도 전달.
  • 모델 생성 로직의 한계와 보완: 복합 추론이나 깊이 있는 문화 해석 능력은 결국 기본 모델(언어 모델)의 성능에 의존적임을 인지. GLM-4.7의 한계를 명시하고, 궁극적으로는 GPT-4나 Claude급 모델로의 교체 필요성 도출.

Supported by ai-log-sync & GLM-4.7