From fc2060ee134e3985bcc7464d701e04b4e96f428b Mon Sep 17 00:00:00 2001 From: Claude-51124 Date: Wed, 11 Mar 2026 18:02:14 +0900 Subject: [PATCH] docs: record partial prompt db adoption issue --- ..._partial_adoption_and_hardcoded_prompts.md | 40 +++++++++++++++++++ journey/troubleshooting/README.md | 2 + 2 files changed, 42 insertions(+) create mode 100644 journey/troubleshooting/260311_prompt_db_partial_adoption_and_hardcoded_prompts.md diff --git a/journey/troubleshooting/260311_prompt_db_partial_adoption_and_hardcoded_prompts.md b/journey/troubleshooting/260311_prompt_db_partial_adoption_and_hardcoded_prompts.md new file mode 100644 index 0000000..61767ee --- /dev/null +++ b/journey/troubleshooting/260311_prompt_db_partial_adoption_and_hardcoded_prompts.md @@ -0,0 +1,40 @@ +--- +tags: [prompt-db, prompts, hardcoded, rb8001, troubleshooting] +--- + +# 프롬프트 DB 부분 도입 상태와 하드코딩 프롬프트 잔존 + +## 관련 문서 +- [프롬프트 DB 응답생성 폐루프 미연결](./260310_프롬프트DB_응답생성_폐루프_미연결.md) +- [프롬프트 동적 관리 시스템 계획](../plans/251225_프롬프트_동적관리_계획.md) +- [프롬프트DB·자기개선루프 기본구현 검증 및 계획 종결](../worklog/260310_프롬프트DB_자기개선루프_기본구현_검증및계획종결.md) +- [NAVER WORKS 브리핑 인사이트 서두 누출](./260311_naverworks_briefing_insight_preamble_leak.md) + +## 문제 정의 +- 프롬프트 DB 저장/활성화/이벤트 추적 골격은 구현돼 있지만, 실제 운영 프롬프트 다수가 아직 코드 하드코딩 상태로 남아 있습니다. +- 그 결과 `프롬프트 DB화 완료`처럼 해석되기 쉬우나, 실제로는 일부 경로만 DB와 연결돼 있고 다수 생성 경로는 여전히 코드 수정 없이는 바꿀 수 없습니다. + +## 재현 조건 +- `rb8001` 코드에서 프롬프트 DB 연동 여부를 검색하면 `message_tracking_service.py` 중심 추적/버전관리 경로는 존재합니다. +- 반면 실제 프롬프트 문자열 검색 시 `naverworks_briefing.py`, `dm_skill.py`, `ir_deck.py`, `ir_analyzer.py`, `ir_deck_analyzer.py`, `coldmail_*`, `gemini_handler.py`, `intent_*` 등 다수 경로에 하드코딩 프롬프트가 남아 있습니다. + +## 확인된 사실 +- `prompt_management_repository.py`에는 `prompt_templates`, `prompt_versions`, `prompt_events` 관리 기능이 있습니다. +- `message_tracking_service.py`는 `/api/message` 흐름에서 활성 프롬프트 조회와 이벤트 적재를 수행합니다. +- 하지만 기존 문서 [260310_프롬프트DB_응답생성_폐루프_미연결.md](./260310_프롬프트DB_응답생성_폐루프_미연결.md) 가 이미 보여주듯, `/api/message`조차 활성 버전을 실제 응답 생성 전에 주입하지 않습니다. +- NAVER WORKS 브리핑 인사이트 프롬프트는 현재 `naverworks_briefing.py` 내부에 하드코딩돼 있습니다. +- 동일하게 다수 서비스/워크플로가 여전히 코드 내부 `prompt = """..."""`, `system_prompt = """..."""` 형태를 사용합니다. + +## 영향 범위 +- 운영자가 프롬프트를 DB에서 조정해도 실제 서비스 반영 범위가 불명확합니다. +- 특정 경로는 DB 반영, 특정 경로는 하드코딩 유지 상태라 프롬프트 SSOT가 흔들립니다. +- 이번 NAVER WORKS 브리핑처럼 프롬프트 문제를 발견해도 DB에서 즉시 교정할 수 없고 코드 수정이 필요합니다. +- `프롬프트 DB화 완료`라는 표현이 사용되면 실제 상태보다 과하게 해석될 위험이 있습니다. + +## 미확정 항목 +- 어떤 프롬프트를 1차 DB 이전 대상으로 볼지 우선순위가 아직 고정되지 않았습니다. +- 하드코딩 프롬프트를 DB로 옮길 때 task 분류 기준과 fallback 정책이 아직 정해지지 않았습니다. +- `message_chat` 외 task별 템플릿 키 체계와 적용 계층(노드 내부 / 서비스 계층 / 공통 LLM 계층)도 아직 미확정입니다. + +## 한 줄 결론 +- 현재 상태는 `프롬프트 DB 기반 운영 완성`이 아니라, `프롬프트 DB 골격은 있으나 실제 운영 프롬프트 다수가 하드코딩으로 남아 있는 부분 도입 상태`입니다. diff --git a/journey/troubleshooting/README.md b/journey/troubleshooting/README.md index 71b8b20..6157790 100644 --- a/journey/troubleshooting/README.md +++ b/journey/troubleshooting/README.md @@ -38,3 +38,5 @@ - 9시 브리핑 미전송의 직접 원인인 `skill-email` timeout과 실패 은닉 제거 기록 - [260311_naverworks_briefing_insight_preamble_leak.md](./260311_naverworks_briefing_insight_preamble_leak.md) - NAVER WORKS 브리핑 인사이트 앞에 `로빙입니다` 같은 서두가 노출된 문제 기록 +- [260311_prompt_db_partial_adoption_and_hardcoded_prompts.md](./260311_prompt_db_partial_adoption_and_hardcoded_prompts.md) + - 프롬프트 DB 골격은 있으나 실제 운영 프롬프트 다수가 하드코딩으로 남아 있는 상태 기록