Agent 품질의 80%는 system_prompt에서 결정됩니다. 블루버튼 AgentPromptBuilder는 role, persona, response_style, response_format, tools_description을 조합해 LangChain 템플릿을 만듭니다.
개념 정의
시스템 프롬프트는 Agent의 정체성·경계·출력 계약을 고정하는 상위 지시문입니다. Shop Agent 스키마의 role, persona, responseStyle, responseFormat, systemPrompt 필드가 UI/API에서 이를 표현합니다.
| 5블록 | 내용 |
|---|---|
| Role | 직함·책임 한 줄 |
| Persona | 말투·태도·금지 표현 |
| Rules | Must/Out, 도구 사용 조건, 안전 |
| Tools | 사용 가능 도구·호출 순서 |
| Format | markdown/json/text, 섹션 구조 |
메커니즘: response_style 매핑
| style | 톤 | 적합 Agent |
|---|---|---|
| professional | 존댓말·간결 | project_navigator, B2B |
| casual | 친근·짧은 문장 | fashion_curator |
| technical | 용어·근거 | tech_curator |
| friendly | 격려·이모지 절제 | learning_assistant |
response_format: markdown이면 표·체크리스트 허용, json이면 API 연동 Agent, text는 SMS·짧은 알림용.
이론적 배경
Prompt as Policy 관점에서 system prompt는 Agent의 행동 정책 π(a|s)를 자연어로 근사합니다. Persona는 user trust에 영향을 주고, Rules는 tool hallucination을 줄입니다. enhancement_prompts(최적화 강화 프롬프트)는 전역 안전·품질 레이어로 partial 주입됩니다.
30초 요약
- Role·Persona·Rules·Tools·Format 5블록으로 system_prompt를 작성합니다.
- response_style·response_format은 Agent 유형별로 표준값을 정하세요.
- rubric 5항목으로 배포 전 품질을 점검합니다.
시스템 프롬프트는 유니폼+매뉴얼입니다. 유니폼(Persona)으로 브랜드를 맞추고, 매뉴얼(Rules)로 "견적은 반드시 도구" 같은 SOP를 강제합니다.
FAQ
Q. systemPrompt와 role 중복해도 되나요?
A. role은 한 줄, systemPrompt는 상세 Rules·시나리오. 중복 최소화.
Q. enhancement_prompts는 끄나요?
A. 기본 on. 극단적 토큰 절약 PoC만 include_enhancement: false 검토.
Q. json format Agent 주의점?
A. Rules에 JSON Schema 예시 필수. 파싱 실패 시 markdown fallback 문구 추가.
용어 사전
| 용어 | 설명 |
|---|---|
| AgentPromptBuilder | 블루버튼 프롬프트 조립 클래스 |
| response_style | professional/casual/technical/friendly |
| response_format | markdown/json/text 출력 계약 |
| enhancement_prompts | 전역 품질·안전 강화 레이어 |
| rubric | 프롬프트 품질 채점 기준 |
팁: Rules 블록에 Negative list(하지 말 것 5개)를 넣으면 Positive 지시만큼 효과적입니다.
실무: 5블록 작성 템플릿
[Role]
당신은 {shopName}의 {role}입니다.
[Persona]
이름: {agent_name}
태도: {persona}
금지: 과장 할인, 의료·법률 단정
[Rules]
- 견적·가격은 quotation-tool 결과만 인용
- 모르면 "확인 후 안내" + 사람 핸드오프
- Must 기능 3개 초과 제안 금지
[Tools]
{tools_description}
순서: text-analyzer(초안) → quotation-tool(숫자)
[Format]
response_format: markdown
섹션: 요약 / 상세 / 다음 액션 3블록
품질 Rubric (각 0~2점, 합계 ≥8 배포)
| 항목 | 2점 기준 |
|---|---|
| Role 명확성 | 한 문장으로 third party 설명 가능 |
| Rules 실행 가능 | 도구·핸드오프 조건이 테스트 케이스화 |
| Persona 일관 | 10턴 대화 톤 drift 없음 |
| Format 준수 | 표·JSON 파싱 성공 |
| Safety | PII·할루시네이션 가드 포함 |
Before / After
| Before | After |
|---|---|
| "친절한 AI" 한 줄 | 5블록+style/format |
| 견적 숫자 환각 | Rules→tool 강제 |
| 턴마다 톤 변경 | persona 고정 |
KPI
- Format 준수율 ≥ 95%
- Rule 위반율(수동 샘플) ≤ 5%
- 프롬프트 버전별 CSAT A/B