XML 태그로 프롬프트 구조화하기
프롬프트가 지시, 문서, 예시, 질문을 섞어 놓으면 모델이 이들을 뭉뚱그릴 수 있습니다. XML 스타일 태그는 각 부분에 레이블을 붙이는 깔끔한 방법이며 — Claude는 여기에 특히 잘 반응합니다.
핵심 개념
각 섹션을 이름 붙인 태그로 감싸서 무엇이 무엇인지 명확하게 만드세요:
<instructions>
Summarize the document for a busy executive. Use only the document; if a fact
isn't there, say so.
</instructions>
<document>
{paste the long document here}
</document>
<format>
3 bullet points, then a one-line "decision needed".
</format>
태그는 당신이 만들어내는 텍스트일 뿐입니다 — <document>, <example>, <context>, <rules> — 하지만 모델에게 명확한 경계를 제공합니다.
왜 도움이 되는가
- 데이터를 지시와 분리합니다 — 모델이 붙여넣은 문서 안에 끼어든 텍스트를 따를 가능성이 줄어듭니다(프롬프트 인젝션에 대한 약한 방어).
- "내 프롬프트의 일부를 무시했어"를 줄입니다. 각 부분이 명확하게 구분됩니다.
- 출력을 파싱하기 쉽게 만듭니다 — Claude에게 답변을
<answer>태그에 넣어달라고 요청해 안정적으로 추출할 수 있습니다. - 퓨샷과 잘 조합됩니다 — 각 예시를
<example>로 감싸세요.
태그 출력 요청하기
Put your reasoning in <thinking> tags and your final answer in <answer> tags.
그러면 코드가 <answer> 내용만 가져올 수 있습니다. 기계 판독이 가능한 결과가 필요할 때 구조화된 출력과 잘 어울립니다.
팁
- 일관성을 유지하세요 — 모든 태그를 열고 닫으세요. 같은 이름을 재사용하세요.
- 태그 이름을 의미 있게 지으세요 (
<x>가 아니라<contract>). - 사소한 프롬프트에 태그를 남발하지 마세요 — 정말로 여러 개의 구별되는 부분이 있을 때 사용하세요.