0Pricing
AI Prompt Engineering · บทเรียน

การขจัดความกำกวมออกจากพรอมป์ต

เทคนิคขจัดการตีความคำสั่งได้หลายแบบ

การขจัดความกำกวมออกจากพรอมป์ต เป็นบทเรียน AI Prompt Engineering ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน AI Prompt Engineering และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส AI Prompt Engineering มีบทเรียนทั้งหมด 4 บทเรียน

ความกำกวมส่งผลต่อปัญญาประดิษฐ์อย่างไร

พรอมต์ที่กำกวมบังคับให้โมเดลต้องเลือกระหว่างการตีความที่ถูกต้องได้หลายแบบ โมเดลจะเลือกแบบหนึ่ง — โดยปกติคือแบบที่พบบ่อยที่สุด — แล้วดำเนินการต่ออย่างมั่นใจ โดยไม่บอกให้ทราบว่าได้เลือกการตีความนั้น

ผลลัพธ์คือ คุณได้รับคำตอบที่เรียบเรียงมาอย่างดีสำหรับคำถามที่ไม่ใช่คำถามที่คุณต้องการ การระบุและกำจัดความกำกวมก่อนส่งพรอมต์เร็วกว่าการเขียนผลลัพธ์ใหม่ภายหลัง

คำสั่งคลาสสิก: 'ทำให้ดีขึ้น'

'ทำให้ดีขึ้น' อาจเป็นพรอมต์ที่กำกวมที่สุดเท่าที่มีมา ดีขึ้นอย่างไร

  • ให้สั้นลงหรือยาวขึ้น
  • ให้เป็นทางการมากขึ้นหรือเป็นกันเองมากขึ้น
  • เพิ่มตัวอย่างหรือลดตัวอย่าง
  • เปลี่ยนน้ำเสียงหรือเปลี่ยนโครงสร้าง
  • แก้ไวยากรณ์หรือเปลี่ยนคำศัพท์

โมเดลจะเลือกมิติหนึ่งแล้วเปลี่ยนแปลง หากมิตินั้นไม่ใช่สิ่งที่คุณต้องการ คุณจะติดอยู่ในวงจรการเขียนใหม่

import anthropic

client = anthropic.Anthropic(api_key='sk-ant-your-key-here')

original_text = (
    'Our software helps companies manage their data. '
    'It has many features. Customers like it a lot.'
)

# Ambiguous improvement request
vague = f'Make this better:\n\n{original_text}'

# Unambiguous improvement request
specific = (
    f'Rewrite this product description to be exactly 50% shorter, '
    f'more confident in tone, and replace vague phrases like "many features" '
    f'and "a lot" with specific claims. Do not add new features I have not mentioned.\n\n'
    f'{original_text}'
)

for label, prompt in [('VAGUE', vague), ('SPECIFIC', specific)]:
    response = client.messages.create(
        model='claude-opus-4-5',
        max_tokens=200,
        messages=[{'role': 'user', 'content': prompt}]
    )
    print(f'--- {label} ---')
    print(response.content[0].text)
    print()

การตีความหลายแบบ: ตัวอย่างในทางปฏิบัติ

พรอมต์ใด ๆ ที่มีสรรพนามซึ่งไม่ระบุชัดเจน คำคุณศัพท์เชิงสัมพัทธ์ หรือไม่มีประธาน ล้วนมีโอกาสกำกวมได้ ตัวอย่างเช่น:

  • 'ปรับปรุงประสิทธิภาพ' — ของอะไร ความเร็ว ความแม่นยำ หรือการมีส่วนร่วมของผู้ใช้
  • 'เขียนเกี่ยวกับผลกระทบ' — ผลกระทบเชิงบวก เชิงลบ ทางเศรษฐกิจ หรือทางสังคม
  • 'แก้ไขสิ่งนี้' — แก้ตรรกะ รูปแบบ การจัดรูปแบบ หรือไวยากรณ์
  • 'ทำให้ดูเป็นมืออาชีพ' — ใช้คำศัพท์เป็นทางการ จัดย่อหน้าให้เป็นระบบ หรือลบอีโมจิ
import openai

client = openai.OpenAI(api_key='sk-your-key-here')

# Disambiguating 'fix this code'
buggy_code = 'def divide(a, b): return a / b'

ambiguous = f'Fix this:\n{buggy_code}'

unambiguous = (
    f'Fix only the division-by-zero bug in this function. '
    f'Add a guard that raises a ValueError with message "b cannot be zero" when b=0. '
    f'Do not change anything else — keep the function signature and return type identical.\n\n'
    f'{buggy_code}'
)

response = client.chat.completions.create(
    model='gpt-4o',
    messages=[{'role': 'user', 'content': unambiguous}]
)
print(response.choices[0].message.content)

เทคนิคขจัดความกำกวม: ระบุการตีความ

หากคุณทราบว่าพรอมต์ของคุณอาจถูกตีความได้หลายแบบ ให้ ระบุอย่างชัดเจนว่าต้องการการตีความแบบใด

แม่แบบ: 'เมื่อฉันพูดว่า [คำที่กำกวม] ฉันหมายถึง [คำนิยามที่เฉพาะเจาะจง]'

ตัวอย่าง:

  • 'เมื่อฉันพูดว่าแก้ไข ฉันหมายถึงแก้ไวยากรณ์และการสะกดเท่านั้น — อย่าเปลี่ยนเนื้อหา'
  • 'เมื่อฉันพูดว่ากระชับ ฉันหมายถึงไม่เกิน 3 ประโยค'
  • 'เมื่อฉันพูดว่าเป็นมืออาชีพ ฉันหมายถึงไม่ใช้สรรพนามบุรุษที่หนึ่งและไม่ใช้คำย่อ'
import anthropic

client = anthropic.Anthropic(api_key='sk-ant-your-key-here')

response = client.messages.create(
    model='claude-opus-4-5',
    max_tokens=256,
    messages=[{
        'role': 'user',
        'content': (
            'Edit the following paragraph. '
            'When I say "edit", I mean: fix grammar and punctuation only. '
            'Do NOT change vocabulary, sentence structure, or content. '
            'When done, list each change you made in a numbered list below the edited text.\n\n'
            'The team have went to the meeting early, but the manager '
            'werent there so they waited for alot of time before leaving.'
        )
    }]
)
print(response.content[0].text)

เทคนิคขจัดความกำกวม: กำหนดขอบเขต

ความกำกวมด้านขอบเขตมักเกิดขึ้นเมื่อขอให้ปรับปรุงหรือต่อยอดเนื้อหา แก้ไขโดยกำหนดให้ชัดเจนว่าอะไรอยู่ในขอบเขตและอะไรอยู่นอกขอบเขต

อยู่ในขอบเขต: สิ่งที่โมเดลได้รับอนุญาตให้เปลี่ยน
อยู่นอกขอบเขต: สิ่งที่ต้องคงไว้โดยไม่เปลี่ยนแปลง

เรื่องนี้สำคัญเป็นพิเศษสำหรับงานแก้ไขโค้ด การปรับแก้เอกสาร และการประมวลผลชุดข้อมูล ซึ่งการเปลี่ยนแปลงโดยไม่ได้ตั้งใจอาจก่อให้เกิดปัญหาร้ายแรง

import openai

client = openai.OpenAI(api_key='sk-your-key-here')

code_block = '''
def calculate_tax(income, rate):
    return income * rate

def calculate_net(income, tax):
    return income - tax
'''

response = client.chat.completions.create(
    model='gpt-4o',
    messages=[{
        'role': 'user',
        'content': (
            'Add Python type hints to the following code.\n'
            'IN SCOPE: adding type hints to parameters and return values only.\n'
            'OUT OF SCOPE: changing function names, logic, docstrings, or formatting.\n'
            'Do not add any comments or docstrings.\n\n'
            + code_block
        )
    }]
)
print(response.choices[0].message.content)

เทคนิคขจัดความกำกวม: ระบุรูปแบบผลลัพธ์

ความกำกวมด้านผลลัพธ์เกิดขึ้นเมื่อคุณต้องการรูปแบบเฉพาะแต่ไม่ได้ระบุไว้ว่าเป็นรูปแบบใด 'ให้ข้อมูลแก่ฉัน' — เป็นย่อหน้า รายการ ตาราง หรือออบเจ็กต์ JSON

ระบุรูปแบบผลลัพธ์ที่แน่นอนที่คุณคาดหวังเสมอ เมื่อได้รับคำสั่งอย่างชัดเจน โมเดลจะจัดรูปแบบให้ตรงตามนั้นอย่างแม่นยำ

import anthropic

client = anthropic.Anthropic(api_key='sk-ant-your-key-here')

candidates_text = (
    'Alice: 5 years Python, worked at Stripe, has a CS degree.\n'
    'Bob: 3 years JavaScript, worked at a startup, self-taught.\n'
    'Carol: 8 years Java, worked at Google, has an MS in CS.'
)

response = client.messages.create(
    model='claude-opus-4-5',
    max_tokens=300,
    messages=[{
        'role': 'user',
        'content': (
            'Extract the candidate data below into a JSON array. '
            'Each object must have exactly these keys: name, years_experience, primary_language, '
            'previous_employer, education_level. '
            'education_level values: DEGREE, MASTERS, SELF_TAUGHT.\n\n'
            + candidates_text
        )
    }]
)
print(response.content[0].text)

เทคนิคขจัดความกำกวม: ขอให้โมเดลชี้แจง

เมื่อเขียนพรอมต์ที่ซับซ้อนและทราบว่าพรอมต์นั้นกำกวม คุณสามารถสั่งให้โมเดลถามคำถามเพื่อขอความชัดเจน ก่อน ที่จะพยายามทำงาน

วิธีนี้มีประโยชน์เป็นพิเศษเมื่อสร้างผู้ช่วยปัญญาประดิษฐ์ — คุณต้องการให้โมเดลรวบรวมข้อมูลแทนการคาดเดา เช่นเดียวกับที่ที่ปรึกษามนุษย์ที่ดีควรทำ

import openai

client = openai.OpenAI(api_key='sk-your-key-here')

response = client.chat.completions.create(
    model='gpt-4o',
    messages=[
        {
            'role': 'system',
            'content': (
                'You are a professional copywriter. '
                'Before starting any writing task, ask exactly 3 clarifying questions '
                'that would most improve the output quality. '
                'Only proceed to write after the user answers those questions.'
            )
        },
        {
            'role': 'user',
            'content': 'Write a landing page headline for my business.'
        }
    ]
)
print(response.choices[0].message.content)

คำเชิงสัมพัทธ์ที่ต้องมีจุดอ้างอิง

คำเชิงสัมพัทธ์ไม่มีความหมายตายตัว — แต่ละคนอาจเข้าใจคำเหล่านี้แตกต่างกัน:

  • 'กระชับ' — 1 ประโยค 3 ประโยค หรือ 1 ย่อหน้า
  • 'เป็นทางการ' — ไม่ใช้คำย่อ ใช้รูปแบบการอ้างอิงทางวิชาการ หรือใช้ภาษากฎหมาย
  • 'เรียบง่าย' — ระดับการอ่านชั้นประถมศึกษาปีที่ 5 ไม่มีศัพท์เทคนิค หรือใช้เฉพาะประโยคสั้น
  • 'ครอบคลุม' — ครอบคลุมกรณีสำคัญทั้งหมด รวมกรณีขอบสุด หรือมีตัวอย่าง

แทนที่คำเชิงสัมพัทธ์ทุกคำด้วยสิ่งที่เป็นรูปธรรมและวัดผลได้

import anthropic

client = anthropic.Anthropic(api_key='sk-ant-your-key-here')

# Relative terms mapped to concrete equivalents
mapping = [
    ('Give me a brief summary',   'Summarize in exactly 2 sentences'),
    ('Write something formal',    'Write using no contractions, no first person, and Flesch-Kincaid grade 12+'),
    ('Make it simple',            'Use only words a 10-year-old would know; max 15 words per sentence'),
    ('Be comprehensive',          'Cover at least 5 distinct subtopics with one example each'),
]

for vague, concrete in mapping:
    print(f'Vague:    "{vague}"')
    print(f'Concrete: "{concrete}"')
    print()

ความกำกวมของประธาน: ใครเป็นผู้ดำเนินการ

ความกำกวมของประธานเกิดขึ้นเมื่อไม่ชัดเจนว่า ใคร หรือ อะไร คือสิ่งที่คำสั่งนั้นใช้กับ

'เขียนบทนำใหม่' — ของอะไร เอกสารที่คุณวางไว้ เอกสารที่เราพูดถึงเมื่อ 5 รอบก่อน หรือเอกสารใหม่

'แปลสิ่งนี้' — ส่วนใด ทั้งคำตอบ เฉพาะส่วนสรุป หรือความคิดเห็นในโค้ด

ระบุวัตถุหรือส่วนที่ต้องการอย่างเฉพาะเจาะจงเสมอ โดยเฉพาะในการสนทนาที่มีหลายรอบ

import openai

client = openai.OpenAI(api_key='sk-your-key-here')

# Clear subject reference prevents wrong-section edits
contract_text = (
    '## Section 1: Payment Terms\nPayment is due within 30 days.\n\n'
    '## Section 2: Termination\nEither party may terminate with 30 days notice.'
)

response = client.chat.completions.create(
    model='gpt-4o',
    messages=[{
        'role': 'user',
        'content': (
            'In the contract below, rewrite ONLY Section 2 (Termination). '
            'Change the notice period from 30 days to 90 days. '
            'Do not change Section 1 or any other text.\n\n'
            + contract_text
        )
    }]
)
print(response.choices[0].message.content)

ความกำกวมด้านเวลา: เมื่อใด

การอ้างอิงเวลาในพรอมต์อาจกำกวมได้ เช่น 'เมื่อไม่นานมานี้' 'ปัจจุบัน' 'ล่าสุด' และ 'ตอนนี้'

ข้อมูลฝึกของโมเดลมีวันที่สิ้นสุด — โมเดลไม่รู้ว่า 'ตอนนี้' หมายถึงเวลาใด เว้นแต่คุณจะบอก ให้ระบุวันที่อย่างชัดเจนเสมอสำหรับงานที่ขึ้นอยู่กับเวลา

  • 'งานวิจัยล่าสุด' → 'งานวิจัยที่เผยแพร่ในปี 2024 หรือ 2025'
  • 'แนวปฏิบัติที่ดีที่สุดในปัจจุบัน' → 'แนวปฏิบัติที่ดีที่สุด ณ เดือนมกราคม 2025'
  • 'รุ่นล่าสุด' → 'รุ่น 3.12 (เผยแพร่ในเดือนตุลาคม 2024)'
import anthropic
from datetime import date

client = anthropic.Anthropic(api_key='sk-ant-your-key-here')

today = date.today().isoformat()

response = client.messages.create(
    model='claude-opus-4-5',
    max_tokens=256,
    system=f'Today is {today}. Use this as the reference for any time-related words.',
    messages=[{
        'role': 'user',
        'content': (
            'Describe the best practices for Python async programming '
            'as of January 2025. If your knowledge does not cover this timeframe, '
            'say so explicitly and share what you know up to your cutoff.'
        )
    }]
)
print(response.content[0].text)

การสร้างเรดาร์ตรวจจับความกำกวม

ก่อนส่งพรอมต์ใด ๆ ให้ตรวจสอบสัญญาณความกำกวมเหล่านี้:

  • สรรพนามที่ไม่มีสิ่งอ้างอิงชัดเจน: มัน, นี้, นั้น, พวกเขา
  • คำคุณศัพท์เชิงสัมพัทธ์: ดีกว่า, สั้นกว่า, เป็นทางการ, เรียบง่าย, ครอบคลุม, ล่าสุด
  • คำกริยาที่คลุมเครือ: แก้ไข, ปรับปรุง, อัปเดต, ทำ, จัดการบางอย่างกับ
  • ไม่มีการระบุขอบเขต: ไม่ได้กล่าวถึงว่าอะไรอยู่ในหรือนอกขอบเขต
  • ไม่มีการระบุรูปแบบ: ไม่ได้ระบุรูปแบบผลลัพธ์
  • ไม่มีบริบท: ไม่ได้ระบุกลุ่มเป้าหมายหรือจุดประสงค์ของผลลัพธ์
def scan_prompt_for_ambiguity(prompt):
    '''Simple heuristic scanner for common ambiguity patterns.'''
    warnings = []
    vague_verbs = ['fix', 'improve', 'make it', 'update', 'change it', 'redo']
    relative_adj = ['better', 'shorter', 'longer', 'formal', 'simple', 'recent', 'comprehensive']
    missing_format = ['json', 'table', 'list', 'bullet', 'paragraph', 'word', 'sentence']

    lower = prompt.lower()
    for v in vague_verbs:
        if v in lower:
            warnings.append(f'Vague verb detected: "{v}" — specify what change exactly')
    for a in relative_adj:
        if a in lower:
            warnings.append(f'Relative adjective: "{a}" — anchor with a measurable definition')
    if not any(f in lower for f in missing_format):
        warnings.append('No output format specified — add format, length, or structure')
    return warnings

test = 'Make the report better and more formal.'
print('Prompt:', test)
for w in scan_prompt_for_ambiguity(test):
    print(' WARNING:', w)

ตรวจสอบความเข้าใจ

นักพัฒนาส่งพรอมต์นี้: 'ทำให้โค้ดเรียบง่ายขึ้น' ปัญญาประดิษฐ์ทำให้โค้ดสั้นลง แต่นักพัฒนาต้องการให้ใช้ชื่อตัวแปรที่อ่านง่ายขึ้น ไม่ใช่ทำให้โค้ดสั้นลง ปัญหาหลักคืออะไร

การขจัดความกำกวม — ทบทวน

ความกำกวมบังคับให้โมเดลต้องเดา — และการเดาของโมเดลคือการตีความที่เป็นค่าเฉลี่ยที่สุด ไม่ใช่การตีความของคุณ เทคนิคสำคัญในการขจัดความกำกวมมีดังนี้:

  • ระบุการตีความ: 'เมื่อฉันพูดว่า X ฉันหมายถึง Y'
  • กำหนดขอบเขต: ระบุรายการสิ่งที่อยู่ในและอยู่นอกขอบเขต
  • ระบุรูปแบบผลลัพธ์: JSON / ตาราง / ย่อหน้า / จำนวนประโยค
  • กำหนดจุดอ้างอิงให้คำเชิงสัมพัทธ์: 'กระชับ' → '2 ประโยค', 'เป็นทางการ' → 'ไม่ใช้คำย่อ'
  • ระบุประธาน: 'ส่วนที่ 2' ไม่ใช่ 'ส่วนนี้'
  • ขอให้ชี้แจง: สั่งให้โมเดลถามคำถามก่อนดำเนินการ

คำถามที่พบบ่อย

บทเรียน “การขจัดความกำกวมออกจากพรอมป์ต” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การขจัดความกำกวมออกจากพรอมป์ต” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส AI Prompt Engineering ให้อัปเกรดเป็น CoddyKit PRO คอร์ส AI Prompt Engineering มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การขจัดความกำกวมออกจากพรอมป์ต”

เทคนิคขจัดการตีความคำสั่งได้หลายแบบ คุณปฏิบัติ AI Prompt Engineering ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน AI Prompt Engineering หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน AI Prompt Engineering บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน

บทเรียน “การขจัดความกำกวมออกจากพรอมป์ต” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน AI Prompt Engineering นี้ได้ไหม

ได้ บทเรียน AI Prompt Engineering ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. เหตุใดความเฉพาะเจาะจงจึงสำคัญ
  2. การขจัดความกำกวมออกจากพรอมป์ต
  3. การเพิ่มรายละเอียดที่เป็นรูปธรรม
  4. เปรียบเทียบพรอมป์ตแบบคลุมเครือกับแบบเฉพาะเจาะจง
← กลับไปที่ AI Prompt Engineering