AI Prompt Engineering · บทเรียน

การให้ข้อมูลพื้นฐาน

เวลาและวิธีใส่ความรู้เฉพาะสาขา ข้อจำกัด และรายละเอียดโครงการ

บทเรียน 2 จาก 413 ขั้นตอน

การให้ข้อมูลพื้นฐาน เป็นบทเรียน 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

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

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