막상 바이브 코딩을 해보니까 여러 가지 문제점이 발생했다. 처음에는 OpenAI를 활용해서 GPT를 활용하려 했지만, 일단은 무료로 하고 싶어서 Llama로 넘어가는 점, 그러다 보니 처음 명세서랑 달라서 여러 가지 문제점..
밑에 글은 GPT를 이용해서 좀 다듬었다. 이슈 트러블링을 하기 위해서 남겨놓은 노션이 너무 이상한 이유와 글들도 많아서 딱 어떤 이슈가 있었고, 어떻게 해결했는지만 남긴ㄷ..
무료 요약 모델 도입 + 노션 연동 삽질기 + 자잘한 버그 정리
지난 글에서는 “최신 보안 기사들을 모아서 요약하고, 노션에 쌓아두는 파이프라인”을 왜 만들게 됐는지랑, 대략 어떤 식으로 시작했는지 적었다.
이번 글은 그 다음 단계다.
만들다 보면 늘 그렇듯이, 기능 구현보다 연동/환경/사소한 버그에서 시간이 더 갈렸다. 그래서 이번에는 내가 겪은 삽질을 그대로 정리해두려고 한다. (나중에 또 겪을까 봐)
1) 요약 모델 교체: 유료 GPT → 무료 Llama 3로 갈아탄 이유
처음 프로젝트는 OpenAI GPT 모델을 기준으로 되어 있었다. 문제는 운영을 조금만 해도 비용이 발생한다는 점이었다.
마음껏 돌릴 수 있는 구조로 만들려면, 무료이면서도 성능이 괜찮은 대안이 필요했다.
그래서 선택한 게 Groq의 Llama 3였다.
- 왜 Groq?
- 응답 속도가 진짜 빠른 편
- 무료 사용량이 넉넉한 편
- 무엇보다 OpenAI API 형식과 호환이라 코드 변경을 최소화할 수 있었다
여기서 끝이 아니라, 나중에 또 다른 모델로 쉽게 바꾸고 싶어서 코드 구조도 손봤다.
- 기존: 특정 모델에 묶인 OpenAISummarizer
- 개선: OpenAI 호환 API면 다 연결 가능한 ChatCompletionSummarizer (범용)
2) 미스터리한 API 키 오류: .env에 분명 있는데 왜 못 읽지?
Notion이랑 Groq API 키는 .env에 넣어두고 돌렸다.
근데 프로그램이 계속 API 키가 없는 것처럼 동작했다.
- Notion에는 아무것도 저장이 안 됨
- 요약도 제대로 안 되고, 저품질 Dummy 요약만 뱉음
처음에는 키를 잘못 넣었나 싶었는데, .env에는 분명히 있었다.
그래서 원인을 쪼개려고 진단 스크립트를 따로 만들었다.
- check_notion.py
- check_groq.py
이 스크립트들은 정상적으로 키를 읽고 통신도 성공했다.
근데 메인 프로그램만 키를 못 읽는 기현상이 이어졌다.
원인은 의외로 단순했다.
메인 프로그램에 .env 로드 코드가 없었다.
해결은 python-dotenv로 끝났다.
- requirements.txt에 python-dotenv 추가
- run.py 시작 부분에 load_dotenv() 한 줄 추가
3) Notion 연동 삽질기: 오류가 3연타로 터짐
환경 변수 문제를 해결했는데도 Notion은 또 다른 이유로 실패했다.
여기서는 check_notion.py가 거의 핵심 디버깅 도구였다.
(1) 1차 오류: 400 Bad Request
- 내용: NOTION_DATABASE_ID가 유효하지 않다고 나옴
- 원인: 데이터베이스 ID가 아니라 페이지 ID를 복사한 상태였다
Notion URL 구조를 다시 보고, DB ID를 정확히 추출해서 해결했다.
(2) 2차 오류: IndexError
DB ID를 고치니까 이번엔 IndexError가 떴다.
- 원인: 데이터베이스 제목(Title)이 비어 있는 경우 진단 스크립트가 터짐
- 해결: 노션에서 DB 제목을 입력 → 바로 해결
이때 깨달아서, check_notion.py도 보강했다.
(제목 없는 DB여도 오류 없이 처리하도록)
(3) 3차 오류: Schema Mismatch
마지막 관문은 스키마였다.
- 원인: Notion DB의 속성(컬럼)들이 코드에서 기대하는 타입/이름이랑 불일치
그래서 필요한 속성들을 이름/타입까지 정확히 맞춰 세팅했고, 그제야 정상 업로드가 됐다.
예를 들어, 보통 이런 식으로 “정확한 속성명 + 타입”이 중요했다.
- Title : Title
- Source : Select 또는 URL(프로젝트 설계에 따라)
- Risk : Select / Multi-select
- Date : Date
(이런 식으로 코드와 DB가 1:1로 맞아야 함)
그렇게 아 이제는 해결 끝? 이라고 생각했지만

아니.. 왜 이렇게 . .. 이상하게 요약..?
지금 BleepingComputer API로 가져오는 거는 아래와 같이 잘 요약을 해주는데 thehackernews에 대한 API만 이상하게 출력을 못한다.!!!!!!!!!!!

이슈트러블링을 하는 기간은, 첫날 만들 때 1시간 정도 Gemini와 씨름을 했고 나머지 평일 5일 동안은 연구실에 좀 일찍 나가서 20분 동안 바이브 코딩 & 코드 읽기 이런 느낌으로 내가 원하는 기능이나 오류들을 해결했다. 위에 있는 오류는 아직 해결 중이다 ㅠ
합치면 약 2시간 정도?의 시간을 쏟은 것 같다. 다음주에는.. 완성해서 다른 바이브 코딩을 해보고 싶드아
'바이브코딩' 카테고리의 다른 글
| 최신 기사들을 요약 및 노션에 업로드 해주는 프로그램 만들기(3) (0) | 2026.01.19 |
|---|---|
| 최신 기사들을 요약 및 노션에 업로드 해주는 프로그램 만들기(1) (0) | 2026.01.14 |