XML 태그로 구조화하기

강의 184분
Sign in to save your progressYou can keep reading without an account, but completed lessons won't be saved.
Sign in

많은 콘텐츠를 포함하는 프롬프트를 작성할 때, Claude는 어떤 텍스트 조각들이 서로 연관되어 있는지 또는 서로 다른 섹션이 무엇을 나타내는지 이해하는 데 어려움을 겪을 수 있습니다. XML 태그는 특히 대량의 데이터를 보간할 때 프롬프트에 구조와 명확성을 더하는 간단한 방법을 제공합니다.

구조가 중요한 이유

20페이지 분량의 판매 기록을 분석해야 하는 프롬프트를 생각해 보세요. 명확한 경계가 없으면 Claude는 여러분의 지시사항과 분석하고자 하는 실제 데이터를 구분하는 데 어려움을 겪을 수 있습니다.

위의 예시는 불명확한 경계가 Claude가 여러분의 의도를 파악하는 것을 얼마나 어렵게 만들 수 있는지 보여줍니다. 판매 기록을 <sales_records></sales_records> 같은 XML 태그로 감싸면, Claude가 프롬프트의 구조를 이해하는 데 도움이 되는 명확한 구분자를 만들 수 있습니다.

실용적인 예시: 코드와 문서

XML 태그가 왜 중요한지 보여주는 더 극적인 예시가 있습니다. Claude에게 제공된 문서를 사용해 코드를 디버깅하도록 요청할 때, 모든 것을 섞어버리면 혼란이 생깁니다:

"좋지 않은" 버전은 무엇이 코드이고 무엇이 문서인지 거의 구분할 수 없게 만듭니다. "더 나은" 버전은 <my_code><docs> 태그를 사용해 명확한 경계를 만듭니다.

사용자 지정 태그 이름

공식 XML 태그를 사용할 필요는 없습니다. 여러분의 콘텐츠에 맞는 설명적인 이름을 만드세요:

  • <sales_records><data>보다 더 좋습니다
  • <athlete_information>은 사용자 세부 정보를 명확하게 식별합니다
  • <my_code><docs>는 서로 다른 유형의 콘텐츠를 구분합니다

태그 이름이 더 구체적이고 설명적일수록, Claude는 각 섹션의 목적을 더 잘 이해할 수 있습니다.

XML 태그를 사용해야 할 때

XML 태그는 다음과 같은 경우에 가장 유용합니다:

  • 대량의 컨텍스트나 데이터를 포함할 때
  • 서로 다른 유형의 콘텐츠(코드, 문서, 데이터)를 혼합할 때
  • 콘텐츠 경계를 매우 명확하게 하고 싶을 때
  • 여러 변수를 보간하는 복잡한 프롬프트로 작업할 때

짧은 콘텐츠에서도 XML 태그는 프롬프트 구조를 Claude에게 더 명확하게 만들어주는 구분자 역할을 할 수 있습니다.

실제 적용

실제로는 다음과 같이 프롬프트를 구조화할 수 있습니다:

<athlete_information>
- Height: 6'2"
- Weight: 180 lbs
- Goal: Build muscle
- Dietary restrictions: Vegetarian
</athlete_information>

Generate a meal plan based on the athlete information above.

이렇게 하면 키, 체중, 목표, 제한사항이 모두 식단 계획을 생성할 때 함께 고려되어야 하는 관련 운동선수 데이터라는 것이 매우 명확해집니다.

간단한 프롬프트에서는 극적인 개선을 보지 못할 수도 있지만, 프롬프트가 더 복잡해지고 더 많은 양의 다양한 콘텐츠를 포함하게 될수록 XML 태그는 점점 더 가치 있어집니다.