ผลลัพธ์ข้อความธรรมดากับผลลัพธ์ที่จัดรูปแบบ
เมื่อใดควรขอข้อความธรรมดาที่สะอาดตาแทนผลลัพธ์มาร์กดาวน์ที่มีรูปแบบ
ผลลัพธ์ข้อความธรรมดากับผลลัพธ์ที่จัดรูปแบบ เป็นบทเรียน AI Prompt Engineering ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน AI Prompt Engineering และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส AI Prompt Engineering มีบทเรียนทั้งหมด 4 บทเรียน
กรณีข้อความธรรมดา
การจัดรูปแบบด้วยมาร์กดาวน์มีประสิทธิภาพ แต่ไม่ใช่ตัวเลือกที่เหมาะสมเสมอไป แอปพลิเคชันในโลกจริงจำนวนมากต้องการข้อความที่สะอาดและไม่มีการจัดรูปแบบ โดยสัญลักษณ์มาร์กดาวน์จะแสดงเป็นอักขระตามตัวอักษรแทนที่จะเป็นรูปแบบที่แสดงผลแล้ว
การทราบว่าเมื่อใดควรขอข้อความธรรมดามีความสำคัญพอ ๆ กับการทราบวิธีขอการจัดรูปแบบที่หลากหลาย
เมื่อจำเป็นต้องใช้ข้อความธรรมดา
ใช้ผลลัพธ์แบบข้อความธรรมดาเมื่อสภาพแวดล้อมของคุณไม่แสดงผลมาร์กดาวน์:
- เนื้อหาอีเมล: โปรแกรมรับส่งอีเมลส่วนใหญ่แสดงเครื่องหมายดอกจันดิบ
- SMS และการแจ้งเตือนแบบพุช: ไม่รองรับการจัดรูปแบบ
- ผลลัพธ์เสียง: การแปลงข้อความเป็นเสียงพูดจะอ่าน '** ตัวหนา **' ตามตัวอักษร
- ช่องข้อมูล CRM และฝ่ายช่วยเหลือ: หลายช่องไม่แสดงผลมาร์กดาวน์
- การประมวลผลข้อมูลผ่านเอพีไอ: เมื่อข้อความจะถูกจัดเก็บหรือนำไปประมวลผลต่อ
- ช่องข้อมูลขาเข้าของระบบเดิม: รองรับเฉพาะข้อความธรรมดา
import anthropic
client = anthropic.Anthropic(api_key='sk-ant-your-key-here')
response = client.messages.create(
model='claude-opus-4-5',
max_tokens=200,
messages=[{
'role': 'user',
'content': (
'Write a 120-character push notification for a flash sale ending in 2 hours. '
'Plain text only — no emojis, no markdown, no asterisks, no special characters. '
'Must include: urgency, discount percentage (30%), and category (electronics). '
'Output the notification text only — nothing else.'
)
}]
)
print(response.content[0].text)การขอข้อความธรรมดาอย่างชัดเจน
ในหลายบริบท โมเดลปัญญาประดิษฐ์จะสร้างผลลัพธ์ที่ใช้มาร์กดาวน์จำนวนมากเป็นค่าเริ่มต้น หากต้องการข้อความธรรมดาอย่างแท้จริง คุณต้องระบุอย่างชัดเจน และมักควรระบุสัญลักษณ์เฉพาะที่ต้องการหลีกเลี่ยงด้วย:
- 'ข้อความธรรมดาเท่านั้น — ไม่ต้องจัดรูปแบบด้วยมาร์กดาวน์'
- 'ไม่ใช้เครื่องหมายดอกจัน ไม่ใช้เครื่องหมายแฮช ไม่ใช้สัญลักษณ์จุดนำรายการ'
- 'ไม่ใช้หัวข้อ ไม่ใช้ตัวหนา ไม่ใช้รายการ — ใช้เฉพาะย่อหน้าร้อยแก้วที่ต่อเนื่อง'
- 'ลบการจัดรูปแบบทั้งหมด — ให้ส่งออกเหมือนเขียนในแอปจดบันทึก'
import openai
client = openai.OpenAI(api_key='sk-your-key-here')
# Without plain text instruction — likely gets markdown
default_prompt = 'Explain what a webhook is in 100 words.'
# With explicit plain text instruction
plain_prompt = (
'Explain what a webhook is in 100 words. '
'Output format: plain text only. No markdown. No asterisks. No headers. '
'No bullet points. Just continuous prose paragraphs.'
)
for label, prompt in [('DEFAULT (likely markdown)', default_prompt), ('EXPLICIT PLAIN TEXT', plain_prompt)]:
response = client.chat.completions.create(
model='gpt-4o', max_tokens=150,
messages=[{'role': 'user', 'content': prompt}]
)
print(f'--- {label} ---')
print(response.choices[0].message.content)
print()ข้อความธรรมดาสำหรับเนื้อหาอีเมล
การเขียนเนื้อหาอีเมลเป็นหนึ่งในกรณีใช้งานข้อความธรรมดาที่พบได้บ่อยที่สุด แม้โปรแกรมรับส่งอีเมลบางชนิดจะรองรับการจัดรูปแบบ HTML แต่เนื้อหาอีเมลที่สร้างโดยปัญญาประดิษฐ์ควรมาในรูปแบบร้อยแก้วที่สะอาด เพื่อให้บรรณาธิการนำไปวางในโปรแกรมรับส่งอีเมลหรือ CRM ได้โดยตรงโดยไม่ต้องทำความสะอาด
ให้ระบุว่า: 'เขียนเนื้อหาอีเมลเป็นข้อความธรรมดา ไม่ใช้มาร์กดาวน์ ไม่ใช้เครื่องหมายดอกจันสำหรับตัวหนา ไม่ใช้ขีดสำหรับรายการ ใช้ประโยคที่มีหมายเลขหรือการขึ้นบรรทัดใหม่แทนรายการ'
import anthropic
client = anthropic.Anthropic(api_key='sk-ant-your-key-here')
response = client.messages.create(
model='claude-opus-4-5',
max_tokens=300,
messages=[{
'role': 'user',
'content': (
'Write a 3-paragraph re-engagement email for inactive newsletter subscribers. '
'Context: SaaS analytics tool, subscriber inactive for 60 days.\n'
'Format requirements:\n'
'- Plain text only — no asterisks, no pound signs, no bullet symbols\n'
'- Paragraph 1: acknowledge absence, create curiosity\n'
'- Paragraph 2: one new feature they missed\n'
'- Paragraph 3: CTA with a direct link placeholder [LINK]\n'
'- No subject line — body only'
)
}]
)
print(response.content[0].text)ย่อหน้าร้อยแก้วที่อ่านลื่น
นอกเหนือจากการหลีกเลี่ยงสัญลักษณ์มาร์กดาวน์แล้ว คำว่า 'ร้อยแก้วที่สะอาด' หมายถึงการจัดเรียงแนวคิดเป็นประโยคที่ต่อเนื่อง แทนที่จะเป็นจุดนำรายการที่ขาดตอน
ร้อยแก้วที่ดี:
- ใช้คำเชื่อมเพื่อเชื่อมแนวคิด (อย่างไรก็ตาม นอกจากนี้ ด้วยเหตุนี้)
- สลับความยาวของประโยคเพื่อสร้างจังหวะ
- รวมแนวคิดที่เกี่ยวข้องไว้ในย่อหน้าที่เป็นเอกภาพ
- หลีกเลี่ยงการเริ่มทุกประโยคด้วยคำนาม
คำขอ: 'เขียนเป็นย่อหน้าร้อยแก้วที่อ่านลื่น ไม่ใช้รายการ ไม่ใช้หัวข้อ และใช้ประโยคที่ต่อเนื่องพร้อมคำเชื่อม'
import openai
client = openai.OpenAI(api_key='sk-your-key-here')
prose_prompt = (
'Explain the advantages of using Docker for development environments. '
'Write in 3 clean prose paragraphs. '
'Requirements:\n'
'- No bullet points or numbered lists\n'
'- No markdown headers\n'
'- Use transition words between sentences and paragraphs\n'
'- Vary sentence length — mix short and long\n'
'- 150 words total maximum'
)
response = client.chat.completions.create(
model='gpt-4o',
messages=[{'role': 'user', 'content': prose_prompt}]
)
print(response.choices[0].message.content)ข้อความธรรมดาสำหรับผลลัพธ์เสียง
ระบบแปลงข้อความเป็นเสียงพูดจะอ่านทุกอย่างตามตัวอักษร หากผลลัพธ์จากปัญญาประดิษฐ์จะถูกอ่านออกเสียง:
- หลีกเลี่ยงสัญลักษณ์มาร์กดาวน์ทั้งหมด
- หลีกเลี่ยงคำย่อ เนื่องจากระบบแปลงข้อความเป็นเสียงพูดอาจไม่ขยายคำย่อเหล่านั้น
- เขียนตัวเลขเป็นคำเต็มเมื่อเหมาะสม
- ใช้เครื่องหมายจุลภาคเพื่อสร้างจุดหยุดตามธรรมชาติ
- หลีกเลี่ยงวงเล็บ เนื่องจากระบบแปลงข้อความเป็นเสียงพูดมักอ่านได้ไม่เป็นธรรมชาติ
- เขียนอักขระพิเศษเป็นคำ ('@' → 'แอท')
import anthropic
client = anthropic.Anthropic(api_key='sk-ant-your-key-here')
response = client.messages.create(
model='claude-opus-4-5',
max_tokens=200,
messages=[{
'role': 'user',
'content': (
'Write a 45-second spoken weather briefing for London today. '
'Conditions: 12 degrees Celsius, light rain, wind 15 km/h from the southwest.\n'
'Format for voice output:\n'
'- No markdown symbols of any kind\n'
'- No parentheses\n'
'- No abbreviations (write "kilometres per hour" not "km/h")\n'
'- Natural spoken rhythm — use commas for pause points\n'
'- Write numbers as words when under ten'
)
}]
)
print(response.content[0].text)การลบมาร์กดาวน์ออกจากผลลัพธ์ที่มีอยู่
บางครั้งคุณได้รับผลลัพธ์มาร์กดาวน์จากการเรียกปัญญาประดิษฐ์ครั้งหนึ่ง และต้องทำความสะอาดเพื่อใช้ในบริบทอื่น คุณสามารถเรียกปัญญาประดิษฐ์ครั้งที่สองโดยระบุให้ลบมาร์กดาวน์โดยเฉพาะ:
'ลบการจัดรูปแบบมาร์กดาวน์ทั้งหมดออกจากข้อความต่อไปนี้ แทนที่ **ตัวหนา** ด้วยข้อความธรรมดา ลบหัวข้อที่ขึ้นต้นด้วย # เปลี่ยนจุดนำรายการเป็นประโยคที่มีหมายเลข และลบเครื่องหมายดอกจันกับเครื่องหมายแฮชทั้งหมด ส่งออกเฉพาะข้อความธรรมดาที่สะอาด'
import openai
import re
client = openai.OpenAI(api_key='sk-your-key-here')
markdown_text = (
'## Key Benefits\n'
'- **Faster deployment** with Docker containers\n'
'- **Consistent environments** across dev and prod\n'
'- Reduced *configuration drift* between machines\n'
'### Getting Started\n'
'Run docker-compose up to start all services.'
)
# Option 1: Ask AI to strip
response = client.chat.completions.create(
model='gpt-4o',
max_tokens=150,
messages=[{
'role': 'user',
'content': (
'Remove all markdown formatting from the text below. '
'Keep all the information but strip: **, ##, ###, -, *, backticks. '
'Convert bullet lists to flowing sentences. Output plain text only.\n\n'
+ markdown_text
)
}]
)
print('AI-stripped:', response.choices[0].message.content.strip())
# Option 2: Simple regex strip (for code-based pipelines)
import re
clean = re.sub(r'[#*]', '', markdown_text).strip()
print('Regex-stripped:', clean)ข้อความธรรมดาในข้อความระบบ
สำหรับผู้ช่วยปัญญาประดิษฐ์ที่ส่งออกไปยังสภาพแวดล้อมข้อความธรรมดาเป็นประจำ ให้กำหนดกฎการจัดรูปแบบไว้ครั้งเดียวในข้อความระบบ แทนการระบุซ้ำในทุกครั้งที่ผู้ใช้ส่งคำขอ
นี่เป็นแนวทางที่สะอาดที่สุดสำหรับแอปพลิเคชันที่พร้อมใช้งานจริง เมื่อคุณทราบสภาพแวดล้อมการแสดงผลล่วงหน้า
import anthropic
client = anthropic.Anthropic(api_key='sk-ant-your-key-here')
# System message enforces plain text for all responses
plain_text_system = (
'You are a helpful assistant embedded in a mobile push notification system. '
'All your responses are displayed as plain text in mobile notifications. '
'ALWAYS follow these formatting rules:\n'
'- Never use markdown (no **, no #, no -, no backtick, no *, no _)\n'
'- Never use bullet points or numbered lists\n'
'- Write in 1-2 complete sentences only\n'
'- Maximum 120 characters per response\n'
'- No emojis'
)
response = client.messages.create(
model='claude-opus-4-5',
max_tokens=64,
system=plain_text_system,
messages=[
{'role': 'user', 'content': 'Notify user their order has shipped and will arrive in 2 days.'}
]
)
print(response.content[0].text)กรอบการตัดสินใจเรื่องรูปแบบ
ใช้กรอบการตัดสินใจอย่างรวดเร็วนี้ก่อนขอผลลัพธ์ในรูปแบบใด ๆ:
- ผลลัพธ์จะถูกส่งไปที่ใด ส่วนติดต่อผู้ใช้บนเว็บ อีเมล เทอร์มินัล เสียง หรือฐานข้อมูล
- สภาพแวดล้อมนั้นแสดงผลมาร์กดาวน์หรือไม่ ใช่ → ใช้มาร์กดาวน์ ไม่ใช่ → ใช้ข้อความธรรมดา
- จะมีมนุษย์อ่านหรือไม่ ใช่ → จัดโครงสร้างให้อ่านกวาดตาได้ง่าย ไม่ใช่ → ปรับให้เหมาะกับการแยกวิเคราะห์
- โค้ดจะประมวลผลหรือไม่ ใช่ → ใช้เจสันหรือ CSV และไม่ใช้ร้อยแก้ว
- จะมีการอ่านออกเสียงหรือไม่ ใช่ → ใช้ข้อความธรรมดาที่เหมาะกับเสียง และไม่ใช้คำย่อ
def choose_format(environment, human_reads, code_processes, voice_output):
'''Simple formatting decision tree.'''
if voice_output:
return 'PLAIN TEXT — voice safe, spell out numbers and units'
if code_processes:
return 'JSON or CSV — machine-parseable, no prose'
renders_markdown = environment in ['web', 'notion', 'github', 'vscode', 'obsidian']
if renders_markdown and human_reads:
return 'MARKDOWN — headers, bold, code blocks, lists'
return 'PLAIN TEXT — clean prose paragraphs, no markdown symbols'
scenarios = [
('web', True, False, False),
('email', True, False, False),
('api_pipeline',False, True, False),
('voice_app', False, False, True),
('terminal', True, False, False),
]
for env, human, code, voice in scenarios:
result = choose_format(env, human, code, voice)
print(f'{env:<15} -> {result}')ข้อความธรรมดาที่มีโครงสร้าง
ข้อความธรรมดาไม่จำเป็นต้องไร้โครงสร้าง คุณสามารถสร้างโครงสร้างโดยไม่ใช้มาร์กดาวน์ได้ด้วยวิธีต่อไปนี้:
- ALL CAPS SECTION LABELS (แสดงผลเหมือนกันในทุกที่)
- การขึ้นบรรทัดใหม่ระหว่างส่วนต่าง ๆ
- ประโยคที่มีหมายเลข: '1. ประเด็นแรก 2. ประเด็นที่สอง'
- ขีดยาวเพื่อแยกข้อความ: 'ข้อสรุปสำคัญ — โปรดตรวจสอบก่อนดำเนินการเสมอ'
- การเยื้องอย่างสม่ำเสมอด้วยการเว้นวรรค (สำหรับผลลัพธ์ในเทอร์มินัล)
import openai
client = openai.OpenAI(api_key='sk-your-key-here')
response = client.chat.completions.create(
model='gpt-4o',
messages=[{
'role': 'user',
'content': (
'Write a daily briefing for a developer — 3 sections: TASKS, BLOCKERS, NOTES. '
'Format: plain text only. '
'Use ALL CAPS section labels followed by a colon. '
'Use a line break between sections. '
'Number each item within a section. '
'No markdown symbols of any kind. '
'Use realistic placeholder content.'
)
}]
)
print(response.choices[0].message.content)การตรวจจับรูปแบบผลลัพธ์
ในแอปพลิเคชันที่พร้อมใช้งานจริง คุณสามารถตรวจจับสภาพแวดล้อมของผลลัพธ์ด้วยโปรแกรม แล้วแทรกคำสั่งกำหนดรูปแบบที่เหมาะสมโดยอัตโนมัติได้ เพื่อไม่ต้องระบุด้วยตนเองในแต่ละคำสั่ง
นี่เป็นรูปแบบการทำงานที่พบได้ทั่วไปในระบบปัญญาประดิษฐ์หลายช่องทาง ซึ่งให้บริการเนื้อหาเดียวกันแก่ผู้ใช้เว็บ อุปกรณ์เคลื่อนที่ และผู้เรียกใช้ผ่านเอพีไอ
import anthropic
client = anthropic.Anthropic(api_key='sk-ant-your-key-here')
def get_format_instruction(channel):
formats = {
'web': 'Use markdown formatting: headers, bold, bullet points, code blocks.',
'email': 'Plain text only. No markdown symbols. Use line breaks between sections.',
'sms': 'Plain text. Single paragraph. Max 160 characters.',
'voice': 'Plain text. No symbols. Natural spoken sentences only. Spell out numbers.',
'api': 'JSON output only. No prose.',
}
return formats.get(channel, 'Plain text only.')
def ask_with_channel(question, channel):
fmt = get_format_instruction(channel)
response = client.messages.create(
model='claude-opus-4-5',
max_tokens=100,
system=f'Format instruction: {fmt}',
messages=[{'role': 'user', 'content': question}]
)
return response.content[0].text
q = 'What are 3 benefits of regular code reviews?'
for ch in ['web', 'sms', 'voice']:
print(f'[{ch.upper()}]:')
print(ask_with_channel(q, ch)[:150])
print()ตรวจสอบความรู้
นักพัฒนาสร้างแชตบอตปัญญาประดิษฐ์สำหรับบริการลูกค้า โดยส่งคำตอบเข้าไปยัง CRM รุ่นเก่าที่จัดเก็บข้อความธรรมดา ปัญญาประดิษฐ์ยังคงส่งคำตอบที่มี ** สำหรับตัวหนาและ - สำหรับจุดนำรายการ ซึ่งแสดงเป็นอักขระดิบใน CRM วิธีแก้ที่น่าเชื่อถือที่สุดคืออะไร
ข้อความธรรมดาเทียบกับผลลัพธ์ที่จัดรูปแบบ — สรุปทบทวน
การเลือกรูปแบบที่เหมาะสมขึ้นอยู่กับสภาพแวดล้อมของผลลัพธ์ กฎสำคัญมีดังนี้:
- ใช้ มาร์กดาวน์ เมื่อสภาพแวดล้อมแสดงผลได้ เช่น ส่วนติดต่อผู้ใช้บนเว็บ โนชัน GitHub และเอกสาร
- ใช้ ข้อความธรรมดา สำหรับเนื้อหาอีเมล SMS เสียง CRM และกระบวนการส่งต่อข้อมูลผ่านเอพีไอ
- ใช้ เจสัน/CSV เมื่อโค้ดจะประมวลผลผลลัพธ์
- ขอข้อความธรรมดาโดยระบุสิ่งที่ต้องหลีกเลี่ยงอย่างชัดเจน: ไม่ใช้เครื่องหมายดอกจัน ไม่ใช้เครื่องหมายแฮช และไม่ใช้จุดนำรายการ
- กำหนดกฎการจัดรูปแบบ ครั้งเดียวในข้อความระบบ เพื่อให้พฤติกรรมของแอปพลิเคชันสม่ำเสมอ
- ข้อความธรรมดายังคงมีโครงสร้างได้ผ่าน CAPS LABELS การขึ้นบรรทัดใหม่ และประโยคที่มีหมายเลข
เรียนรู้ 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 ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน
บทเรียน “ผลลัพธ์ข้อความธรรมดากับผลลัพธ์ที่จัดรูปแบบ” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน AI Prompt Engineering นี้ได้ไหม
ได้ บทเรียน AI Prompt Engineering ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- การขอรายการและหัวข้อย่อย
- การขอตารางและข้อมูลที่มีโครงสร้าง
- การจัดรูปแบบมาร์กดาวน์ในพรอมป์ต
- ผลลัพธ์ข้อความธรรมดากับผลลัพธ์ที่จัดรูปแบบ