Claude Agent SDK

Claude Agent SDK

Claude Agent SDK คือชุดเครื่องมือพัฒนา (development kit) สำหรับสร้าง AI Agent ที่จัดทำโดย Anthropic ซึ่งเป็น framework สำหรับการพัฒนา Agent ที่ใช้ประโยชน์จาก Tool Use และการสนทนาแบบหลายรอบ (multi-turn conversation) ของ Claude ผ่านโค้ด Python และ TypeScript

การเรียก API ของ Claude โดยตรงเพื่อสร้าง Agent นั้นเป็นไปได้ แต่จะต้องมีการ implement รูปแบบซ้ำๆ ทุกครั้ง ไม่ว่าจะเป็น loop การส่งผลลัพธ์ของการเรียก tool กลับไปยัง model, การจัดการ error และการตั้งค่า guardrail Claude Agent SDK คือ framework อย่างเป็นทางการที่ abstract "agent loop" นี้ออกไป เพื่อให้นักพัฒนาสามารถมุ่งเน้นไปที่ business logic ได้

ปัญหาที่ SDK แก้ไข

ในการพัฒนา Agent จำเป็นต้องรวมคำสั่งสำหรับ LLM (system prompt), การกำหนด external tool และการตัดสินผลการ execute ไว้ใน loop เดียวกัน หากนำไป implement อย่างตรงไปตรงมา กระบวนการต่างๆ เช่น การเพิ่ม return value ของ tool ลงใน message history, การเรียก model อีกครั้ง และการตัดสินเงื่อนไขการสิ้นสุด จะพองตัวขึ้นเป็นหลายร้อยบรรทัด

SDK ย่อ loop นี้ไว้ใน class Agent นักพัฒนาเพียงแค่กำหนด tool เป็น function แล้วส่งให้ Agent เท่านั้น ส่วนการควบคุม loop, การจัดการ token และการสลับการ execute tool แบบ serial/parallel นั้น SDK จะเป็นผู้จัดการ

โครงสร้างพื้นฐาน

ศูนย์กลางของ SDK คือ object Agent โดย instantiate ด้วยการส่ง name, instructions (system prompt) และ tools (รายการ tool) จากนั้น execute ด้วย Runner.run()

python
1from agents import Agent, Runner, function_tool 2 3@function_tool 4def get_weather(city: str) -> str: 5 return f"{city}の天気は晴れです" 6 7agent = Agent( 8 name="weather-bot", 9 instructions="天気を聞かれたらツールで取得して回答してください。", 10 tools=[get_weather], 11) 12 13result = Runner.run_sync(agent, "東京の天気は?")

Input/output ของ tool จะถูกแปลงเป็น JSON Schema โดยอัตโนมัติจาก type annotation จึงไม่จำเป็นต้องเขียน schema ด้วยมือ เมื่อผู้เขียนได้ลองใช้ครั้งแรก มีความรู้สึกว่าการแปลงอัตโนมัตินี้เพียงอย่างเดียวช่วยลด boilerplate แบบเดิมลงได้มากกว่าครึ่ง

Guardrail และ Handoff

เพื่อรับมือกับกรณีที่ Agent ทำงานโดยไม่ตั้งใจ สามารถตั้งค่า guardrail สำหรับ input และ output ได้แบบ declarative ตัวอย่างเช่น ข้อจำกัดอย่าง "ปฏิเสธ input ที่มีข้อมูลส่วนบุคคล" หรือ "retry หากคำตอบไม่เป็นไปตาม format ที่กำหนด" สามารถฝังไว้เป็นส่วนหนึ่งของการกำหนด Agent ได้

นอกจากนี้ยังมีฟีเจอร์ "handoff" สำหรับการเชื่อมต่อ Agent หลายตัวเข้าด้วยกัน เป็นกลไกที่ Agent หนึ่งส่งต่อการควบคุมไปยัง Agent อื่นระหว่างการประมวลผล เช่น Agent รับเรื่องขั้นต้นของ customer support ที่เมื่อตรวจพบคำถามทางเทคนิคแล้วส่งต่อให้ Agent ผู้เชี่ยวชาญ ซึ่งสามารถสร้าง multi-agent configuration เช่นนี้ได้โดยไม่ต้องมี orchestration code อย่างชัดเจน

การเชื่อมต่อกับ MCP

SDK รองรับการเชื่อมต่อกับ MCP (Model Context Protocol) server แบบ native สามารถเพิ่ม tool ที่ MCP server เปิดเผยไว้ลงในรายการ tool ของ Agent ได้แบบ dynamic จึงสามารถนำฟังก์ชันภายนอก เช่น การดำเนินการกับ database หรือการเข้าถึง file system มาผนวกเข้ากับ agent loop ของ SDK ได้โดยตรง ซึ่งหมายความว่าสามารถ reproduce กลไกเดียวกับที่ Claude Code ใช้ในการดำเนินการกับ Supabase ผ่าน MCP server ใน Agent ของตัวเองได้

ความสัมพันธ์กับ Claude Code

Claude Code คือ coding agent แบบ CLI ที่ Anthropic ให้บริการอย่างเป็นทางการ โดยมีการใช้ Claude Agent SDK ใน implementation ภายใน กล่าวคือ SDK มีตำแหน่งเป็น "building block สำหรับสร้าง Agent แบบเดียวกับ Claude Code ด้วยตัวเอง" การกำหนด Agent Skills และ flow การ execute tool ก็เป็นไปตาม architecture ของ SDK เช่นกัน

อย่างไรก็ตาม SDK เองเป็น framework อเนกประสงค์ที่สามารถรองรับการใช้งานนอกเหนือจากการเขียนโค้ด ไม่ว่าจะเป็นการสนับสนุนการขาย, data analysis pipeline หรือ chatbot ภายในองค์กร ด้วย design pattern เดียวกัน

คำศัพท์ที่เกี่ยวข้อง

AI ROI (ผลตอบแทนจากการลงทุนด้าน AI)
AI สำหรับธุรกิจ

AI ROI (ผลตอบแทนจากการลงทุนด้าน AI)

AI ROI คือ ตัวชี้วัดที่ใช้วัดผลลัพธ์เชิงปริมาณของการปรับปรุงประสิทธิภาพการทำงานและการเพิ่มรายได้ที่ไ

AI พยากรณ์ความต้องการ (Demand Forecasting AI)
AI สำหรับธุรกิจ

AI พยากรณ์ความต้องการ (Demand Forecasting AI)

AI คาดการณ์ความต้องการ (Demand Forecasting AI) คือระบบที่วิเคราะห์ข้อมูลการขายในอดีตและปัจจัยภายนอกด

AI ออบเซอร์แวนบิลิตี้ (AI Observability)
AI สำหรับธุรกิจ

AI ออบเซอร์แวนบิลิตี้ (AI Observability)

แนวปฏิบัติในการดำเนินงานเพื่อติดตามและแสดงผลข้อมูลการทำงานของระบบ AI ที่ใช้งานจริงอย่างต่อเนื่อง ทั้

BPO (การจ้างภายนอกเพื่อดำเนินกระบวนการทางธุรกิจ)
AI สำหรับธุรกิจ

BPO (การจ้างภายนอกเพื่อดำเนินกระบวนการทางธุรกิจ)

BPO คือรูปแบบการ outsourcing ที่องค์กรมอบหมายกระบวนการทางธุรกิจเฉพาะด้านให้กับผู้ให้บริการภายนอกที่ม