การให้ข้อมูลพื้นฐาน
เวลาและวิธีใส่ความรู้เฉพาะสาขา ข้อจำกัด และรายละเอียดโครงการ
การให้ข้อมูลพื้นฐาน เป็นบทเรียน AI Prompt Engineering ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน AI Prompt Engineering และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส AI Prompt Engineering มีบทเรียนทั้งหมด 4 บทเรียน
เหตุใดข้อมูลพื้นฐานจึงสำคัญ
ข้อมูลพื้นฐานให้ข้อเท็จจริงที่โมเดลไม่อาจรู้ได้ด้วยตนเอง เช่น รายละเอียดเฉพาะของโครงการ ข้อจำกัดของทีม งานที่มีอยู่แล้ว และความคาดหวังของผู้มีส่วนได้ส่วนเสีย
หากไม่มีข้อมูลพื้นฐาน โมเดลจะสร้างคำตอบสำหรับสถานการณ์ทั่วไปในจินตนาการ แต่เมื่อมีข้อมูลพื้นฐาน โมเดลจะสร้างคำตอบสำหรับสถานการณ์ของคุณ
เมื่อใดควรใส่ความรู้เฉพาะสาขา
ใส่ความรู้เฉพาะสาขาลงในพรอมต์เมื่อ:
- หัวข้อนั้นตีความได้หลายแบบในแต่ละอุตสาหกรรม
- คุณกำลังใช้ศัพท์เฉพาะ
- คำตอบที่ถูกต้องขึ้นอยู่กับบรรทัดฐานหรือกฎระเบียบเฉพาะสาขา
- โมเดลอาจให้คำตอบทั่วไป ทั้งที่คุณต้องการคำตอบเฉพาะสาขา
อย่าวางตำราเรียนทั้งเล่ม ให้สรุปข้อเท็จจริงเกี่ยวกับสาขา 2–3 ข้อที่เกี่ยวข้องกับคำถามเฉพาะของคุณมากที่สุด
import anthropic
client = anthropic.Anthropic(api_key='sk-ant-your-key-here')
domain_knowledge = (
'Domain: algorithmic trading at a regulated broker-dealer in the US. '
'Relevant rules: SEC Rule 15c3-5 (Market Access Rule) requires pre-trade risk checks. '
'Latency budget: all risk checks must complete in under 100 microseconds. '
'Stack: C++ for the matching engine, Python for strategy logic.'
)
response = client.messages.create(
model='claude-opus-4-5',
max_tokens=300,
messages=[{
'role': 'user',
'content': (
f'{domain_knowledge}\n\n'
f'Question: How should we implement position limit checks for our order router?'
)
}]
)
print(response.content[0].text)การใส่รายละเอียดโครงการ
รายละเอียดโครงการบอกโมเดลเกี่ยวกับบริบทเฉพาะของงานที่คุณกำลังทำ รายละเอียดโครงการที่จำเป็น ได้แก่:
- โครงการคืออะไรและอยู่ในระยะใดในปัจจุบัน (MVP / การขยายระบบ / ระยะเติบโตเต็มที่)
- ชุดเทคโนโลยีและสถาปัตยกรรม
- ขนาดทีมและระดับทักษะ
- กรอบเวลาและแรงกดดันจากกำหนดส่ง
- การเปลี่ยนแปลงหรือเหตุการณ์ล่าสุดที่ส่งผลต่อคำถาม
import openai
client = openai.OpenAI(api_key='sk-your-key-here')
project_context = (
'Project: a mobile recipe app (React Native, Node.js backend, MongoDB). '
'Stage: pre-launch, 2 weeks to go live. '
'Team: 2 frontend devs, 1 backend dev, no dedicated QA. '
'Current issue: app search is slow (3-5 seconds) with 50,000 recipes in the DB. '
'Constraint: no time for a full re-architecture before launch.'
)
response = client.chat.completions.create(
model='gpt-4o',
messages=[{
'role': 'user',
'content': (
f'{project_context}\n\n'
f'Suggest 3 quick wins to improve search speed before launch. '
f'Each suggestion: what to do (1 sentence), estimated effort (hours), '
f'expected improvement.'
)
}]
)
print(response.choices[0].message.content)การแบ่งปันงานที่มีอยู่แล้ว
การแบ่งปันงานที่มีอยู่แล้วช่วยให้โมเดลต่อยอดจากสิ่งที่คุณทำไว้ แทนที่จะเริ่มต้นใหม่ทั้งหมด ใส่ผลงานที่มีอยู่แล้วเมื่อคุณต้องการ:
- ต่อเนื่องหรือขยายเอกสารหรือรหัสโปรแกรม
- คำวิจารณ์และคำแนะนำเพื่อปรับปรุง
- การเลียนแบบรูปแบบ (เลียนแบบน้ำเสียงและรูปแบบของสิ่งที่มีอยู่)
- การตรวจสอบความสอดคล้อง (ชิ้นงานใหม่นี้เข้ากับโครงสร้างเดิมหรือไม่)
import anthropic
client = anthropic.Anthropic(api_key='sk-ant-your-key-here')
existing_intro = (
'At Northlight Labs, we build AI tools that work the way humans think — '
'not the other way around. Founded in 2022 by two ex-Google researchers, '
'we have helped 500 companies ship smarter products without hiring ML teams.'
)
response = client.messages.create(
model='claude-opus-4-5',
max_tokens=200,
messages=[{
'role': 'user',
'content': (
'Here is our existing company intro paragraph:\n\n'
f'{existing_intro}\n\n'
'Write a second paragraph (matching this exact tone and style) '
'that describes our flagship product: an API that lets developers '
'add natural language search to any database with 3 lines of code. '
'Keep it under 60 words.'
)
}]
)
print(response.content[0].text)การระบุข้อจำกัดล่วงหน้า
ข้อจำกัดคือกฎที่โมเดลต้องปฏิบัติตาม การระบุข้อจำกัดไว้ล่วงหน้าช่วยป้องกันไม่ให้โมเดลเสนอแนวคิดที่ถูกต้องทุกประการ แต่บังเอิญเป็นไปไม่ได้ในสถานการณ์ของคุณ
ประเภทข้อจำกัดที่ควรระบุ:
- ด้านเทคนิค: “ไพธอน 3.11 ไม่มีไลบรารีจากบุคคลที่สาม”
- ด้านงบประมาณ: “0 ดอลลาร์ — ใช้เฉพาะซอฟต์แวร์โอเพนซอร์ส”
- ด้านเวลา: “ต้องทำให้เสร็จภายในการทำงานแบบเร่งรัด 2 ชั่วโมง”
- ด้านกฎระเบียบ: “ห้ามมีข้อมูลที่ระบุตัวบุคคลได้ในบันทึก”
- ด้านองค์กร: “ไม่สามารถเปลี่ยนโครงสร้างฐานข้อมูลได้”
import openai
client = openai.OpenAI(api_key='sk-your-key-here')
response = client.chat.completions.create(
model='gpt-4o',
messages=[{
'role': 'user',
'content': (
'We need to add rate limiting to our REST API.\n\n'
'Constraints:\n'
'- Python 3.11 FastAPI application\n'
'- No external dependencies beyond what is already installed (requests, pydantic, uvicorn)\n'
'- Must work as a single process (no Redis, no shared state between workers)\n'
'- Rate limit: 100 requests per minute per IP address\n'
'- If limit exceeded, return HTTP 429 with Retry-After header\n\n'
'Show me a complete implementation.'
)
}]
)
print(response.choices[0].message.content)ข้อมูลผู้มีส่วนได้ส่วนเสีย
ข้อมูลผู้มีส่วนได้ส่วนเสียบอกโมเดลว่า ใครอีกบ้างที่มีความสำคัญในสถานการณ์ของคุณ ผู้มีส่วนได้ส่วนเสียมีอิทธิพลต่อความเสี่ยงที่ควรเน้น ข้อโต้แย้งที่ควรตอบ และนิยามของความสำเร็จ
- “กลุ่มเป้าหมายของฉันมี CFO ซึ่งไม่เชื่อมั่นการลงทุนด้านปัญญาประดิษฐ์”
- “ทีมกฎหมายของเราจะตรวจทานสิ่งนี้ก่อนเผยแพร่”
- “ผู้ใช้ปลายทางมีความต้องการด้านการเข้าถึง — ต้องรองรับโปรแกรมอ่านหน้าจอ”
- “CTO ของเราชอบวิธีแก้ปัญหาที่เรียบง่าย มากกว่าวิธีที่ดูฉลาดแต่ซับซ้อน”
import anthropic
client = anthropic.Anthropic(api_key='sk-ant-your-key-here')
stakeholder_context = (
'This proposal will be reviewed by:\n'
'1. CTO: cares about technical risk and maintainability, skeptical of microservices\n'
'2. CFO: cares about cost, wants to see clear ROI numbers\n'
'3. VP Engineering: cares about developer experience and team morale\n'
'The CTO has veto power.'
)
response = client.messages.create(
model='claude-opus-4-5',
max_tokens=400,
messages=[{
'role': 'user',
'content': (
f'{stakeholder_context}\n\n'
f'Write a 3-paragraph executive summary for a proposal to migrate '
f'our monolith to a modular monolith (not microservices). '
f'Address each stakeholder\'s top concern in a separate paragraph.'
)
}]
)
print(response.content[0].text)วิธีเรียงตามลำดับเวลา
สำหรับสถานการณ์ที่ซับซ้อน วิธีเรียงตามลำดับเวลาจะจัดข้อมูลพื้นฐานให้อยู่ในรูปเส้นเวลาของเหตุการณ์ วิธีนี้ช่วยให้โมเดลเข้าใจความเป็นเหตุเป็นผลและสถานะปัจจุบัน
รูปแบบ:
- สถานการณ์ก่อนหน้านี้เป็นอย่างไร
- มีอะไรเปลี่ยนแปลงหรือเกิดขึ้น
- สถานะปัจจุบันเป็นอย่างไร
- เมื่อพิจารณาลำดับเหตุการณ์นี้แล้ว คุณต้องการความช่วยเหลือเรื่องใด
import openai
client = openai.OpenAI(api_key='sk-your-key-here')
chronological_background = (
'Timeline:\n'
'- 6 months ago: We launched v1 of our API with a flat pricing model ($99/month).\n'
'- 3 months ago: Power users (top 10%) started consuming 80% of compute.\n'
'- 1 month ago: We introduced usage-based pricing — power users complained loudly.\n'
'- Current: 12% of power users have churned; new signups are up 15%.\n'
'- Goal: Keep power users without losing the new-signup growth.\n'
)
response = client.chat.completions.create(
model='gpt-4o',
messages=[{
'role': 'user',
'content': (
f'{chronological_background}\n\n'
f'Suggest 3 pricing model adjustments that could address both groups. '
f'For each: describe the change, who it benefits, and the revenue risk.'
)
}]
)
print(response.choices[0].message.content)การใช้ข้อมูลของคุณเองเป็นข้อมูลพื้นฐาน
หนึ่งในการใช้ข้อมูลพื้นฐานที่ทรงพลังที่สุดคือการนำข้อมูลของคุณเอง เช่น ตัวชี้วัด บันทึก ผลลัพธ์ หรืองานวิจัย ใส่ลงในพรอมต์โดยตรง เพื่อให้โมเดลวิเคราะห์ตัวเลขเฉพาะของคุณได้
วางข้อมูลในรูปแบบที่สะอาดและอ่านง่ายเสมอ ตารางและรายการที่มีโครงสร้างเหมาะที่สุด ส่วนข้อความดิบจำนวนมากจะแยกวิเคราะห์ได้ยากกว่า
import anthropic
client = anthropic.Anthropic(api_key='sk-ant-your-key-here')
metrics_data = (
'Weekly active users (WAU) last 8 weeks:\n'
'Week 1: 1,200 | Week 2: 1,350 | Week 3: 1,290 | Week 4: 1,400\n'
'Week 5: 1,380 | Week 6: 1,220 | Week 7: 1,100 | Week 8: 980\n'
'Note: We launched a pricing change in Week 5.'
)
response = client.messages.create(
model='claude-opus-4-5',
max_tokens=300,
messages=[{
'role': 'user',
'content': (
f'{metrics_data}\n\n'
f'Analyze the trend, identify where decline began, '
f'and suggest 2 hypotheses for the cause. '
f'Be specific — reference the exact weeks in your analysis.'
)
}]
)
print(response.content[0].text)สิ่งที่ไม่ควรใส่เป็นข้อมูลพื้นฐาน (NOT)
ข้อมูลพื้นฐานมีต้นทุน นั่นคือการใช้โทเค็น ดังนั้นให้ใส่เฉพาะสิ่งที่ส่งผลโดยตรงต่อคำตอบ
ข้อมูลพื้นฐานที่โดยทั่วไปไม่จำเป็น:
- เรื่องราวการก่อตั้งบริษัท (เว้นแต่โทนของแบรนด์จะมีความสำคัญ)
- ผังองค์กรของทีม (เว้นแต่อำนาจในการตัดสินใจจะมีความสำคัญ)
- บริบททางประวัติศาสตร์ที่เก่ากว่าช่วงเวลาของการตัดสินใจ
- เทคโนโลยีที่คุณไม่ได้ใช้ (NOT)
- ปัญหาที่แก้ไขไปแล้วและไม่เกี่ยวข้องกับคำถามปัจจุบัน
เมื่อไม่แน่ใจ ให้ใส่ข้อมูลนั้นหนึ่งครั้ง ดูว่าผลลัพธ์ดีขึ้นหรือไม่ แล้วตัดออกเมื่อใช้งานครั้งต่อ ๆ ไป
# Contrast: bloated vs lean background
bloated_background = (
'Our company was founded in 2018 by Alice and Bob. '
'We have 45 employees across 3 offices. We use Jira for project management. '
'We had a product refresh in 2020. Our CTO came from Amazon. '
'We use Slack, Notion, and Linear. '
'We once tried Kubernetes but moved back to Docker Compose. '
'Question: How should we handle database connection pooling in FastAPI?'
)
lean_background = (
'Stack: FastAPI, PostgreSQL, deployed on a single 8-core server. '
'Load: ~200 concurrent users peak. '
'Current issue: seeing "too many connections" errors under load. '
'Question: How should we handle database connection pooling?'
)
print('Bloated background:', len(bloated_background.split()), 'words')
print('Lean background:', len(lean_background.split()), 'words')
print('Reduction:', round((1 - len(lean_background.split())/len(bloated_background.split()))*100), '%')การจัดรูปแบบข้อมูลพื้นฐานให้อ่านง่าย
วิธีจัดรูปแบบข้อมูลพื้นฐานส่งผลต่อประสิทธิภาพที่โมเดลใช้ประมวลผลข้อมูล แนวปฏิบัติที่ดีที่สุด:
- ใช้ส่วนที่มีป้ายกำกับ:
Stack:,Constraints:,Goal: - ใช้รายการหัวข้อย่อยสำหรับรายการที่อยู่ในระดับเดียวกัน
- วางข้อมูลที่สำคัญที่สุดไว้ก่อน
- แยกข้อมูลพื้นฐานออกจากงานด้วยบรรทัดว่างหรือเครื่องหมายที่ชัดเจน
- ใช้คำศัพท์อย่างสม่ำเสมอ — อย่าเรียกสิ่งเดียวกันด้วยชื่อสองชื่อ
import openai
client = openai.OpenAI(api_key='sk-your-key-here')
# Well-formatted background
formatted_background = (
'=== BACKGROUND ===\n'
'Project: real-time chat API\n'
'Stack: Python FastAPI, WebSockets, Redis pub/sub, PostgreSQL\n'
'Scale: 10,000 concurrent connections target\n'
'Constraints: single server for now, no Kubernetes\n'
'Current problem: messages are occasionally delivered out of order\n'
'=== TASK ===\n'
'Explain the root cause of out-of-order message delivery in WebSocket pub/sub '
'and suggest the simplest fix for our stack.'
)
response = client.chat.completions.create(
model='gpt-4o',
messages=[{'role': 'user', 'content': formatted_background}]
)
print(response.choices[0].message.content)ข้อมูลพื้นฐานที่นำกลับมาใช้ใหม่ในข้อความระบบ
หากคุณกำลังสร้างแอปพลิเคชันที่ขับเคลื่อนด้วยปัญญาประดิษฐ์ และข้อมูลพื้นฐานเดียวกันมีผลกับการสนทนาทั้งหมด ให้ใส่ข้อมูลนั้นไว้ใน ข้อความระบบ แทนการเขียนซ้ำในข้อความของผู้ใช้ทุกครั้ง
วิธีนี้มีประสิทธิภาพมากกว่า และช่วยให้บริบทสอดคล้องกันตลอดการโต้ตอบทั้งหมดโดยที่ผู้ใช้ไม่ต้องกล่าวซ้ำ
import anthropic
client = anthropic.Anthropic(api_key='sk-ant-your-key-here')
# System message carries reusable background for every user turn
system_background = (
'You are an AI assistant embedded in Northlight Labs\' internal developer portal. '
'Background: our stack is Python 3.11, FastAPI, PostgreSQL 15, Redis 7, Docker. '
'We follow Google Python style guide. All code examples must include type hints. '
'We do not use ORM — raw SQL with psycopg3. '
'Our API follows REST conventions with snake_case JSON fields.'
)
# Now every user turn gets this background automatically
response = client.messages.create(
model='claude-opus-4-5',
max_tokens=300,
system=system_background,
messages=[
{'role': 'user', 'content': 'Show me how to insert a row into the users table.'}
]
)
print(response.content[0].text)ตรวจสอบความรู้
ผู้จัดการผลิตภัณฑ์ต้องการให้ปัญญาประดิษฐ์ช่วยเขียนอีเมลประกาศคุณลักษณะใหม่ โดยใส่ปีที่ก่อตั้งบริษัท จำนวนพนักงาน สถานที่ตั้งสำนักงาน แล้วจึงตามด้วยงานที่ต้องการให้ทำ ข้อมูลพื้นฐานประเภทใดที่ขาดหายไปและจะช่วยปรับปรุงผลลัพธ์ได้มากที่สุด
การให้ข้อมูลพื้นฐาน — สรุป
ข้อมูลพื้นฐานที่ดีคือสิ่งที่ทำให้คำแนะนำทั่วไปแตกต่างจากคำแนะนำที่เหมาะกับสถานการณ์ของคุณจริง ๆ หลักการสำคัญ:
- ใส่ความรู้เฉพาะสาขาที่ส่งผลต่อคำตอบที่ถูกต้องในแวดวงของคุณ
- แบ่งปันรายละเอียดโครงการ: ชุดเทคโนโลยี ระยะของโครงการ ขนาดทีม และการเปลี่ยนแปลงล่าสุด
- ใส่งานที่มีอยู่แล้วเมื่อต้องการให้ต่อเนื่องหรือเลียนแบบรูปแบบ
- ระบุข้อจำกัดล่วงหน้าเพื่อป้องกันคำแนะนำที่ใช้ประโยชน์ไม่ได้
- ใส่ข้อมูลผู้มีส่วนได้ส่วนเสียเพื่อให้โมเดลตอบประเด็นที่ถูกต้อง
- ใช้วิธีเรียงตามลำดับเวลาสำหรับบริบทของสถานการณ์ที่ซับซ้อน
- ให้ข้อมูลพื้นฐานอย่างกระชับ — ใส่เฉพาะสิ่งที่ส่งผลต่อคำตอบ
เรียนรู้ AI Prompt Engineering ด้วย AI tutor — ฟรี
เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป
- คอร์ส
- 53
- บทเรียน
- 199
คำถามที่พบบ่อย
บทเรียน “การให้ข้อมูลพื้นฐาน” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การให้ข้อมูลพื้นฐาน” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- บริบทในการเขียนพรอมต์ให้ปัญญาประดิษฐ์หมายถึงอะไร
- การให้ข้อมูลพื้นฐาน
- การกำหนดฉากอย่างมีประสิทธิภาพ
- ความยาวและความเกี่ยวข้องของบริบท