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

위의 예시는 불명확한 경계가 Claude가 여러분의 의도를 파악하는 것을 얼마나 어렵게 만들 수 있는지 보여줍니다. 판매 기록을 XML 태그로 감싸면 프롬프트의 서로 다른 부분 사이에 명확한 구분을 만들 수 있습니다.
명확성을 위한 XML 태그 사용
XML 태그는 Claude가 프롬프트의 구조를 이해하는 데 도움이 되는 구분자 역할을 합니다. 포함된 콘텐츠를 설명하는 사용자 지정 태그 이름을 만들 수 있습니다:
<sales_records>
{sales_records}
</sales_records>태그 이름은 공식 XML 사양을 따를 필요가 없습니다. sales_records, data, records와 같이 설명적인 이름을 자유롭게 만들 수 있습니다. 일반적으로 더 구체적인 이름이 일반적인 이름보다 더 잘 작동합니다.
실용적인 예시
XML 태그가 왜 차이를 만드는지 보여주는 명확한 예시가 있습니다. "좋지 않은" 버전에서는 어떤 콘텐츠가 버그가 있는 코드이고 어떤 것이 문서인지 불명확합니다:

개선된 버전은 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에게 매우 명확해집니다.
XML 태그를 사용해야 할 때
XML 태그는 다음과 같은 경우에 가장 유용합니다:
- 대량의 컨텍스트나 데이터를 포함하는 경우
- 프롬프트에 여러 가지 서로 다른 유형의 콘텐츠가 포함된 경우
- 서로 다른 섹션 간의 경계를 명확하게 드러내고 싶은 경우
- 지시사항과 혼동될 수 있는 콘텐츠를 삽입하는 경우
간단한 프롬프트에서는 극적인 개선을 보지 못할 수도 있지만, XML 태그는 Claude가 여러분의 의도를 더 잘 이해하도록 돕는 구분자 역할을 하여 더 일관되고 정확한 응답으로 이어집니다.