การเรียกใช้ Anthropic API: messages
ใช้ Anthropic messages API พร้อมเรียนรู้ความแตกต่างจาก OpenAI ตำแหน่งของพรอมต์ระบบ และแนวปฏิบัติที่เหมาะกับ Claude
การเรียกใช้ Anthropic API: messages เป็นบทเรียน AI Agents ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน AI Agents และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส AI Agents มีบทเรียนทั้งหมด 4 บทเรียน
บางส่วนของบทเรียนนี้ยังไม่ได้รับการแปล และแสดงเป็นภาษาอังกฤษ
เหตุใดจึงใช้ Anthropic
โมเดล Claude มักทำตามคำสั่งได้ดีกว่า ใช้เครื่องมือได้ดีกว่า และมีหน้าต่างบริบทที่ยาวกว่าโมเดล OpenAI ที่เทียบเคียงกันได้ และบางครั้งก็มีราคาถูกกว่า
เอเจนต์ที่ใช้งานจริงส่วนใหญ่รองรับผู้ให้บริการทั้งสองรายเพื่อใช้เป็นทางเลือกสำรอง
Install the SDK
# pip install anthropic
import anthropic
client = anthropic.Anthropic() # reads ANTHROPIC_API_KEY from envการเรียกใช้ครั้งแรก
จุดเชื่อมต่อคือ messages.create:
response = client.messages.create(
model='claude-sonnet-4-5',
max_tokens=512,
system='You are a concise assistant.',
messages=[
{'role': 'user', 'content': 'Capital of France?'},
],
)
print(response.content[0].text)
# 'Paris.'ความแตกต่างสำคัญจาก OpenAI
systemเป็นพารามิเตอร์ระดับบนสุด ไม่ใช่ข้อความmax_tokensเป็น REQUIREDcontentเป็นรายการบล็อก (ข้อความ tool_use และอื่น ๆ)- ไม่มีพารามิเตอร์
n— ให้ใช้การเรียกใช้หลายครั้ง
บล็อกเนื้อหา
แม้แต่การตอบกลับที่เป็นข้อความก็มาในรูปแบบรายการบล็อก:
response.content # list of blocks
response.content[0].type # 'text' or 'tool_use'
response.content[0].text # the text content
response.stop_reason # 'end_turn' / 'max_tokens' / 'tool_use'
response.usage.input_tokens
response.usage.output_tokensเนื้อหาหลายบล็อก
คุณยังสามารถส่งรายการบล็อกเนื้อหาในข้อความจากผู้ใช้ได้ด้วย (รูปภาพ ผลลัพธ์ของเครื่องมือ):
messages = [{
'role': 'user',
'content': [
{'type': 'text', 'text': 'What is in this image?'},
{'type': 'image', 'source': {
'type': 'base64',
'media_type': 'image/png',
'data': image_base64
}}
]
}]การเติมข้อความของผู้ช่วยล่วงหน้า
บังคับให้การตอบกลับเริ่มต้นด้วยรูปแบบที่กำหนด:
messages = [
{'role': 'user', 'content': 'Return a JSON object.'},
{'role': 'assistant', 'content': '{'}
]
response = client.messages.create(
model='claude-sonnet-4-5',
max_tokens=512,
messages=messages,
)
# Output starts after '{', guaranteed to be JSON.การใช้เครื่องมือ
รูปแบบเครื่องมือของ Anthropic คล้ายกับ OpenAI แต่ใช้ input_schema:
tools = [{
'name': 'get_weather',
'description': 'Get current weather',
'input_schema': {
'type': 'object',
'properties': {'city': {'type': 'string'}},
'required': ['city']
}
}]
response = client.messages.create(
model='claude-sonnet-4-5',
max_tokens=1024,
tools=tools,
messages=messages,
)
if response.stop_reason == 'tool_use':
for block in response.content:
if block.type == 'tool_use':
print(block.name, block.input)การส่งคืนผลลัพธ์จากเครื่องมือ
ผลลัพธ์จากเครื่องมือจะอยู่ในข้อความผู้ใช้ที่มีบล็อก tool_result:
messages.append({
'role': 'user',
'content': [{
'type': 'tool_result',
'tool_use_id': 'toolu_abc',
'content': json.dumps(weather_data)
}]
})การแคชพรอมต์
Anthropic รองรับการแคชพรอมต์ — ทำเครื่องหมายคำนำหน้าแบบคงที่ที่มีความยาวมากด้วย cache_control และจ่ายเพียง 10% เมื่อแคชทำงาน:
system = [
{'type': 'text', 'text': '...long system prompt...',
'cache_control': {'type': 'ephemeral'}}
]
for block in system:
print(f"type={block['type']} cache_control={block['cache_control']}")
print("text preview:", block['text'][:30])
การคิดวิเคราะห์เพิ่มเติม
Claude มีโหมด "การคิดวิเคราะห์เพิ่มเติม" ซึ่งจะให้เหตุผลภายในก่อนตอบ:
response = client.messages.create(
model='claude-sonnet-4-5',
max_tokens=4096,
thinking={'type': 'enabled', 'budget_tokens': 2048},
messages=messages,
)ตำแหน่งของพรอมต์ระบบ
พรอมต์ระบบต้องอยู่ที่ใดใน Anthropic API
สรุปทบทวน
ขณะนี้คุณสามารถเรียกใช้ผู้ให้บริการรายใหญ่ทั้งสองรายได้แล้ว ความแตกต่างมีไม่มากแต่มีอยู่จริง — ทีมส่วนใหญ่จะสร้างตัวปรับเปลี่ยนบาง ๆ เพื่อสลับใช้งานระหว่างผู้ให้บริการเหล่านี้
คำถามที่พบบ่อย
บทเรียน “การเรียกใช้ Anthropic API: messages” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การเรียกใช้ Anthropic API: messages” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส AI Agents ให้อัปเกรดเป็น CoddyKit PRO คอร์ส AI Agents มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การเรียกใช้ Anthropic API: messages”
ใช้ Anthropic messages API พร้อมเรียนรู้ความแตกต่างจาก OpenAI ตำแหน่งของพรอมต์ระบบ และแนวปฏิบัติที่เหมาะกับ Claude คุณปฏิบัติ AI Agents ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน AI Agents หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน AI Agents บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน
บทเรียน “การเรียกใช้ Anthropic API: messages” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน AI Agents นี้ได้ไหม
ได้ บทเรียน AI Agents ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- การเรียกใช้ OpenAI API: chat.completions
- การเรียกใช้ Anthropic API: messages
- การส่งการตอบกลับแบบสตรีม (SSE)
- ตระหนักถึงต้นทุน: การนับโทเค็นและงบประมาณ