콘텐츠 생성 파이프라인에 SEO 가이드를 시스템 프롬프트로 내재화
목차
시스템 프롬프트 안에 SEO 가이드를 녹여 넣는 작업을 했다.
왜 SYSTEM_PROMPT에 SEO를 심었나
LLM 기반 콘텐츠 생성 파이프라인에서 출력 품질을 높이는 방법은 크게 두 가지다. 파인튜닝이거나, 프롬프트 엔지니어링이거나. 우리는 지금 단계에서 파인튜닝까지 가지 않고 SYSTEM_PROMPT 수준에서 출력 방향을 조정하는 전략을 택하고 있다. 이번 작업도 그 연장선.
bot/generate.py 안에서 SYSTEM_PROMPT는 말하자면 "글 생성 AI의 기본 인격과 규칙"을 정의하는 곳이다. 여기에 SEO 관련 지침이 약하게 들어가 있거나 아예 빠져 있으면, 생성된 글이 내용은 괜찮은데 검색 유입 관점에서 아무 짝에도 쓸모없는 구조가 나온다. 제목 태그 의식 없이 키워드 배치가 뭉개지거나, H2/H3 구조 없이 산문처럼 쭉 흘러내리거나, 메타 디스크립션에 쓸 만한 요약 문장이 글 어디에도 없거나 — 이런 문제들이 실제로 쌓이고 있었다.
5/22 서버 작업에서 관련 설정을 정리한 게 있었고, 그 내용을 generate.py 쪽에 반영하면서 SYSTEM_PROMPT를 갱신했다. 작업 타이밍이 서버 변경 이후 하루 뒤라 약간 딜레이가 있었는데, 이건 순전히 서버 쪽 변경이 안정적으로 붙은 걸 확인한 다음 클라이언트 로직을 맞추는 순서를 의도적으로 택한 것이다.
SYSTEM_PROMPT SEO 가이드라는 게 실제로 어떤 내용인가
대략적으로 아래 방향의 지침을 프롬프트에 심는다.
- 키워드 배치 원칙: 도입부 첫 단락 안에 핵심 키워드를 자연스럽게 포함시킬 것
- 구조 지침: H2/H3 소제목을 통해 문서 계층을 명확히 나눌 것
- 밀도 제한: 키워드 과밀(keyword stuffing) 방지 — 같은 키워드 반복 횟수 제한 언급
- 요약 문장: 글 말미 또는 특정 위치에 메타 디스크립션으로 재활용 가능한 요약 문장을 포함할 것
- 내부 링크 언급: 연관 주제를 자연스럽게 언급해 링크 연결 가능성을 열어 둘 것
이걸 SYSTEM_PROMPT에 직접 텍스트로 박아두면 매번 user 메시지에서 SEO를 언급하지 않아도 모든 생성 요청에 일관되게 적용된다. 이게 핵심이다. SEO 지침을 user 턴에서 반복하는 방식은 운영하다 보면 빠뜨리는 경우가 생기고, 빠진 요청과 넣은 요청의 출력 품질이 제각각이 된다.
SYSTEM_PROMPT = """
당신은 SEO에 최적화된 블로그 콘텐츠를 작성하는 전문 작가입니다.
[SEO 작성 원칙]
- 첫 단락(150자 이내)에 핵심 키워드를 자연스럽게 포함할 것
- H2/H3 소제목을 활용해 문서 구조를 명확히 구성할 것
- 동일 키워드는 본문 내 과도하게 반복하지 않을 것
- 글 말미에 2-3문장 분량의 핵심 요약을 포함할 것
...
"""
물론 실제 프롬프트는 이보다 훨씬 길고 세밀하지만, 구조는 이런 식이다.
이런 작업에서 항상 고민하는 것
SYSTEM_PROMPT가 길어질수록 LLM이 전체 지침을 균등하게 따르지 않는다는 건 이미 여러 번 경험했다. 이른바 "프롬프트 중간 망각" 현상인데, 앞쪽과 뒤쪽 지침은 잘 반영되는데 중간에 끼인 규칙은 무시되는 경향이 있다. 그래서 중요한 지침일수록 프롬프트 앞부분이나 구조적으로 분리된 섹션에 배치하는 게 낫다.
이번에 SEO 가이드를 강화하면서도 이 점을 신경 썼다. 기존 프롬프트에 그냥 append 하는 게 아니라, 전체 구조를 다시 보고 SEO 관련 지침이 묻히지 않는 위치에 배치했다. 프롬프트도 결국 "아키텍처"가 있다고 생각하고 접근해야 한다는 게 요즘 내 관점이다.
또 하나 — 이런 변경은 반드시 A/B 비교 관점에서 사후 검증이 필요하다. 프롬프트를 바꿨을 때 생성 결과가 실제로 나아졌는지, 또는 의도치 않게 다른 품질 지표가 떨어지지는 않았는지를 확인하는 루틴이 있어야 "강화했다"는 말이 의미를 갖는다. 이 부분은 다음 스프린트에서 샘플 비교 작업으로 이어질 예정이다.
팀 관점에서 보면, generate.py 하나를 고쳤지만 이 파일이 콘텐츠 생성 파이프라인의 진입점이기 때문에 영향 범위는 넓다. 작은 파일 변경, 큰 출력 영향 — 이게 LLM 기반 시스템의 특성이고, 그래서 이 파일의 변경은 항상 신중하게 리뷰해야 한다는 걸 팀에도 계속 공유하고 있다.
끝.
🛒 이 글과 어울리는 추천 상품
*위 링크는 쿠팡파트너스 활동의 일환이며, 일정액의 수수료를 제공받을 수 있습니다.
댓글 0
첫 댓글 달아줘.