많은 콘텐츠를 포함하는 프롬프트를 작성할 때, Claude는 어떤 텍스트 조각들이 서로 연관되어 있는지 또는 각 섹션이 무엇을 나타내는지 이해하는 데 어려움을 겪을 수 있습니다. XML 태그는 프롬프트에 구조와 명확성을 더하는 간단한 방법을 제공하며, 특히 대량의 데이터를 삽입할 때 유용합니다.
구조가 중요한 이유
20페이지에 달하는 판매 기록을 분석해야 하는 프롬프트를 생각해 보세요. 명확한 경계가 없으면 Claude는 여러분의 지시사항과 분석하고자 하는 실제 데이터를 구분하는 데 어려움을 겪을 수 있습니다.

위 예시는 불명확한 경계가 Claude가 여러분의 의도를 파악하기 어렵게 만드는 방식을 보여줍니다. 서로 다른 콘텐츠 섹션을 XML 태그로 감싸면 Claude가 프롬프트의 구조를 이해하는 데 도움이 되는 명확한 구분자를 만들 수 있습니다.
명확성을 위한 XML 태그 사용
XML 태그는 프롬프트의 서로 다른 부분을 분리하는 컨테이너 역할을 합니다. 포함된 콘텐츠를 설명하는 사용자 지정 태그 이름을 만들 수 있습니다:

이 경우, 판매 데이터를 <sales_records> 태그로 감싸면 해당 콘텐츠가 무엇을 나타내는지 즉시 명확해집니다. 태그 이름 자체가 데이터 유형에 대한 맥락을 제공합니다.
실제 예시
구조가 왜 중요한지 보여주는 더 극적인 예시가 있습니다. 왼쪽에는 코드와 문서가 섞여 있는 디버깅 요청이 있습니다:

명확한 경계가 없으면 Claude는 어느 부분이 버그가 있는 코드이고 어느 부분이 문서인지 추측해야 합니다. 오른쪽의 개선된 버전은 XML 태그를 사용하여 이러한 요소들을 분리합니다:
<my_code>
from datavortex import Pipeline, DataSource
def process_data(input_file, output_file):
pipeline = Pipeline()
source = DataSource.from_csv(input_file)
</my_code>
<docs>
# Creating a data source from data vortex
csv_source = DataSource.from_csv("data.csv")
</docs>이제 Claude는 디버깅이 필요한 부분과 참고 자료로 사용되는 부분을 쉽게 구분할 수 있습니다.
프롬프트에 구조 적용하기
삽입하는 콘텐츠가 방대하지 않더라도 XML 태그는 여전히 명확성을 향상시킬 수 있습니다. 예를 들어, 식단 계획을 생성할 때 선수 정보를 함께 그룹화할 수 있습니다:
<athlete_information>
- Height: {prompt_inputs["height"]}
- Weight: {prompt_inputs["weight"]}
- Goal: {prompt_inputs["goal"]}
- Dietary restrictions: {prompt_inputs["restrictions"]}
</athlete_information>이렇게 하면 이러한 값들이 지시사항의 일부가 아니라 선수에 대한 외부 입력을 나타낸다는 것이 명확해집니다.
주요 이점
- 대량의 맥락이나 데이터를 포함할 때 가장 유용합니다
- Claude가 서로 다른 콘텐츠 유형을 파악할 수 있도록 명확한 구분자 역할을 합니다
- 프롬프트의 서로 다른 부분 간의 관계를 Claude가 이해하는 능력을 향상시킵니다
- 프롬프트를 더 유지보수하기 쉽고 디버깅하기 쉽게 만듭니다
XML 태그는 지시사항, 데이터, 예시 및 기타 콘텐츠 유형이 혼합된 복잡한 프롬프트로 작업할 때 특히 유용합니다. 구조를 더 명확하게 만들수록 Claude는 여러분의 구체적인 요구사항을 더 잘 이해하고 응답할 수 있습니다.