0Pricing
AI Agents · บทเรียน

การเรียกใช้ 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

  1. system เป็นพารามิเตอร์ระดับบนสุด ไม่ใช่ข้อความ
  2. max_tokens เป็น REQUIRED
  3. content เป็นรายการบล็อก (ข้อความ tool_use และอื่น ๆ)
  4. ไม่มีพารามิเตอร์ 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

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

  1. การเรียกใช้ OpenAI API: chat.completions
  2. การเรียกใช้ Anthropic API: messages
  3. การส่งการตอบกลับแบบสตรีม (SSE)
  4. ตระหนักถึงต้นทุน: การนับโทเค็นและงบประมาณ
← กลับไปที่ AI Agents