บริบทในการเขียนพรอมต์ให้ปัญญาประดิษฐ์หมายถึงอะไร
ข้อมูลพื้นฐานกำหนดทิศทางคำตอบของโมเดลอย่างไร
บริบทในการเขียนพรอมต์ให้ปัญญาประดิษฐ์หมายถึงอะไร เป็นบทเรียน AI Prompt Engineering ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน AI Prompt Engineering และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส AI Prompt Engineering มีบทเรียนทั้งหมด 4 บทเรียน
บริบท: ข้อมูลพื้นฐานสำหรับโมเดล
บริบท คือข้อมูลพื้นฐานที่ช่วยให้โมเดลสามารถให้คำตอบที่เกี่ยวข้อง ถูกต้อง และปรับระดับได้อย่างเหมาะสม
หากไม่มีบริบท โมเดลจะคาดเดาว่าคุณเป็นใคร ต้องการอะไร ทำงานอยู่ในโดเมนใด และควรให้รายละเอียดในระดับใด การคาดเดาเหล่านั้นอิงจากการตีความที่เป็นค่าเฉลี่ยทางสถิติมากที่สุด ไม่ใช่สถานการณ์จริงของคุณ
จะเกิดอะไรขึ้นเมื่อไม่มีบริบท
ลองเปรียบเทียบคำขอสองรายการเกี่ยวกับหัวข้อเดียวกัน:
ไม่มีบริบท: 'ฉันควรทำอย่างไรกับปัญหาฐานข้อมูล'
โมเดลไม่ทราบเลยว่าเป็นฐานข้อมูลใด ปัญหาคืออะไร หรือคำว่า 'ทำ' หมายถึงอะไรในสถานการณ์ของคุณ
มีบริบท: 'เรากำลังใช้งาน PostgreSQL 15 บน AWS RDS เวลาตอบสนองของคำค้นเพิ่มขึ้นจาก 20ms เป็น 800ms หลังจากย้ายโครงสร้างฐานข้อมูลเมื่อวานนี้ การย้ายดังกล่าวเพิ่มดัชนีใหม่ 3 รายการ ฉันควรตรวจสอบอะไรก่อน'
คำถามที่สองมีข้อมูลเกี่ยวกับโดเมน เทคโนโลยี ลำดับเวลา อาการ และการเปลี่ยนแปลงล่าสุด ซึ่งเป็นทุกสิ่งที่จำเป็นสำหรับคำตอบที่มีประโยชน์
import anthropic
client = anthropic.Anthropic(api_key='sk-ant-your-key-here')
no_context = 'What should I do about the database issue?'
with_context = (
'We are running PostgreSQL 15 on AWS RDS. '
'Query response time spiked from 20ms to 800ms after a schema migration yesterday. '
'The migration added 3 new indexes on the orders table (500M rows). '
'No other infrastructure changes were made. '
'What should I investigate first to diagnose the slowdown?'
)
for label, prompt in [('NO CONTEXT', no_context), ('WITH CONTEXT', with_context)]:
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[:300])
print()บริบทสี่ประเภท
พรอมต์ทุกประเภทจะได้ประโยชน์จากบริบทสูงสุดสี่ประเภท:
- บริบทด้านโดเมน — สาขาหรืออุตสาหกรรมที่คุณกำลังทำงานอยู่
- บริบทด้านกลุ่มผู้อ่าน — ผู้ที่จะใช้หรืออ่านผลลัพธ์
- บริบทด้านเป้าหมาย — สิ่งที่คุณพยายามทำให้สำเร็จในท้ายที่สุด
- บริบทด้านข้อจำกัด — ข้อจำกัดที่มีอยู่ (เวลา งบประมาณ ชุดเทคโนโลยี และกฎ)
คุณไม่จำเป็นต้องใช้ทั้งสี่ประเภทกับพรอมต์ทุกครั้ง แต่การเข้าใจหมวดหมู่เหล่านี้จะช่วยให้คุณระบุได้ว่าข้อมูลใดขาดหายไป
import openai
client = openai.OpenAI(api_key='sk-your-key-here')
# Prompt with all 4 context types explicitly labelled
response = client.chat.completions.create(
model='gpt-4o',
messages=[{
'role': 'user',
'content': (
'Domain context: B2B SaaS, fintech, invoice reconciliation.\n'
'Audience context: mid-market CFOs with basic Excel skills, no coding.\n'
'Goal context: write a one-pager that convinces them to book a demo.\n'
'Constraint context: max 300 words, no technical jargon, no pricing mentioned.\n\n'
'Task: Write the one-pager.'
)
}]
)
print(response.choices[0].message.content)บริบทของสาขา
บริบทของสาขา บอกโมเดลว่าคุณกำลังทำงานอยู่ในแวดวง อุตสาหกรรม หรือหัวข้อใด โดยจะกำหนดคำศัพท์ ระดับความรู้พื้นฐานที่สมมติว่าผู้อ่านมี และประเด็นที่เกี่ยวข้อง
คำถามเดียวกันอาจมีความหมายแตกต่างกันโดยสิ้นเชิงในแต่ละสาขา “ฉันจะจัดการข้อผิดพลาดอย่างเหมาะสมได้อย่างไร” ในวิศวกรรมซอฟต์แวร์หมายถึงการจัดการข้อยกเว้น ในงานบริการลูกค้าหมายถึงเทคนิคการลดความตึงเครียด และในทางการแพทย์หมายถึงการรายงานเหตุการณ์เกือบพลาด
import anthropic
client = anthropic.Anthropic(api_key='sk-ant-your-key-here')
# Same question, different domain context
domains = [
('Software Engineering', 'We build Python microservices.'),
('Customer Service', 'We run a 50-agent call center for an e-commerce brand.'),
('Surgical Team', 'We are a hospital OR team implementing WHO checklists.'),
]
for domain, context in domains:
response = client.messages.create(
model='claude-opus-4-5',
max_tokens=80,
messages=[{
'role': 'user',
'content': f'Context: {context}\n\nQuestion: How do I handle errors gracefully? (1 sentence answer)'
}]
)
print(f'[{domain}]: {response.content[0].text.strip()}')
print()บริบทของกลุ่มเป้าหมาย
บริบทของกลุ่มเป้าหมาย บอกโมเดลว่าใครจะเป็นผู้อ่าน ผู้ฟัง หรือผู้ใช้ผลลัพธ์ ซึ่งจะเป็นตัวกำหนด:
- ระดับภาษาและความรู้พื้นฐานที่สมมติว่ามี
- ระดับความลึกของคำอธิบายที่จำเป็น
- น้ำเสียง (เป็นทางการหรือเป็นกันเอง)
- การเปรียบเทียบที่ควรใช้
- สิ่งที่ควรตัดออก (พื้นฐานเกินไปหรือสูงเกินไป)
กลุ่มเป้าหมายมีอิทธิพลต่อทุกอย่าง แนวคิดเดียวกันเมื่ออธิบายให้เด็กอนุบาลกับนักศึกษาระดับปริญญาเอกฟัง ควรมีลักษณะแตกต่างกันโดยสิ้นเชิง
import openai
client = openai.OpenAI(api_key='sk-your-key-here')
audiences = [
'a 10-year-old who loves video games',
'a first-year computer science university student',
'a senior software architect with 15 years of experience'
]
for audience in audiences:
response = client.chat.completions.create(
model='gpt-4o',
max_tokens=80,
messages=[{
'role': 'user',
'content': f'Explain recursion in 2 sentences for {audience}.'
}]
)
print(f'Audience: {audience}')
print(response.choices[0].message.content.strip())
print()บริบทของเป้าหมาย
บริบทของเป้าหมาย อธิบายว่าผลลัพธ์นั้นมีจุดประสงค์สุดท้ายเพื่ออะไร ซึ่งแตกต่างจากตัวงานเอง เพราะหมายถึงวัตถุประสงค์ปลายทาง
- งาน: “เขียนคำอธิบายผลิตภัณฑ์”
- เป้าหมาย: “ข้อความนี้จะใช้บนหน้าเป้าหมายของ PPC เพื่อเปลี่ยนผู้เข้าชมที่ยังไม่รู้จักเราให้เป็นลูกค้า”
เมื่อโมเดลทราบเป้าหมาย โมเดลจะตัดสินใจได้ดีขึ้นว่าจะใส่อะไร ระดับการโน้มน้าวควรเป็นอย่างไร และผู้อ่านอาจมีคำถามใดบ้าง
import anthropic
client = anthropic.Anthropic(api_key='sk-ant-your-key-here')
goals = [
'Internal documentation for our own engineering team',
'A sales one-pager to send cold prospects who know nothing about our product',
'A support article for existing customers who are confused about the feature'
]
for goal in goals:
response = client.messages.create(
model='claude-opus-4-5',
max_tokens=100,
messages=[{
'role': 'user',
'content': (
f'Goal: {goal}\n\n'
f'Task: Write 2 sentences about our new AI-powered search feature '
f'that finds relevant documents from a knowledge base.'
)
}]
)
print(f'Goal: {goal}')
print(response.content[0].text.strip())
print()บริบทด้านข้อจำกัด
บริบทด้านข้อจำกัด อธิบายข้อจำกัดที่ผลลัพธ์ต้องดำเนินการภายใต้เงื่อนไขเหล่านั้น:
- ด้านเทคนิค: “ต้องทำงานได้โดยไม่เชื่อมต่ออินเทอร์เน็ต”, “ใช้ไพธอน 3.9 เท่านั้น ไม่มีไลบรารีจากบุคคลที่สาม”
- ด้านงบประมาณ: “ใช้ได้เฉพาะแพ็กเกจฟรี”, “โซลูชันต้องมีค่าใช้จ่ายต่ำกว่า 50 ดอลลาร์ต่อเดือน”
- ด้านกฎระเบียบ: “เป็นไปตามข้อกำหนดของ HIPAA”, “GDPR มีผลบังคับใช้ — ห้ามใส่ข้อมูลผู้ใช้ในพรอมต์”
- ด้านองค์กร: “ต้องได้รับการอนุมัติจากฝ่ายกฎหมายก่อนนำไปใช้งาน”, “เราไม่สามารถเปลี่ยนโครงสร้างฐานข้อมูลได้”
บริบทด้านข้อจำกัดช่วยป้องกันไม่ให้โมเดลเสนอวิธีแก้ปัญหาที่เป็นไปไม่ได้ในสถานการณ์จริงของคุณ
import openai
client = openai.OpenAI(api_key='sk-your-key-here')
response = client.chat.completions.create(
model='gpt-4o',
messages=[{
'role': 'user',
'content': (
'Suggest 3 ways to cache API responses in a Python backend.\n\n'
'Constraint context:\n'
'- Python 3.11, stdlib only (no Redis, no Memcached, no third-party libraries)\n'
'- The backend is a single process (no distributed cache needed)\n'
'- Cache must expire after 5 minutes automatically\n'
'- Solution must work on a server without internet access'
)
}]
)
print(response.choices[0].message.content)โมเดลจะคาดเดาเมื่อขาดบริบท
นี่คือกรอบความคิดสำคัญ: บริบททุกส่วนที่ขาดหายไปคือ การตัดสินใจที่โมเดลทำแทนคุณ โดยไม่บอกให้คุณทราบ
ขาดข้อมูลสาขา → โมเดลเลือกสาขาที่พบบ่อยที่สุดสำหรับหัวข้อนั้น
ขาดข้อมูลกลุ่มเป้าหมาย → โมเดลเขียนสำหรับผู้อ่านทั่วไป
ขาดข้อมูลเป้าหมาย → โมเดลเลือกเป้าหมายที่เห็นได้ชัดที่สุด
ขาดข้อมูลข้อจำกัด → โมเดลไม่สนใจข้อจำกัดใด ๆ
การเลือกอย่างเงียบ ๆ เหล่านี้เป็นสาเหตุที่คุณมักได้รับคำตอบซึ่งดูไม่ตรงนัก — ถูกต้องในทางเทคนิค แต่ไม่เหมาะกับสถานการณ์ของคุณ
import anthropic
client = anthropic.Anthropic(api_key='sk-ant-your-key-here')
# Demonstrate: same question, very different useful answers with context
without_context = 'How should I structure my data?'
with_full_context = (
'Domain: mobile gaming backend, 10M daily active users.\n'
'Technology: Python FastAPI + PostgreSQL + Redis.\n'
'Goal: store player inventory items (weapon skins, power-ups) with fast reads.\n'
'Constraint: reads happen 50x more than writes; schema changes are expensive.\n\n'
'How should I structure my data? Give 2 options with tradeoffs.'
)
response = client.messages.create(
model='claude-opus-4-5',
max_tokens=300,
messages=[{'role': 'user', 'content': with_full_context}]
)
print(response.content[0].text)เมื่อบริบทแต่ละประเภทมีความสำคัญที่สุด
ไม่ใช่ทุกพรอมต์ที่ต้องมีบริบทครบทั้งสี่ประเภท แต่ประเภทงานบางอย่างจะได้รับประโยชน์เป็นพิเศษจากบริบทบางประเภท:
- งานด้านเทคนิค: บริบทของสาขาและบริบทด้านข้อจำกัดสำคัญที่สุด
- งานเขียน: บริบทของกลุ่มเป้าหมายและบริบทของเป้าหมายช่วยยกระดับผลลัพธ์ได้มากที่สุด
- คำอธิบาย: เพียงบริบทของกลุ่มเป้าหมายก็เปลี่ยนคุณภาพผลลัพธ์ได้อย่างมาก
- การสนับสนุนการตัดสินใจ: บริบทด้านข้อจำกัดช่วยป้องกันคำแนะนำที่ใช้ประโยชน์ไม่ได้
- งานสร้างสรรค์: บริบทของเป้าหมายและบริบทของสาขาช่วยกำหนดกรอบสร้างสรรค์ที่เหมาะสม
import openai
client = openai.OpenAI(api_key='sk-your-key-here')
# Context selection for a creative task
response = client.chat.completions.create(
model='gpt-4o',
messages=[{
'role': 'user',
'content': (
'Domain: luxury skincare brand (eco-conscious, premium, women 35-55).\n'
'Goal: Valentine\'s Day campaign headline — will run on Instagram and in email.\n'
'Constraint: must not mention price, discount, or sale. Max 8 words.\n\n'
'Generate 5 headline options.'
)
}]
)
print(response.choices[0].message.content)บริบทกับข้อมูลรบกวนในพรอมต์
การมีบริบทมากขึ้นไม่ได้ดีกว่าเสมอไป บริบทที่ไม่เกี่ยวข้องทำให้พรอมต์มีข้อมูลรบกวน และอาจทำให้โมเดลสับสนจนตอบนอกประเด็น
หลักเกณฑ์สำหรับบริบทที่กระชับและชัดเจน:
- ใส่เฉพาะข้อมูลที่ส่งผลโดยตรงต่อผลลัพธ์
- อย่าวางเอกสารทั้งฉบับ หากใช้สรุป 2 ประโยคก็เพียงพอ
- นำบริบทที่ขัดแย้งกันเองออก
- หากไม่แน่ใจว่าบริบทนั้นเกี่ยวข้องหรือไม่ ให้ตัดออกก่อน แล้วเพิ่มกลับเข้ามาเฉพาะเมื่อผลลัพธ์แย่ลง
import anthropic
client = anthropic.Anthropic(api_key='sk-ant-your-key-here')
# Polluted context (too much irrelevant info)
polluted = (
'I started my company in 2019. We have 12 employees. We use Slack. '
'Our office is in Berlin. We had a good Q3. Our CEO is named Thomas. '
'We have a dog-friendly office. We use Python for our backend. '
'Last year we moved to a new CRM. We sponsor a local football team.\n\n'
'Write a 2-sentence company bio for our website.'
)
# Clean context (only relevant info)
clean = (
'Company: B2B SaaS, Berlin, founded 2019, 12 employees. '
'Product: Python-based CRM for mid-market sales teams.\n\n'
'Write a 2-sentence company bio for our website.'
)
for label, prompt in [('POLLUTED', polluted), ('CLEAN', clean)]:
response = client.messages.create(
model='claude-opus-4-5',
max_tokens=100,
messages=[{'role': 'user', 'content': prompt}]
)
print(f'--- {label} ---')
print(response.content[0].text.strip())
print()บริบทในฐานะแนวปฏิบัติมาตรฐาน
ผู้สร้างพรอมต์ที่ได้ผลดีที่สุดจะถือว่าบริบทเป็น ส่วนมาตรฐานของแม่แบบ ซึ่งอยู่ก่อนคำสั่งของงานทุกครั้ง
แม่แบบอย่างง่าย:
Context: [domain, technology, role, situation] Audience: [who reads/uses the output] Goal: [what this will accomplish] Constraints: [what must/must not be included] Task: [the actual instruction]
การกรอกแม่แบบนี้ก่อนพรอมต์ทุกครั้งใช้เวลา 30 วินาที และช่วยป้องกันการเขียนแก้ใหม่เป็นเวลาหลายชั่วโมง
# Standard context template implementation
def build_prompt(context, audience, goal, constraints, task):
sections = []
if context: sections.append(f'Context: {context}')
if audience: sections.append(f'Audience: {audience}')
if goal: sections.append(f'Goal: {goal}')
if constraints: sections.append(f'Constraints: {constraints}')
sections.append(f'Task: {task}')
return '\n'.join(sections)
prompt = build_prompt(
context='Python open-source project, MIT license, 2,000 GitHub stars',
audience='New contributors who know Python but are unfamiliar with our codebase',
goal='Help them submit their first pull request within 30 minutes of reading',
constraints='Max 400 words. No command-line flags beyond git basics. No Docker.',
task='Write a Getting Started contributing guide.'
)
print(prompt)ตรวจสอบความรู้
นักพัฒนาคนหนึ่งถามปัญญาประดิษฐ์ว่า: “ช่วยปรับคำค้นของฉันให้มีประสิทธิภาพหน่อย” ปัญญาประดิษฐ์ให้คำแนะนำทั่วไปเกี่ยวกับการปรับปรุงประสิทธิภาพเอสคิวแอล ซึ่งใช้กับการตั้งค่าของนักพัฒนาคนนั้นไม่ได้ บริบทประเภทใดที่ขาดหายไปมากที่สุด (MOST)
สรุปบริบทในการเขียนพรอมต์สำหรับปัญญาประดิษฐ์
บริบทคือข้อมูลพื้นฐานที่โมเดลต้องใช้เพื่อให้คำตอบที่เป็นประโยชน์และตรงเป้าหมาย แทนที่จะให้คำตอบทั่วไป บริบทมีสี่ประเภท:
- บริบทของสาขา: แวดวง อุตสาหกรรม หรือชุดเทคโนโลยี
- บริบทของกลุ่มเป้าหมาย: ผู้ที่จะอ่านผลลัพธ์ รวมถึงภูมิหลังและความเชี่ยวชาญของพวกเขา
- บริบทของเป้าหมาย: ผลลัพธ์นั้นมีจุดประสงค์สุดท้ายเพื่ออะไร
- บริบทด้านข้อจำกัด: ต้องเคารพข้อจำกัดใดบ้าง
องค์ประกอบบริบททุกส่วนที่ขาดหายไปคือการตัดสินใจที่โมเดลทำแทนคุณโดยไม่บอกกล่าว ใช้แม่แบบบริบทเพื่อใส่สิ่งสำคัญอย่างเป็นระบบก่อนเขียนพรอมต์สำคัญทุกครั้ง
คำถามที่พบบ่อย
บทเรียน “บริบทในการเขียนพรอมต์ให้ปัญญาประดิษฐ์หมายถึงอะไร” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “บริบทในการเขียนพรอมต์ให้ปัญญาประดิษฐ์หมายถึงอะไร” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ 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 ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน
บทเรียน “บริบทในการเขียนพรอมต์ให้ปัญญาประดิษฐ์หมายถึงอะไร” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน AI Prompt Engineering นี้ได้ไหม
ได้ บทเรียน AI Prompt Engineering ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- บริบทในการเขียนพรอมต์ให้ปัญญาประดิษฐ์หมายถึงอะไร
- การให้ข้อมูลพื้นฐาน
- การกำหนดฉากอย่างมีประสิทธิภาพ
- ความยาวและความเกี่ยวข้องของบริบท