상세 컨텐츠

본문 제목

AI 콘텐츠 자동화, 모델보다 중요한 건 이거였습니다

개발자 인사이트

by 정데비 2026. 7. 13. 17:30

본문

도입

부업으로 블로그·쇼츠 자동화 파이프라인을 구축하면서, 주제만 정해주면 어느 AI를 쓰든 비슷한 결과가 나올 거라 생각했습니다. 같은 프롬프트 템플릿을 Gemini Flash와 Claude Sonnet 5에 각각 돌려보면서, 그 생각이 완전히 틀렸다는 걸 직접 확인했습니다. 두 모델 다 처음 보면 그럴듯한 글을 뽑아냅니다. 문제는 "그럴듯함"과 "정확함"이 다른 이야기라는 걸 알아채는 데 몇 차례의 재시도가 필요했다는 겁니다.

핵심 개념: 왜 같은 프롬프트인데 결과가 다르냐

두 모델 다 "그럴듯한 문장"을 만드는 능력은 비슷합니다. 차이는 다른 데 있었습니다 — 실행 환경에 웹검색/그라운딩 기능이 켜져 있는지 여부입니다. 가격이나 출시일처럼 시간이 지나면 바뀌는 사실은, 모델이 학습 데이터만으로 답하면 틀릴 수밖에 없습니다. 비유하자면, 작년 신문만 읽은 사람에게 오늘 환율을 물어보는 것과 비슷합니다. 확신에 찬 답을 줄 수는 있지만, 그 확신이 정확도를 보장하진 않습니다.

실전 단계별 경험

1차 시도: 범위를 안 정하고 주제만 던지기

예를 들어 "오라클 클라우드 A1 무료 서버 구축"이라는 주제로 초안을 요청했을 때, 범위를 따로 정해주지 않으니 모델이 답을 임의로 좁혀버리는 문제가 있었습니다. 실제로 제가 운영 중인 GitHub Actions 셀프 호스팅 러너 얘기로 답이 흘러가버린 적도 있었습니다. 돌이켜보면, "실무 경험 기반으로 써줘"라는 지시를 모델이 "내가 가진 맥락 정보를 총동원해서 구체적인 사례로 채워야 한다"고 확대 해석한 결과였습니다. 이걸 막기 위해 본격적인 초안 생성 전에 "핵심 포인트 / 제외 항목 / 확정 범위"를 먼저 정리하는 0단계를 프롬프트에 추가했습니다.

2차 시도: Gemini Flash가 모델명과 링크를 그럴듯하게 지어내다

"Claude Sonnet 5 vs Gemini 최신 모델 비교" 글을 요청했더니, 본문에는 "Claude Sonnet 5"라고 써놓고 정작 코드 예시의 model 파라미터에는 2024년에 나온 구형 모델 문자열(claude-3-5-sonnet-20241022)을 그대로 썼습니다. 겉보기엔 그럴듯했지만, 그 코드를 그대로 복사해서 쓰면 완전히 다른 구형 모델이 호출되는 상황이었습니다. 메타데이터 설명란에는 존재하지 않는 "이전 포스트" 링크까지 만들어냈습니다. 코드나 링크처럼 "검증하지 않으면 티가 안 나는" 부분일수록 이런 문제가 잘 숨습니다.

3차: 프롬프트에 안전장치 추가

이후 프롬프트에 "정확한 모델명·수치를 모르면 지어내지 말고 [확인 필요]로 표시할 것", "존재 여부를 모르는 콘텐츠는 링크로 걸지 말 것"이라는 지시를 명시적으로 추가했습니다. 핵심은 "정확하게 답하라"고 압박하는 게 아니라, "모르면 모른다고 표시하라"는 탈출구를 만들어주는 것이었습니다.

4차: 안전장치를 추가한 뒤 Gemini Flash 재실행

가짜 링크는 사라졌지만, 이번엔 가격 같은 구체적 수치 자체를 아예 회피하는 쪽으로 갔습니다. 틀린 정보보단 나았지만, 정작 독자에게 필요한 정보 밀도는 낮아진 셈이었습니다. 안전장치가 "거짓말은 안 하지만 유용한 정보도 덜 주는" 방향으로 과잉 작동한 케이스였습니다.

5차: 같은 프롬프트를 Claude Sonnet 5로 실행

웹검색이 켜져 있는 환경에서 같은 프롬프트를 실행하니, 실제로 가격 정보를 검색해서 반영했습니다. "Claude Sonnet 5는 인트로 가격이 100만 토큰당 입력 $2 / 출력 $10(2026년 8월 31일까지)이고, 이후 표준가 $3/$15로 전환된다", "Gemini 3.5 Flash는 $1.5/$9"라는 구체적인 수치까지 나왔습니다. 나중에 직접 검색해서 대조해보니 실제 공식 문서와 정확히 일치했습니다. 같은 안전장치를 넣었는데도 정보 밀도가 유지된 이유는 단순합니다 — 애초에 지어낼 필요가 없었기 때문입니다.

정확도 비교 요약

항목 Gemini 1차 Gemini 2차 Claude Sonnet5
가격 수치 언급 안 함 회피 검증 후 정확히 반영
모델 문자열 구형 값 오용 문제없음(수치 자체 없음) 정확
링크 존재하지 않는 링크 생성 플레이스홀더 사용 플레이스홀더 사용
정보 밀도 높음(근거 없이) 낮음(회피) 높음(검증됨)

주의사항 / 흔한 실수

  • 모델이 자신 있게 말한다고 정확한 게 아닙니다. 2차 시도의 가짜 모델 문자열과 가짜 링크가 그 증거입니다.
  • 완전 자동화보다 "검증 가능한 자리를 명시적으로 표시하게" 만드는 프롬프트 설계가 실무에서 더 유용합니다. 모르는 부분을 그럴듯하게 채우는 것보다, 어디를 검수해야 하는지 명확히 표시되는 게 훨씬 안전합니다.
  • 웹검색 기능이 없는 환경에서 돌릴 때는 반드시 별도 검증이 필요합니다. 이건 모델의 "성능" 문제가 아니라 "도구 접근성" 문제입니다.
  • 자동화 파이프라인 자체를 만드는 과정에서도 실수는 생깁니다. 실제로 이 글의 초안을 정리하는 과정에서 줄바꿈이 텍스트에 그대로 섞여 들어가는 오류가 있었는데, 사람이 한 번 훑어보고서야 발견했습니다. 검수 단계는 어떤 자동화를 붙여도 완전히 없앨 수 없다는 걸 다시 확인한 부분입니다.

마무리

정리하면, 어떤 AI가 더 나은가보다 그 AI가 지금 이 작업에 필요한 도구(웹검색 등)에 접근할 수 있는가가 콘텐츠 자동화 파이프라인의 신뢰도를 더 크게 좌우한다는 걸 직접 겪으며 확인했습니다. 자동화는 반복 작업을 줄여주지만, "결과를 믿을 수 있는가"를 판단하는 마지막 단계는 여전히 사람의 몫이었습니다.


[핵심요약] Gemini Flash vs Claude Sonnet5, 자동화 신뢰도 직접 비교기

관련글 더보기