프롬프트 최적화: 의도 파악 vs. 구조적 재작성
Prompt Optimization- intent assessment vs. better structured rewrites
핵심 요약
프롬프트의 의도를 자동으로 감지하여 최적화 전략을 다르게 적용하는 시스템을 구축했습니다.
- 의도 감지 시스템 — 프롬프트를 6가지 패턴으로 분류하여 최적화 전략을 자동 선택함
- 정밀 잠금 기술 — 코드, 창의적 작업, 연구 등 유형별 신호를 분석해 정확도를 높임
- 하이브리드 처리 — 복합적인 의도를 가진 프롬프트에 대응하는 최적화 로직을 구현함
- 성능 지표 — 무료 모델을 활용해 비용 없이 밀리초 단위로 분석을 수행함
문제점
기존의 프롬프트 최적화 방식은 모든 입력을 똑같이 취급했음. 창의적인 브레인스토밍 프롬프트나 코드 생성 요청이나 똑같이 구조를 뜯어고치니, 창의적인 작업은 제약이 너무 심해지고 기술적인 작업은 설명이 부족해지는 문제가 생김. 그래서 일일이 수동으로 태그를 달거나 복잡한 라우팅 로직을 짤 필요 없이, 내가 뭘 하려는 건지 프롬프트 자체를 분석해서 최적화 방식을 결정하는 시스템이 필요했음.
바뀐 점
프롬프트를 한 번 읽고 알아서 적절한 최적화 전략으로 보내주는 의도 파악 시스템을 만들었음. 프롬프트 옵티마이저(Prompt Optimizer)에 프롬프트를 넣으면 'Precision Locks'라고 부르는 6가지 특화된 탐지 패턴을 거치게 됨. 이게 창의적 작업인지, 기술 구현인지, 데이터 분석인지, 리서치인지, 일반 작업인지, 아니면 이미지/영상 관련인지 딱 잡아냄. 각 락(lock)은 서로 다른 신호를 찾음. 기술적 프롬프트면 코드 블록이나 파일 경로 같은 구조적 마커를, 창의적 작업이면 열린 질문 패턴을, 리서치면 출처 요구 사항 같은 걸 찾아내는 식임.
이 시스템은 패턴 기반이라 학습 데이터나 파인튜닝이 따로 필요 없음. 내 프롬프트 기록으로 테스트해보니 전체 정확도가 91.94% 나왔고, 이미지/영상 탐지는 96.4%까지 찍음. 이 정확도가 왜 중요하냐면, 잘못된 최적화 전략을 쓰면 오히려 프롬프트가 망가지기 때문임. 코드 생성 요청에 창의적인 유연성을 더해버리면 모호함이 생겨서 결과물이 박살 나거든. 탐지는 밀리초 단위로 끝나고 0.0에서 1.0 사이의 의미론적 신뢰도 점수를 반환함. 기본적으로 무료 모델을 써서 분석하니까 비용도 안 듦.
시스템이 의도를 파악하면 그에 맞는 최적화 목표를 적용함. 기술적 프롬프트는 구조적 정밀함과 명확한 제약을 걸고, 창의적 프롬프트는 가능성을 넓히고 제약을 풀어버림. 리서치 프롬프트는 출처 검증과 인용 형식을 요구함. 사용자가 따로 설정할 건 없음. 탐지 결과가 알아서 최적화 방식을 고르고, 응답 메타데이터를 보면 어떤 락이 왜 작동했는지 다 나옴.
작동 방식
탐지 시스템은 detect_prompt_context라는 함수를 실행함. 이걸 호출하면 시스템이 6개의 패턴 매처를 동시에 돌려서 프롬프트를 분석함.
# Example call from Claude Desktop or any MCP client
detect_prompt_context(
prompt_text="Write a Python function that validates email addresses using regex",
analysis_depth="standard"
)
각 Precision Lock은 신뢰도 점수를 반환함. 기술 락은 코드 펜스 마커, 파일 경로 패턴(/src/, .py, .js), 함수 시그니처, import 문, 그리고 "implement", "debug", "refactor" 같은 기술적 동사를 찾음. 창의 락은 열린 질문, 탐색적 언어("imagine", "brainstorm", "what if"), 제약 사항의 부재, 여러 대안을 요구하는지 등을 스캔함. 리서치 락은 인용 요구 사항, 출처 검증 요청, 학술적 용어, 팩트 체크 언어를 잡아냄.
시스템은 6개 락의 점수를 합산해서 가장 높은 점수가 나온 쪽을 선택함. 위 예시의 경우, "Python function", "regex", "validates" 같은 단어들 때문에 기술 락 점수가 0.92 정도로 높게 나옴. 그러면 기술 최적화 전략이 작동해서 입력/출력 명세, 에러 처리 요구 사항, 테스트 케이스 기대치 같은 걸 최적화된 버전에 추가함.
신뢰도 임계값은 0.75로 잡았음. 그보다 낮으면 그냥 "general"로 간주하고 최소한의 최적화만 함. 전략적인 변화 없이 가독성만 높이는 정도임. 이렇게 해야 잘못된 최적화가 적용되는 걸 막을 수 있음. 탐지 결과에는 context_type(선택된 락), confidence_score(0.0-1.0), detected_patterns(어떤 마커가 걸렸는지), alternative_contexts(0.5 이상 점수를 받은 다른 락들, 하이브리드 프롬프트에 유용함)가 포함됨.
이미지/영상 락은 좀 다르게 작동함. 시각적 콘텐츠 요청은 파일 형식(.jpg, .mp4), 시각적 용어("render", "frame", "resolution"), 미디어 특화 제약(종횡비, 재생 시간, 색 공간) 같은 뚜렷한 구조적 마커가 있거든. 이 락은 정확도가 96.4%나 나오는데, 창의적이나 리서치 프롬프트에 비해 시각적 콘텐츠를 요청하는 방식이 훨씬 제한적이라 패턴을 잡기가 쉽기 때문임.

