f

Prompt enginerring

ํ”„๋กฌํ”„ํŠธ ์—”์ง€๋‹ˆ์–ด๋ง์€ ์ž‘์„ฑํ•œ ํ”„๋กฌํ”„ํŠธ๋ฅผ ๊ฐ€์ ธ์™€ ๋” ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๊ณ  ๊ณ ํ’ˆ์งˆ์˜ ์ถœ๋ ฅ์„ ์–ป๊ธฐ ์œ„ํ•ด ๊ฐœ์„ ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ํ”„๋กœ์„ธ์Šค๋Š” ๊ธฐ๋ณธ ํ”„๋กฌํ”„ํŠธ๋กœ ์‹œ์ž‘ํ•˜์—ฌ ์„ฑ๋Šฅ์„ ํ‰๊ฐ€ํ•œ ๋‹ค์Œ ์—”์ง€๋‹ˆ์–ด๋ง ๊ธฐ๋ฒ•์„ ์ฒด๊ณ„์ ์œผ๋กœ ์ ์šฉํ•˜์—ฌ ๊ฐœ์„ ํ•˜๋Š” ๋ฐ˜๋ณต์ ์ธ ์ •์ œ ๊ณผ์ •์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.

The Iterative Improvement Process

์ด ์ ‘๊ทผ ๋ฐฉ์‹์€ ์›ํ•˜๋Š” ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณตํ•  ์ˆ˜ ์žˆ๋Š” ๋ช…ํ™•ํ•œ ์ฃผ๊ธฐ๋ฅผ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค:

  1. ๋ชฉํ‘œ ์„ค์ • - ํ”„๋กฌํ”„ํŠธ์—์„œ ๋‹ฌ์„ฑํ•˜๊ณ ์ž ํ•˜๋Š” ๋ชฉํ‘œ ์ •์˜

  2. ์ดˆ๊ธฐ ํ”„๋กฌํ”„ํŠธ ์ž‘์„ฑ - ๊ธฐ๋ณธ ์ฒซ ์‹œ๋„ ๋งŒ๋“ค๊ธฐ

  3. ํ”„๋กฌํ”„ํŠธ ํ‰๊ฐ€ - ๊ธฐ์ค€์— ๋งž๊ฒŒ ํ…Œ์ŠคํŠธํ•ฉ

  4. ์‹ ์†ํ•œ ์—”์ง€๋‹ˆ์–ด๋ง ๊ธฐ๋ฒ• ์ ์šฉ - ์„ฑ๋Šฅ ํ–ฅ์ƒ์„ ์œ„ํ•ด ํŠน์ • ๋ฐฉ๋ฒ• ์‚ฌ์šฉ

  5. ์žฌํ‰๊ฐ€ - ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์‹ค์ œ๋กœ ๊ฒฐ๊ณผ๋ฅผ ๊ฐœ์„ ํ–ˆ๋Š”์ง€ ํ™•์ธ

์„ฑ๋Šฅ์— ๋งŒ์กฑํ•  ๋•Œ๊นŒ์ง€ ๋งˆ์ง€๋ง‰ ๋‘ ๋‹จ๊ณ„(4-5)๋ฅผ ๋ฐ˜๋ณตํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ๋ฐ˜๋ณต๋งˆ๋‹ค ํ‰๊ฐ€ ์ ์ˆ˜๊ฐ€ ๋ˆˆ์— ๋„๊ฒŒ ํ–ฅ์ƒ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

Setting Up Your Evaluation Pipeline

์ด ๊ณผ์ •์„ ์‹œ์—ฐํ•˜๊ธฐ ์œ„ํ•ด ์šด๋™์„ ์ˆ˜๋ฅผ ์œ„ํ•œ ์ผ์ผ ์‹๋‹จ์„ ์ƒ์„ฑํ•˜๋Š” ํ”„๋กฌํ”„ํŠธ๋ฅผ ๋งŒ๋“œ๋Š” ์‹ค์šฉ์ ์ธ ์˜ˆ๋ฅผ ๋“ค์–ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ํ”„๋กฌํ”„ํŠธ๋Š” ์šด๋™์„ ์ˆ˜์˜ ํ‚ค, ์ฒด์ค‘, ๋ชฉํ‘œ ๋ฐ ์‹์ด ์ œํ•œ์„ ๊ณ ๋ คํ•œ ๋‹ค์Œ ์ข…ํ•ฉ์ ์ธ ์‹๋‹จ์„ ์ž‘์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ํ‰๊ฐ€ ์„ค์ •์€ ๋ฐ์ดํ„ฐ์…‹ ์ƒ์„ฑ ๋ฐ ๋ชจ๋ธ ๋“ฑ๊ธ‰์„ ์ฒ˜๋ฆฌํ•˜๋Š” PromptEvaluator ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ํ‰๊ฐ€์ž ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•  ๋•Œ max_concurrent_tasks ๋งค๊ฐœ๋ณ€์ˆ˜์™€์˜ ๋™์‹œ์„ฑ์„ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

evaluator = PromptEvaluator(max_concurrent_tasks=5)

์†๋„ ์ œํ•œ ์˜ค๋ฅ˜๋ฅผ ๋ฐฉ์ง€ํ•˜๋ ค๋ฉด ๋‚ฎ์€ ๋™์‹œ์„ฑ ๊ฐ’(like 3)๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜์„ธ์š”. API ํ• ๋‹น๋Ÿ‰์ด ๋” ๋น ๋ฅธ ์ฒ˜๋ฆฌ๋ฅผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•œ๋‹ค๋ฉด ์ด ๊ฐ’์„ ๋Š˜๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Generating Test Data

ํ‰๊ฐ€ ์‹œ์Šคํ…œ์€ ํ”„๋กฌํ”„ํŠธ ์š”๊ตฌ ์‚ฌํ•ญ์— ๋”ฐ๋ผ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋ฅผ ์ž๋™์œผ๋กœ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กฌํ”„ํŠธ์— ํ•„์š”ํ•œ ์ž…๋ ฅ์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค:

dataset = evaluator.generate_dataset(
    task_description="Write a compact, concise 1 day meal plan for a single athlete",
    prompt_inputs_spec={
        "height": "Athlete's height in cm",
        "weight": "Athlete's weight in kg", 
        "goal": "Goal of the athlete",
        "restrictions": "Dietary restrictions of the athlete"
    },
    output_file="dataset.json",
    num_cases=3
)

๊ฐœ๋ฐœ ์ค‘ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์ˆ˜๋ฅผ ๋‚ฎ๊ฒŒ ์œ ์ง€(2~3๊ฐœ)ํ•˜์—ฌ ๋ฐ˜๋ณต ์ฃผ๊ธฐ๋ฅผ ๋‹จ์ถ•ํ•˜์„ธ์š”. ์ตœ์ข… ๊ฒ€์ฆ์„ ์œ„ํ•ด ์ด๋ฅผ ๋Š˜๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Writing Your Initial Prompt

๊ฐ„๋‹จํ•˜๊ณ  ์ˆœ์ง„ํ•œ ํ”„๋กฌํ”„ํŠธ๋กœ ์‹œ์ž‘ํ•˜์—ฌ ๊ธฐ์ค€์„ ์„ ์„ค์ •ํ•˜์„ธ์š”. ์˜๋„์ ์œผ๋กœ ๊ธฐ๋ณธ์ ์ธ ์ฒซ ๋ฒˆ์งธ ์‹œ๋„์˜ ์˜ˆ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:

def run_prompt(prompt_inputs):
    prompt = f"""
What should this person eat?

- Height: {prompt_inputs["height"]}
- Weight: {prompt_inputs["weight"]}
- Goal: {prompt_inputs["goal"]}
- Dietary restrictions: {prompt_inputs["restrictions"]}
"""
    
    messages = []
    add_user_message(messages, prompt)
    return chat(messages)

์ด ๊ธฐ๋ณธ ํ”„๋กฌํ”„ํŠธ๋Š” ์ข‹์ง€ ์•Š์€ ๊ฒฐ๊ณผ๋ฅผ ์ดˆ๋ž˜ํ•  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์ง€๋งŒ, ๊ฐœ์„ ์„ ์ธก์ •ํ•  ์ˆ˜ ์žˆ๋Š” ์ถœ๋ฐœ์ ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

Adding Evaluation Criteria

ํ‰๊ฐ€๋ฅผ ์‹คํ–‰ํ•  ๋•Œ ์ฑ„์  ๋ชจ๋ธ์ด ๊ณ ๋ คํ•ด์•ผ ํ•  ์ถ”๊ฐ€ ๊ธฐ์ค€์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

results = evaluator.run_evaluation(
    run_prompt_function=run_prompt,
    dataset_file="dataset.json",
    extra_criteria="""
The output should include:
- Daily caloric total
- Macronutrient breakdown  
- Meals with exact foods, portions, and timing
"""
)

์ด๋Š” ์‚ฌ์šฉ ์‚ฌ๋ก€์— ์ค‘์š”ํ•œ ํŠน์ • ์š”๊ตฌ ์‚ฌํ•ญ์— ๋Œ€ํ•ด ํ”„๋กฌํ”„ํŠธ๋ฅผ ํ‰๊ฐ€ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

Analyzing Results

ํ‰๊ฐ€๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ์ˆซ์ž ์ ์ˆ˜์™€ ์ž์„ธํ•œ HTML ๋ณด๊ณ ์„œ๋ฅผ ๋ชจ๋‘ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ณด๊ณ ์„œ๋Š” ๊ฐ ์ ์ˆ˜์— ๋Œ€ํ•œ ๋ชจ๋ธ์˜ ์ถ”๋ก ์„ ํฌํ•จํ•˜์—ฌ ๊ฐ ํ…Œ์ŠคํŠธ ์‚ฌ๋ก€๊ฐ€ ์ •ํ™•ํžˆ ์–ด๋–ป๊ฒŒ ์ˆ˜ํ–‰๋˜์—ˆ๋Š”์ง€ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

์ดˆ๊ธฐ ์ ์ˆ˜๊ฐ€ ๋‚ฎ๋‹ค๊ณ  ๋‚™๋‹ดํ•˜์ง€ ๋งˆ์„ธ์š”. ์ฒซ ๋ฒˆ์งธ ์‹œ๋„์—์„œ๋Š” 10์  ๋งŒ์ ์— 2.3์ ์ด ์ผ๋ฐ˜์ ์ž…๋‹ˆ๋‹ค. ์—”์ง€๋‹ˆ์–ด๋ง ๊ธฐ๋ฒ•์„ ์ ์šฉํ•˜๋ฉด ์ผ๊ด€๋œ ๊ฐœ์„ ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ž์„ธํ•œ ํ‰๊ฐ€ ๋ณด๊ณ ์„œ๋Š” ํ”„๋กฌํ”„ํŠธ๊ฐ€ ์‹คํŒจํ•˜๊ณ  ์žˆ๋Š” ๋ถ€๋ถ„๊ณผ ๊ฐœ์„ ์ด ํ•„์š”ํ•œ ๋ถ€๋ถ„์„ ์ •ํ™•ํžˆ ์ดํ•ดํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค. ์ด ํ”ผ๋“œ๋ฐฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค์Œ ๋ฐ˜๋ณต์„ ์•ˆ๋‚ดํ•˜์„ธ์š”.

Nest Steps

๊ธฐ์ค€์„ ์ด ์„ค์ •๋˜๋ฉด ํŠน์ • ํ”„๋กฌํ”„ํŠธ ์—”์ง€๋‹ˆ์–ด๋ง ๊ธฐ๋ฒ•์„ ์ ์šฉํ•  ์ค€๋น„๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. ๊ฐ ๊ธฐ๋ฒ•์„ ๋ฐฐ์šธ ๋•Œ๋งˆ๋‹ค ํ‰๊ฐ€ ์ ์ˆ˜๊ฐ€ ๋ˆˆ์— ๋„๊ฒŒ ํ–ฅ์ƒ๋˜์–ด ๊ธฐ๋ณธ ํ”„๋กฌํ”„ํŠธ๊ฐ€ ์ ์ฐจ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๊ณ  ๊ณ ์„ฑ๋Šฅ์˜ ๋„๊ตฌ๋กœ ์ „ํ™˜๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์‹ ์†ํ•œ ์—”์ง€๋‹ˆ์–ด๋ง์€ ๋ฐ˜๋ณต์ ์ธ ํ”„๋กœ์„ธ์Šค๋ผ๋Š” ์ ์„ ๊ธฐ์–ตํ•˜์„ธ์š”. ํ•ต์‹ฌ์€ ํ•œ ๋ฒˆ์— ํ•˜๋‚˜์”ฉ ๋ณ€๊ฒฝํ•˜๊ณ  ์˜ํ–ฅ์„ ํ‰๊ฐ€ํ•˜๋ฉฐ ํšจ๊ณผ๊ฐ€ ์žˆ๋Š” ๊ธฐ์ˆ ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตฌ์ถ•ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ฒด๊ณ„์ ์ธ ์ ‘๊ทผ ๋ฐฉ์‹์„ ํ†ตํ•ด ํŠน์ • ์‚ฌ์šฉ ์‚ฌ๋ก€์— ๊ฐ€์žฅ ํฐ ๊ฐ€์น˜๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ธฐ์ˆ ์ด ๋ฌด์—‡์ธ์ง€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Being clear and direct

ํ”„๋กฌํ”„ํŠธ์˜ ์ฒซ ๋ฒˆ์งธ ์ค„์€ ์ „์ฒด ์š”์ฒญ์—์„œ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ๋‹ค์Œ์— ๋‚˜์˜ค๋Š” ๋ชจ๋“  ๊ฒƒ์˜ ๋ฌด๋Œ€๋ฅผ ์„ค์ •ํ•˜๊ณ  ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์„ค์ •ํ•˜๋ฉด ๊ฒฐ๊ณผ๊ฐ€ ๊ทน์ ์œผ๋กœ ํ–ฅ์ƒ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Being Clear and Direct

์ด ์ค‘์š”ํ•œ ์ฒซ ๋ฒˆ์งธ ์ค„์„ ๋งŒ๋“ค ๋•Œ๋Š” ๋ช…ํ™•์„ฑ(clarity)๊ณผ ์ง์ ‘์„ฑ(directness)์ด๋ผ๋Š” ๋‘ ๊ฐ€์ง€ ํ•ต์‹ฌ ์›์น™์— ์ง‘์ค‘ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ํด๋กœ๋“œ๊ฐ€ ์›ํ•˜๋Š” ์ž‘์—…์— ๋Œ€ํ•ด ๋ชจํ˜ธํ•จ์˜ ์—ฌ์ง€๋ฅผ ๋‚จ๊ธฐ์ง€ ์•Š๋Š” ๊ฐ„๋‹จํ•œ ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

Clear Communication

๋ช…ํ™•ํ•˜๋‹ค๋Š” ๊ฒƒ์˜ ์˜๋ฏธ

  • ๋ˆ„๊ตฌ๋‚˜ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ„๋‹จํ•œ ์–ธ์–ด ์‚ฌ์šฉํ•˜๊ธฐ

  • ๋ค๋ถˆ ์ฃผ์œ„๋ฅผ ๋Œ์ง€ ์•Š๊ณ  ์›ํ•˜๋Š” ๊ฒƒ์„ ์ •ํ™•ํžˆ ๋งํ•˜

  • ํด๋กœ๋“œ์˜ ๊ณผ์ œ์— ๋Œ€ํ•œ ๊ฐ„๋‹จํ•œ ์„ค๋ช…์œผ๋กœ ๋ฆฌ๋“œํ•˜๊ธฐ

๋ชจํ˜ธํ•œ ๋ง ๋Œ€์‹  ์ง์„ค์ ์ธ ๋ง ์‚ฌ์šฉํ•˜๊ธฐ

  • AS-SI: "์‚ฌ๋žŒ๋“ค์ด ์ง€๋ถ•์— ํƒœ์–‘์—ด์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๋“ค์— ๋Œ€ํ•ด ์•Œ์•„์•ผ ํ•ด์š” - ํƒœ์–‘์—ด ํŒจ๋„์ด๋ผ๊ณ  ๋ถ€๋ฅด๋Š” ๊ฒƒ๋“ค - ์— ๋Œ€ํ•ด ์•Œ๊ณ  ์‹ถ์–ด์š”"

  • TO-BE: "ํƒœ์–‘์—ด ํŒจ๋„์ด ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€์— ๋Œ€ํ•ด ์„ธ ๋‹จ๋ฝ์„ ์จ๋ณด์„ธ์š”."

Direct Instructions

"์ง์ ‘์ "์ด๋ผ๋Š” ๊ฒƒ์€ ์š”์ฒญ์„ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐฉ์‹์— ์ค‘์ 

  • ์งˆ๋ฌธ์ด ์•„๋‹Œ ์ง€์นจ ์‚ฌ์šฉ

  • "Write", "Create" ๋˜๋Š” "Generate"๊ณผ ๊ฐ™์€ ์ง์ ‘ ์ž‘์šฉ ๋™์‚ฌ๋กœ ์‹œ์ž‘ํ•˜๊ธฐ

์ง€์นจ์„ ์‚ฌ์šฉํ•˜๊ธฐ

  • AS-IS: "์žฌ์ƒ ์—๋„ˆ์ง€์™€ ์ง€์—ด ์—๋„ˆ์ง€์— ๋Œ€ํ•ด ์ฝ๊ณ  ์žˆ์—ˆ์–ด์š”. ์–ด๋–ค ๋‚˜๋ผ์—์„œ ์ง€์—ด ์—๋„ˆ์ง€๋ฅผ ์‚ฌ์šฉํ•˜๋‚˜์š”?"

  • TO-BE: "์ง€์—ด ์—๋„ˆ์ง€๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์„ธ ๋‚˜๋ผ๋ฅผ ์‹๋ณ„ํ•˜์„ธ์š”. ๊ฐ๊ฐ์— ๋Œ€ํ•œ ๋ฐœ์ „ ํ†ต๊ณ„๋ฅผ ํฌํ•จํ•˜์„ธ์š”."

Putting It Into Practice

์ด ๊ธฐ์ˆ ์ด ์‹ค์ œ๋กœ ์ž‘๋™ํ•˜๋Š”์ง€ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. "์ด ์‚ฌ๋žŒ์€ ๋ฌด์—‡์„ ๋จน์–ด์•ผ ํ•˜๋‚˜์š”?"๋ผ๊ณ  ๋ฌป๋Š” ์•ฝํ•œ ํ”„๋กฌํ”„ํŠธ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜์—ฌ ๋ช…ํ™•ํ•˜๊ณ  ์ง์ ‘์ ์ธ ์ ‘๊ทผ ๋ฐฉ์‹์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐœ์„ ๋œ ๋ฒ„์ „์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:

์šด๋™์„ ์ˆ˜์˜ ์‹๋‹จ ์ œํ•œ์„ ์ถฉ์กฑํ•˜๋Š” ํ•˜๋ฃจ ์‹๋‹จ ๊ณ„ํš์„ ์ˆ˜๋ฆฝํ•˜์„ธ์š”.

์ด ๊ฐœ์ •ํŒ์€ ์ฆ‰์‹œ ํด๋กœ๋“œ์—๊ฒŒ ์•Œ๋ฆฝ๋‹ˆ๋‹ค:

  • ์–ด๋–ค ์กฐ์น˜๋ฅผ ์ทจํ•ด์•ผ ํ•˜๋Š”์ง€ (์ƒ์„ฑ)

  • ๋ฌด์—‡์„ ๋งŒ๋“ค ๊ฒƒ์ธ๊ฐ€ (์‹์‚ฌ ๊ณ„ํš)

  • ์ฃผ์š” ์ œ์•ฝ ์‚ฌํ•ญ (ํ•˜๋ฃจ ๋™์•ˆ ์šด๋™์„ ์ˆ˜๊ฐ€ ์‹์ด ์ œํ•œ์„ ์ถฉ์กฑํ•˜๋Š” ๊ฒฝ์šฐ)

Results Matter

์ด๋Ÿฌํ•œ ๊ฐ„๋‹จํ•œ ๋ณ€ํ™”๋Š” ์„ฑ๊ณผ์— ํฐ ์˜ํ–ฅ์„ ๋ฏธ์น  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์˜ˆ์‹œ์—์„œ ํ‰๊ฐ€ ์ ์ˆ˜๋Š” 2.32์ ์—์„œ 3.92์ ์œผ๋กœ ์ƒ์Šนํ–ˆ๋Š”๋ฐ, ์ด๋Š” ๋‹จ์ˆœํžˆ ์˜คํ”„๋‹ ๋ผ์ธ์„ ์žฌ๊ตฌ์„ฑํ•œ ๊ฒƒ๋ณด๋‹ค ํฌ๊ฒŒ ๊ฐœ์„ ๋œ ์ˆ˜์น˜์ž…๋‹ˆ๋‹ค.

ํ•ต์‹ฌ ์š”์ ์€ ํด๋กœ๋“œ๊ฐ€ ์›ํ•˜๋Š” ๊ฒƒ์„ ์ถ”์ธกํ•ด์•ผ ํ•˜๋Š” ์‚ฌ๋žŒ๋ณด๋‹ค๋Š” ๋ช…ํ™•ํ•œ ๋ฐฉํ–ฅ์ด ํ•„์š”ํ•œ ์œ ๋Šฅํ•œ ์กฐ์ˆ˜์ฒ˜๋Ÿผ ๋Œ€ํ•  ๋•Œ ๊ฐ€์žฅ ์ž˜ ๋ฐ˜์‘ ํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ง์ ‘ ํ–‰๋™ ๋™์‚ฌ๋กœ ๊ฐ•ํ•˜๊ฒŒ ์‹œ์ž‘ํ•˜๊ณ  ๊ณผ์ œ์— ๋Œ€ํ•ด ๊ตฌ์ฒด์ ์œผ๋กœ ์„ค๋ช… ํ•˜๋ฉด ๋ฐ”๋กœ ๋” ๋‚˜์€ ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Structure with XML tags

ํด๋กœ๋“œ์™€ ํ•จ๊ป˜ ์ž‘์—…ํ•  ๋•Œ ๊ฐ€์žฅ ํšจ๊ณผ์ ์ธ ๊ฒฐ๊ณผ ๊ฐœ์„  ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜๋Š” ์›ํ•˜๋Š” ๊ฒƒ์— ๋Œ€ํ•ด ๊ตฌ์ฒด์ ์œผ๋กœ ์„ค๋ช…ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ชจ๋“  ๊ฒƒ์„ ๋ชจ๋ธ์˜ ํ•ด์„์— ๋งก๊ธฐ๋Š” ๋Œ€์‹  ํด๋กœ๋“œ๊ฐ€ ์›ํ•˜๋Š” ๊ฒฐ๊ณผ๋ฌผ์„ ์–ป์„ ์ˆ˜ ์žˆ๋„๋ก ๋ช…ํ™•ํ•œ ์ง€์นจ์ด๋‚˜ ๋‹จ๊ณ„๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋ ‡๊ฒŒ ์ƒ๊ฐํ•ด ๋ณด์„ธ์š”: ํด๋กœ๋“œ์—๊ฒŒ "์ˆจ๊ฒจ์ง„ ์žฌ๋Šฅ์„ ๋ฐœ๊ฒฌํ•œ ์บ๋ฆญํ„ฐ์— ๋Œ€ํ•œ ์งง์€ ์ด์•ผ๊ธฐ๋ฅผ ์จ๋‹ฌ๋ผ"๊ณ  ์š”์ฒญํ•˜๋ฉด ํด๋กœ๋“œ๋Š” ๋ฌด์ˆ˜ํžˆ ๋งŽ์€ ๋ฐฉํ–ฅ์œผ๋กœ ๋‚˜์•„๊ฐˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด์•ผ๊ธฐ๋Š” 200๋‹จ์–ด ๋˜๋Š” 2,000๋‹จ์–ด๊ฐ€ ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•œ ๋ช…์˜ ์บ๋ฆญํ„ฐ๋‚˜ ๋‹ค์„ฏ ๋ช…์˜ ์บ๋ฆญํ„ฐ๊ฐ€ ๋“ฑ์žฅํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์–ด๋–ค ์œ ํ˜•์˜ ์žฌ๋Šฅ ๋ฐœ๊ฒฌ ์‹œ๋‚˜๋ฆฌ์˜ค์—๋„ ์ดˆ์ ์„ ๋งž์ถœ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ตฌ์ฒด์ ์ธ ์ง€์นจ์„ ์ถ”๊ฐ€ํ•˜๋ฉด ํด๋กœ๋“œ์—๊ฒŒ ๋” ๋ช…ํ™•ํ•œ ๋ชฉํ‘œ๋ฅผ ์ œ์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์ถœ๋ ฅ์˜ ์ผ๊ด€์„ฑ๊ณผ ํ’ˆ์งˆ์ด ํฌ๊ฒŒ ํ–ฅ์ƒ๋ฉ๋‹ˆ๋‹ค.

Two Types of Guidelines

ํ”„๋กฌํ”„ํŠธ์—์„œ ๊ตฌ์ฒด์ ์œผ๋กœ ์„ค๋ช…ํ•˜๊ธฐ ์œ„ํ•œ ๋‘ ๊ฐ€์ง€ ์ฃผ์š” ์ ‘๊ทผ ๋ฐฉ์‹์ด ์žˆ์œผ๋ฉฐ, ์ „๋ฌธ๊ฐ€์šฉ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ํ•จ๊ป˜ ์‚ฌ์šฉ๋˜๋Š” ๊ฒฝ์šฐ๋ฅผ ์ž์ฃผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Output Quality Guidelines

์ฒซ ๋ฒˆ์งธ ์œ ํ˜•์€ ์ถœ๋ ฅ๋ฌผ์ด ๊ฐ–์ถ”์–ด์•ผ ํ•  ํ’ˆ์งˆ์„ ๋‚˜์—ดํ•˜๋Š” ๋ฐ ์ค‘์ ์„ ๋‘ก๋‹ˆ๋‹ค. ๋‹ค์Œ ์ง€์นจ์€ ์‚ฌ์šฉ์ž๊ฐ€ ์ œ์–ดํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

  • ์‘๋‹ต ๊ธธ์ด

  • ๊ตฌ์กฐ ๋ฐ ํ˜•์‹

  • ํฌํ•จํ•  ํŠน์ • ์†์„ฑ ๋˜๋Š” ์š”์†Œ

  • ํ†ค ๋˜๋Š” ์Šคํƒ€์ผ ์š”๊ตฌ ์‚ฌํ•ญ

์˜ˆ๋ฅผ ๋“ค์–ด, ์ด์•ผ๊ธฐ๊ฐ€ 1,000๋‹จ์–ด ์ดํ•˜์—ฌ์•ผ ํ•œ๋‹ค๊ณ  ์ง€์ •ํ•˜๊ณ , ์บ๋ฆญํ„ฐ์˜ ์žฌ๋Šฅ์„ ๋“œ๋Ÿฌ๋‚ด๋Š” ๋ช…ํ™•ํ•œ ํ–‰๋™์„ ํฌํ•จํ•˜๋ฉฐ, ์ตœ์†Œํ•œ ํ•˜๋‚˜์˜ ์กฐ์—ฐ ์บ๋ฆญํ„ฐ๋ฅผ ํฌํ•จํ•ด์•ผ ํ•œ๋‹ค๊ณ  ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Process Steps

๋‘ ๋ฒˆ์งธ ์œ ํ˜•์€ ํด๋กœ๋“œ๊ฐ€ ๋”ฐ๋ผ์•ผ ํ•  ๊ตฌ์ฒด์ ์ธ ๋‹จ๊ณ„๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด ์ ‘๊ทผ ๋ฐฉ์‹์€ ํด๋กœ๋“œ๊ฐ€ ์ตœ์ข… ๋‹ต์— ๋„๋‹ฌํ•˜๊ธฐ ์ „์— ๋ฌธ์ œ๋ฅผ ์ฒด๊ณ„์ ์œผ๋กœ ์ƒ๊ฐํ•˜๊ฑฐ๋‚˜ ์—ฌ๋Ÿฌ ๊ด€์ ์„ ๊ณ ๋ คํ•  ๋•Œ ํŠนํžˆ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

๊ธ€์„ ์“ฐ๋Š” ๋Œ€์‹  ํด๋กœ๋“œ์—๊ฒŒ ๋ถ€ํƒํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค:

  1. ๊ทน์ ์ธ ๊ธด์žฅ๊ฐ์„ ์กฐ์„ฑํ•  ์„ธ ๊ฐ€์ง€ ์žฌ๋Šฅ์„ ๋ธŒ๋ ˆ์ธ์Šคํ† ๋ฐํ•˜์„ธ์š”

  2. ๊ฐ€์žฅ ํฅ๋ฏธ๋กœ์šด ์ธ์žฌ๋ฅผ ์„ ํƒํ•˜์„ธ์š”

  3. ์žฌ๋Šฅ์„ ๋“œ๋Ÿฌ๋‚ด๋Š” ์ค‘์š”ํ•œ ์žฅ๋ฉด์„ ๊ฐœ๋žต์ ์œผ๋กœ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค

  4. ์˜ํ–ฅ๋ ฅ์„ ๋†’์ผ ์ˆ˜ ์žˆ๋Š” ์บ๋ฆญํ„ฐ ์œ ํ˜•์„ ์ง€์›ํ•˜๋Š” ๋ธŒ๋ ˆ์ธ์Šคํ† ๋ฐ

Real-World Impact

ํŠน์ด์„ฑ์˜ ์ฐจ์ด๋Š” ๊ทน์ ์ž…๋‹ˆ๋‹ค. ์‹์‚ฌ ๊ณ„ํš ํ”„๋กฌํ”„ํŠธ๋ฅผ ํ…Œ์ŠคํŠธํ•  ๋•Œ ์ง€์นจ์„ ์ถ”๊ฐ€ํ•˜๋ฉด ํ‰๊ฐ€ ์ ์ˆ˜๊ฐ€ 3.92์ ์—์„œ 7.86์ ์œผ๋กœ ํ–ฅ์ƒ๋˜์–ด ํด๋กœ๋“œ์—๊ฒŒ ์–ด๋–ค ์š”์†Œ๋ฅผ ํฌํ•จํ•ด์•ผ ํ•˜๋Š”์ง€ ์ •ํ™•ํžˆ ์•Œ๋ ค์ฃผ๋Š” ๊ฒƒ๋งŒ์œผ๋กœ๋„ ๊ฒฐ๊ณผ์˜ ํ’ˆ์งˆ์ด ๋‘ ๋ฐฐ ์ด์ƒ ํ–ฅ์ƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ง€์นจ:
1. ์ •ํ™•ํ•œ ์ผ์ผ ์นผ๋กœ๋ฆฌ ์–‘ ํฌํ•จ
2. ๋‹จ๋ฐฑ์งˆ, ์ง€๋ฐฉ ๋ฐ ํƒ„์ˆ˜ํ™”๋ฌผ ํ•จ๋Ÿ‰ ํ‘œ์‹œ  
3. ๊ฐ ์‹์‚ฌ ์‹œ๊ฐ„ ์ง€์ •
4. ์ œํ•œ ์‚ฌํ•ญ์— ๋งž๋Š” ์‹ํ’ˆ๋งŒ ์‚ฌ์šฉ
5. ๋ชจ๋“  ๋ถ€๋ถ„ ํฌ๊ธฐ๋ฅผ ๊ทธ๋žจ ๋‹จ์œ„๋กœ ๋‚˜์—ดํ•ฉ๋‹ˆ๋‹ค
6. ์–ธ๊ธ‰๋œ ๊ฒฝ์šฐ ์˜ˆ์‚ฐ ์นœํ™”์ ์œผ๋กœ ์œ ์ง€

When to Use Each Approach

๋‹ค์Œ์€ ๊ฐ ์œ ํ˜•์˜ ํŠน์ •์„ฑ์„ ์–ธ์ œ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š”์ง€์— ๋Œ€ํ•œ ์‹ค์šฉ์ ์ธ ๊ฐ€์ด๋“œ์ž…๋‹ˆ๋‹ค:

ํ•ญ์ƒ ์ถœ๋ ฅ ์ง€์นจ ์‚ฌ์šฉ

  • ์ž‘์„ฑํ•˜๋Š” ๊ฑฐ์˜ ๋ชจ๋“  ํ”„๋กฌํ”„ํŠธ์— ํ’ˆ์งˆ ์ง€์นจ์„ ํฌํ•จ์‹œ์ผœ์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  • ์ผ๊ด€๋˜๊ณ  ์œ ์šฉํ•œ ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ์•ˆ์ „๋ง์ž…๋‹ˆ๋‹ค.

๋ณต์žกํ•œ ๋ฌธ์ œ์— ํ”„๋กœ์„ธ์Šค ๋‹จ๊ณ„ ์‚ฌ์šฉ ๋‹ค๋ฃฐ ๋•Œ ๋‹จ๊ณ„๋ณ„ ์ง€์นจ์„ ์ถ”๊ฐ€ํ•˜์„ธ์š”:

  • ๋ณต์žกํ•œ ๋ฌธ์ œ ํ•ด๊ฒฐ

  • ์˜์‚ฌ ๊ฒฐ์ • ์‹œ๋‚˜๋ฆฌ์˜ค

  • ๋น„ํŒ์  ์‚ฌ๊ณ  ๊ณผ์ œ

  • ํด๋กœ๋“œ๊ฐ€ ์—ฌ๋Ÿฌ ๊ฐ๋„๋ฅผ ๊ณ ๋ คํ•˜๊ธฐ๋ฅผ ์›ํ•˜๋Š” ๋ชจ๋“  ์ƒํ™ฉ

์˜ˆ๋ฅผ ๋“ค์–ด, ํด๋กœ๋“œ์—๊ฒŒ ์˜์—…ํŒ€์˜ ์„ฑ๊ณผ๊ฐ€ ํ•˜๋ฝํ•œ ์ด์œ ๋ฅผ ๋ถ„์„ํ•ด ๋‹ฌ๋ผ๊ณ  ์š”์ฒญํ•˜๋Š” ๊ฒฝ์šฐ, ์˜์—…ํŒ€์ด ํ•˜๋‚˜์˜ ์ž ์žฌ์  ์›์ธ์—๋งŒ ์ง‘์ค‘ํ•˜๊ธฐ๋ณด๋‹ค๋Š” ์‹œ์žฅ ์ง€ํ‘œ, ์—…๊ณ„ ๋ณ€ํ™”, ๊ฐœ์ธ ์„ฑ๊ณผ, ์กฐ์ง ๋ณ€ํ™”, ๊ณ ๊ฐ ํ”ผ๋“œ๋ฐฑ์„ ๊ฒ€ํ† ํ•˜๋„๋ก ์•ˆ๋‚ดํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

Combining Both Approaches

์ „๋ฌธ์ ์ธ ํ”„๋กฌํ”„ํŠธ์—์„œ๋Š” ๋‘ ๊ฐ€์ง€ ๊ธฐ๋ฒ•์„ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. ์ถœ๋ ฅ ํ˜•์‹๊ณผ ๋‚ด์šฉ์„ ์ œ์–ดํ•˜๋Š” ๊ฐ€์ด๋“œ๋ผ์ธ๊ณผ ํด๋กœ๋“œ๊ฐ€ ์‘๋‹ตํ•˜๊ธฐ ์ „์— ๋ฌธ์ œ๋ฅผ ์ฒ ์ €ํžˆ ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๋‹จ๊ณ„๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ์กฐํ•ฉ์€ ๊ฒฐ๊ณผ์˜ ์ผ๊ด€์„ฑ๊ณผ ํด๋กœ๋“œ๊ฐ€ ๊ฒฐ๋ก ์— ๋„๋‹ฌํ•˜๋Š” ๋ฐ ์ค‘์š”ํ•œ ๋ชจ๋“  ์š”์†Œ๋ฅผ ๊ณ ๋ คํ–ˆ๋‹ค๋Š” ์ž์‹ ๊ฐ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

Structure with XML tags

๋งŽ์€ ์ฝ˜ํ…์ธ ๊ฐ€ ํฌํ•จ๋œ ํ”„๋กฌํ”„ํŠธ๋ฅผ ๋งŒ๋“ค ๋•Œ ํด๋กœ๋“œ๋Š” ๋•Œ๋•Œ๋กœ ์–ด๋–ค ํ…์ŠคํŠธ ์กฐ๊ฐ์ด ์„œ๋กœ ์†ํ•˜๋Š”์ง€ ๋˜๋Š” ์–ด๋–ค ์„น์…˜์„ ๋‚˜ํƒ€๋‚ด์•ผ ํ•˜๋Š”์ง€ ์ดํ•ดํ•˜๋Š” ๋ฐ ์–ด๋ ค์›€์„ ๊ฒช์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. XML ํƒœ๊ทธ๋Š” ํŠนํžˆ ๋Œ€๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๊ฐ„ํ•  ๋•Œ ํ”„๋กฌํ”„ํŠธ์— ๊ตฌ์กฐ์™€ ๋ช…ํ™•์„ฑ์„ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฐ„๋‹จํ•œ ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

Why Structure Matters

20ํŽ˜์ด์ง€์— ๋‹ฌํ•˜๋Š” ํŒ๋งค ๊ธฐ๋ก์„ ๋ถ„์„ํ•ด์•ผ ํ•˜๋Š” ํ”„๋กฌํ”„ํŠธ๋ฅผ ๊ณ ๋ คํ•ด ๋ณด์„ธ์š”. ๋ช…ํ™•ํ•œ ๊ฒฝ๊ณ„๊ฐ€ ์—†์œผ๋ฉด ํด๋กœ๋“œ๋Š” ์‚ฌ์šฉ์ž์˜ ์ง€์นจ๊ณผ ๋ถ„์„ํ•˜๊ณ ์ž ํ•˜๋Š” ์‹ค์ œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ตฌ๋ถ„ํ•˜๋Š” ๋ฐ ์–ด๋ ค์›€์„ ๊ฒช์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์œ„์˜ ์˜ˆ๋Š” ๊ฒฝ๊ณ„๊ฐ€ ๋ถˆ๋ถ„๋ช…ํ•˜๋ฉด ํด๋กœ๋“œ๊ฐ€ ์˜๋„๋ฅผ ๋ถ„์„ํ•˜๊ธฐ๊ฐ€ ์–ผ๋งˆ๋‚˜ ์–ด๋ ค์šธ ์ˆ˜ ์žˆ๋Š”์ง€ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ํŒ๋งค ๊ธฐ๋ก์„ <sales_records> ๋ฐ </sales_records>์™€ ๊ฐ™์€ XML ํƒœ๊ทธ๋กœ ๊ฐ์‹ธ๋ฉด ํด๋กœ๋“œ๊ฐ€ ํ”„๋กฌํ”„ํŠธ์˜ ๊ตฌ์กฐ๋ฅผ ์ดํ•ดํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜๋Š” ๋ช…ํ™•ํ•œ ๊ตฌ๋ถ„ ๊ธฐํ˜ธ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Practical Example

XML ํƒœ๊ทธ๊ฐ€ ์ค‘์š”ํ•œ ์ด์œ ์— ๋Œ€ํ•œ ๋” ๊ทน์ ์ธ ์˜ˆ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ํด๋กœ๋“œ์—๊ฒŒ ์ œ๊ณต๋œ ๋ฌธ์„œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฝ”๋“œ๋ฅผ ๋””๋ฒ„๊น…ํ•˜๋„๋ก ์š”์ฒญํ•˜๋ฉด ๋ชจ๋“  ๊ฒƒ์„ ํ•จ๊ป˜ ์„ž์œผ๋ฉด ํ˜ผ๋ž€์ด ์ƒ๊น๋‹ˆ๋‹ค:

"Not Great" ๋ฒ„์ „์€ ์ฝ”๋“œ์™€ ๋ฌธ์„œ๋ฅผ ๊ตฌ๋ถ„ํ•˜๋Š” ๊ฒƒ์ด ๊ฑฐ์˜ ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. "Better" ๋ฒ„์ „์€ ๋ช…ํ™•ํ•œ ๊ฒฝ๊ณ„๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด <my_code>์™€ <docs> ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

Custom Tag Names

๊ณต์‹ XML ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์ฝ˜ํ…์ธ ์— ๋งž๋Š” ์„ค๋ช…์ ์ธ ์ด๋ฆ„์„ ๋งŒ๋“œ์„ธ์š”:

  • <sales_records>๊ฐ€ <data>๋ณด๋‹ค ๋‚ซ์Šต๋‹ˆ๋‹ค

  • <athlete_information>์€ ์‚ฌ์šฉ์ž ์„ธ๋ถ€ ์ •๋ณด๋ฅผ ๋ช…ํ™•ํ•˜๊ฒŒ ์‹๋ณ„ํ•ฉ๋‹ˆ๋‹ค

  • <my_code>์™€ <docs>๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ์œ ํ˜•์˜ ์ฝ˜ํ…์ธ ๋ฅผ ๋ถ„๋ฆฌํ•ฉ๋‹ˆ๋‹ค

ํƒœ๊ทธ ์ด๋ฆ„์ด ๋” ๊ตฌ์ฒด์ ์ด๊ณ  ์„ค๋ช…์ ์ผ์ˆ˜๋ก ํด๋กœ๋“œ๋Š” ๊ฐ ์„น์…˜์˜ ๋ชฉ์ ์„ ๋” ์ž˜ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

When to Use XML Tags

XML ํƒœ๊ทธ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฝ์šฐ์— ๊ฐ€์žฅ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค:

  • ๋Œ€๋Ÿ‰์˜ ์ปจํ…์ŠคํŠธ ๋˜๋Š” ๋ฐ์ดํ„ฐ ํฌํ•จ

  • ๋‹ค์–‘ํ•œ ์œ ํ˜•์˜ ์ฝ˜ํ…์ธ (์ฝ”๋“œ, ๋ฌธ์„œ, ๋ฐ์ดํ„ฐ) ํ˜ผํ•ฉ

  • ์ฝ˜ํ…์ธ  ๊ฒฝ๊ณ„์— ๋Œ€ํ•ด ๋” ๋ช…ํ™•ํ•˜๊ฒŒ ์„ค๋ช…ํ•˜๊ณ  ์‹ถ์„ ๊ฒฝ์šฐ

  • ์—ฌ๋Ÿฌ ๋ณ€์ˆ˜๋ฅผ ๋ณด๊ฐ„ํ•˜๋Š” ๋ณต์žกํ•œ ํ”„๋กฌํ”„ํŠธ ์ž‘์—…

์งง์€ ๋‚ด์šฉ์ด๋ผ๋„ XML ํƒœ๊ทธ๋Š” ํด๋กœ๋“œ์—๊ฒŒ ํ”„๋กฌํ”„ํŠธ ๊ตฌ์กฐ๋ฅผ ๋” ๋ช…ํ™•ํ•˜๊ฒŒ ๋ณด์—ฌ์ฃผ๋Š” ๊ตฌ๋ถ„์ž ์—ญํ• ์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Real-World Application

์‹ค์ œ๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ”„๋กฌํ”„ํŠธ๋ฅผ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

<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 ํƒœ๊ทธ์˜ ๊ฐ€์น˜๋Š” ์ ์  ๋” ๋†’์•„์ง‘๋‹ˆ๋‹ค.

Providing examples

ํ”„๋กฌํ”„ํŠธ์— ์˜ˆ์ œ๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์€ ๊ฐ€์žฅ ํšจ๊ณผ์ ์ธ ํ”„๋กฌํ”„ํŠธ ์—”์ง€๋‹ˆ์–ด๋ง ๊ธฐ๋ฒ• ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค. '์›์ƒท' ๋˜๋Š” '๋ฉ€ํ‹ฐ์ƒท' ํ”„๋กฌํ”„ํŠธ๋ผ๊ณ  ํ•˜๋Š” ์ด ์ ‘๊ทผ ๋ฐฉ์‹์€ ํด๋กœ๋“œ์—๊ฒŒ ์ƒ˜ํ”Œ ์ž…๋ ฅ/์ถœ๋ ฅ ์Œ์„ ์ œ๊ณตํ•˜์—ฌ ์‘๋‹ต์„ ์•ˆ๋‚ดํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

How Examples Work

๊ฐ์ • ๋ถ„์„ ์˜ˆ์‹œ๋ฅผ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ํด๋กœ๋“œ๊ฐ€ ํŠธ์œ—์ด ๊ธ์ •์ ์ธ์ง€ ๋ถ€์ •์ ์ธ์ง€ ๋ถ„๋ฅ˜ํ•˜๊ธฐ๋ฅผ ์›ํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค:

์—ฌ๊ธฐ์„œ ๋„์ „ ๊ณผ์ œ๋Š” ํ’์ž์ž…๋‹ˆ๋‹ค. "๋„ค, ๋ฌผ๋ก ์ด์ฃ . '์šฐ์ฃผ์—์„œ ์˜จ ํ”Œ๋žœ 9' ์ดํ›„ ์ œ๊ฐ€ ๋ณธ ์˜ํ™” ์ค‘ ์ตœ๊ณ ์˜€์–ด์š”."์™€ ๊ฐ™์€ ํŠธ์œ—์€ ๊ฒ‰์œผ๋กœ๋Š” ๊ธ์ •์ ์œผ๋กœ ๋ณด์ด์ง€๋งŒ, ์‚ฌ์‹ค์€ ๋น„๊ผฌ๊ณ  ๋ถ€์ •์ ์ž…๋‹ˆ๋‹ค (ํ”Œ๋žœ 9๋Š” ์ตœ์•…์˜ ์˜ํ™” ์ค‘ ํ•˜๋‚˜๋กœ ์œ ๋ช…ํ•ฉ๋‹ˆ๋‹ค).

Adding Examples to Handle Corner Cases

์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ํด๋กœ๋“œ๊ฐ€ ๊นŒ๋‹ค๋กœ์šด ์‚ฌ๊ฑด์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ณด์—ฌ์ฃผ๋Š” ์˜ˆ์ œ๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

๊ฐœ์„ ๋œ ํ”„๋กฌํ”„ํŠธ์—๋Š” ๋‹ค์Œ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค:

  • ๋ช…ํ™•ํ•œ ๊ธ์ •์ ์ธ ์˜ˆ: "์˜ค๋Š˜ ๋ฐค ์ข‹์€ ๊ฒฝ๊ธฐ!" โ†’ "๊ธ์ •์ "

  • ๋น„๊ผฌ๋Š” ์˜ˆ์ž…๋‹ˆ๋‹ค: "์•„, ๋„ค, ์˜ค๋Š˜ ๋ฐค ๋น„ํ–‰๊ธฐ ์ง€์—ฐ์ด ์ •๋ง ํ•„์š”ํ–ˆ์–ด์š”! ํ›Œ๋ฅญํ•ด์š”!" โ†’ "๋ถ€์ •์ ์ž…๋‹ˆ๋‹ค"

  • ํ’์ž๋ฅผ ์‹ ์ค‘ํ•˜๊ฒŒ ๋‹ค๋ค„์•ผ ํ•˜๋Š” ์ด์œ ๋ฅผ ์„ค๋ช…ํ•˜๋Š” ๋งฅ๋ฝ

์˜ˆ์ œ๊ฐ€ <sample_input> ๋ฐ <ideal_output>๊ณผ ๊ฐ™์€ XML ํƒœ๊ทธ๋กœ ์–ด๋–ป๊ฒŒ ๊ฐ์‹ธ์ง€๋Š”์ง€ ์ฃผ๋ชฉํ•˜์„ธ์š”. ์ด ๊ตฌ์กฐ๋Š” ํด๋กœ๋“œ๊ฐ€ ๊ฐ ๋ถ€๋ถ„์ด ๋ฌด์—‡์„ ๋‚˜ํƒ€๋‚ด๋Š”์ง€ ๋ช…ํ™•ํ•˜๊ฒŒ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

When to Use Examples

์˜ˆ์ œ๋Š” ํŠนํžˆ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค:

  • ์ฝ”๋„ˆ ์ผ€์ด์Šค ๋˜๋Š” ์—ฃ์ง€ ์‹œ๋‚˜๋ฆฌ์˜ค ์บก์ฒ˜

  • ๋ณต์žกํ•œ ์ถœ๋ ฅ ํ˜•์‹ ์ •์˜(์˜ˆ: ํŠน์ • JSON ๊ตฌ์กฐ)

  • ์›ํ•˜๋Š” ์Šคํƒ€์ผ์ด๋‚˜ ํ†ค์„ ์ •ํ™•ํ•˜๊ฒŒ ๋ณด์—ฌ์ฃผ๊ธฐ

  • ๋ชจํ˜ธํ•œ ์ž…๋ ฅ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ• ์‹œ์—ฐ

One-Shot vs Multi-Shot

One-Shot: ํŒจํ„ด์„ ์„ค์ •ํ•˜๊ธฐ ์œ„ํ•œ ๋‹จ์ผ ์˜ˆ์ œ ์ œ๊ณต

Multi-Shot: ๋‹ค์–‘ํ•œ ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๋Š” ์—ฌ๋Ÿฌ ์˜ˆ์ œ ์ œ๊ณต

๋‹ค์–‘ํ•œ ์—ฃ์ง€ ์ผ€์ด์Šค๋ฅผ ๋‹ค๋ฃจ๊ฑฐ๋‚˜ ๋‹ค์–‘ํ•œ ์œ ํ˜•์˜ ์œ ํšจํ•œ ์‘๋‹ต์„ ๋ณด์—ฌ์ฃผ๊ณ  ์‹ถ์„ ๋•Œ๋Š” ๋ฉ€ํ‹ฐ์ƒท์„ ์‚ฌ์šฉํ•˜์„ธ์š”.

์š”์•ฝ

Last updated