Claude SDK มี toolset สำหรับ computer use และ browser use ในตัวแล้ว ไม่ต้องเขียน loop เอง
SDK ของ Claude ทั้ง Python และ TypeScript เพิ่ม toolset สำหรับ computer use และ browser use แบบ beta SDK จะรัน loop ตรวจ policy และขออนุมัติให้ นักพัฒนาเขียนแค่ driver ที่เชื่อมกับเบราว์เซอร์หรือเดสก์ท็อปของตัวเอง หรือใช้ driver ของพาร์ตเนอร์อย่าง Browser Use, Browserbase, E2B และ Daytona
โดย ณัฐพล ยงค์ไพบูลย์ผู้ร่วมก่อตั้งกลุ่ม Claude Thailand Community
SDK ของ Claude ทั้ง Python และ TypeScript มี toolset สำหรับ computer use และ browser use ในตัวแล้วครับ ทั้งสองตัวยังเป็น beta
ข่าวนี้สำคัญกับคนที่สร้าง agent ให้ Claude ควบคุมเบราว์เซอร์หรือคอมพิวเตอร์ เพราะงานส่วนที่น่าเบื่อและพลาดง่ายที่สุดถูกย้ายเข้าไปอยู่ใน SDK แล้ว บัญชี ClaudeDevs อธิบายไว้ว่า API บอกเราว่า Claude อยากคลิกหรือพิมพ์อะไร เมื่อก่อนนักพัฒนาต้องเขียน loop เอง และแปลงการคลิกกับการพิมพ์เป็นคำสั่งเอง ตอนนี้ SDK เป็นคนรัน loop และส่ง action ไปให้ driver

ภาพด้านบนมาจากวิดีโอสาธิต Claude Haiku 5.5 ใช้ computer toolset กับหน้าเว็บที่แสดงโมเดลสามมิติของเราเตอร์ หน้าเว็บบอกว่ายังไม่ได้บันทึกหมายเลขซีเรียล และหมายเลขนั้นพิมพ์อยู่บนฉลากใต้ตัวเครื่อง กล่องสีดำคือสิ่งที่ Claude ทำทีละขั้น คือรอ ถ่ายภาพหน้าจอ แล้ว scroll เพื่อซูมเข้าไปอ่านฉลาก
ใครทำอะไร
Claude ไม่ได้คลิกอะไรเอง มันดูภาพหน้าจอแล้วตอบกลับมาว่าอยากทำอะไร เช่น คลิกที่พิกัดนี้ หรือพิมพ์ข้อความนี้ โค้ดฝั่งเราต้องเป็นคนลงมือทำจริง แล้วส่งผลกลับไปให้ Claude ดู วนแบบนี้จนงานเสร็จ
| ส่วน | ใครรับผิดชอบ | ทำอะไร |
|---|---|---|
| SDK toolset | SDK ทำให้ | ส่งแต่ละคำสั่งไปยัง method ที่ถูกต้อง รัน policy ที่เราตั้ง ถามฟังก์ชันอนุมัติของเรา และสร้าง tool_result ทุกครั้ง |
| Driver | เราเขียน หรือใช้ของพาร์ตเนอร์ | class ที่สืบทอดจาก toolset มี method ละหนึ่ง tool เช่น navigate หรือ left_click เชื่อมกับระบบควบคุมเบราว์เซอร์หรือเดสก์ท็อปของเรา |
| เบราว์เซอร์ หรือเดสก์ท็อป | เราจัดหาเอง | ตัวที่ถูกควบคุมจริง |
เอกสารระบุชัดว่า SDK ไม่มีเบราว์เซอร์ เดสก์ท็อป driver สำเร็จรูป หรือ URL policy มาให้ สิ่งเหล่านี้เป็นหน้าที่ของเรา
ไม่อยากเขียน driver เอง
มี 2 ทาง
- ใช้ driver ของพาร์ตเนอร์ ตอนนี้มี 4 ราย คือ Browser Use, Browserbase, Daytona และ E2B ที่ทำ integration กับ SDK toolset ไว้แล้ว
- เริ่มจากตัวอย่างของ Anthropic ใน repository
claude-quickstartsมี driver ตัวอย่างแบบเล็กที่สุด ทั้ง Python และ TypeScript ควบคุม Chromium ผ่าน Chrome DevTools Protocol เอกสารเตือนไว้ว่าตัวอย่างนี้ไม่ใช่โค้ดสำหรับใช้งานจริง
เมื่อมี driver แล้ว การเรียกใช้สั้นมาก ตัวอย่างนี้ย่อจากเอกสาร โดย MyBrowser คือ driver ของเรา
with MyBrowser(backend, url_policy=url_policy) as browser:
runner = client.beta.messages.tool_runner(
model="claude-opus-5-5",
max_tokens=1024,
tools=[browser],
messages=[{"role": "user", "content": "Open example.com and tell me the page heading."}],
)
for message in runner:
print(message)
ส่ง driver เข้าไปใน tools ตรง ๆ แล้ว tool runner จะวน loop ให้จนงานจบ ใครอยากคุม loop เองก็ทำได้ โดยเรียก tool_result ของ toolset ตอบแต่ละคำสั่ง
Browser toolset
- class หลักคือ
BetaAbstractBrowserToolset20260801 - เขียนเฉพาะ member ที่เบราว์เซอร์ของเรารองรับ เช่น
navigate,screenshot,left_click,read_pageหรือget_page_textmember ที่ไม่ได้เขียนจะถูกส่งไปที่ API ในสถานะปิด - ทุก driver ต้องรายงานสถานะเบราว์เซอร์ คือแท็บที่เปิดอยู่และสิ่งที่เปลี่ยนไป SDK จะเรียกส่วนนี้หลังทุกคำสั่ง
javascript_execและfile_uploadปิดไว้เป็นค่าเริ่มต้น ถ้าจะเปิดต้องมีฟังก์ชันconfirmสำหรับอนุมัติ ไม่อย่างนั้น SDK จะแจ้ง error ตั้งแต่ตอนสร้าง- มีตัวเลือก early start ให้คำสั่งเริ่มทำงานได้ตั้งแต่คำตอบของ Claude ยัง stream ไม่จบ โดยส่ง
stream=Trueกับrun_tools_eagerly=True
Computer toolset
- class หลักคือ
BetaAbstractComputerToolset20260801ใช้กับ computer use tool ซึ่งมีทั้งหมด 17 tool - tool ที่เราเขียนจะเปิดเป็นค่าเริ่มต้นทุกตัว ต่างจาก browser toolset
- ถ้า driver มี
type,keyหรือhold_keyต้องส่งฟังก์ชันconfirmหรือปิด tool เหล่านั้น ไม่อย่างนั้นจะสร้างไม่ได้ - พิกัดที่ Claude ส่งมาคือตำแหน่ง pixel ในภาพหน้าจอที่เราส่งให้ ถ้าภาพหน้าจอกับจอจริงขนาดไม่เท่ากัน driver ต้องแปลงพิกัดเองทั้งสองทาง
- SDK ไม่ย่อหรืออ่านภาพให้ ถ้าภาพใหญ่เกินขีดจำกัดของโมเดล API จะปฏิเสธและการทำงานจะหยุด จึงต้องย่อภาพใน driver
ใช้ทั้งสอง toolset ใน request เดียวได้ โดยส่งทั้งสองตัวเข้าไปใน tools SDK จะส่งแต่ละคำสั่งไปหา toolset ที่ตรงกัน
ความปลอดภัยคือส่วนที่ต้องอ่านให้จบ
เอกสารให้พื้นที่กับเรื่องนี้มากกว่าเรื่องอื่น เหตุผลคือ การกระทำถัดไปของ Claude ขึ้นกับหน้าที่มันอ่าน หน้าเว็บหรือข้อความที่ถูกแทรกเข้ามา อาจพยายามสั่งให้ Claude เข้าถึงบริการภายใน ดึงไฟล์ออกจากเครื่อง หรือทำสิ่งที่มีผลจริง
สำหรับ browser toolset เอกสารให้ทำ 6 ขั้นก่อนใช้กับอะไรที่ไม่ใช่เบราว์เซอร์ทดลองทิ้ง
- เขียน URL policy ปฏิเสธทุก URL ที่งานไม่จำเป็นต้องใช้ ถ้าไม่มี policy SDK จะไม่ตรวจ URL ใดเลย
- ดัก request ใน driver แล้วตรวจด้วยกฎเดียวกัน เพราะ URL policy เห็นเฉพาะคำสั่ง
navigateไม่เห็นลิงก์ที่ Claude คลิกหรือ redirect - ตั้งกฎ egress ที่ container บล็อกเครือข่ายภายในและที่อยู่ metadata ของ cloud
- จำกัดการอัปโหลดและดาวน์โหลด หรือปิดการอัปโหลดไว้
- ใส่
confirmกับคำสั่งที่มีผลจริง - แยกเบราว์เซอร์ไว้ใน container หรือ VM เฉพาะ ต่อหนึ่ง session
SDK ช่วยขั้นที่ 1, 4 และ 5 ผ่าน policy และฟังก์ชันที่เราส่งให้ ส่วนขั้นที่ 2, 3 และ 6 ขึ้นกับ driver และการ deploy ของเราเอง
ข้อที่ควรจำเป็นพิเศษ
- โปรไฟล์เบราว์เซอร์ต้องไม่ล็อกอินบัญชีใดที่เราไม่พร้อมยกข้อมูลหรือสิทธิ์ให้ Claude
- การซื้อของ การส่งข้อความ หรือการกดยอมรับเงื่อนไข เกิดผ่านคำสั่งธรรมดาอย่าง
left_clickและtypeฟังก์ชันconfirmจึงแยกไม่ออกจากชื่อคำสั่ง ถ้าต้องการให้คนอนุมัติ ต้องถามที่คำสั่งเหล่านี้ด้วย - บนเดสก์ท็อป อย่าเปิด terminal หรือ launcher ทิ้งไว้ถ้างานไม่ต้องใช้ เพราะสิ่งที่ Claude พิมพ์จะถูกรันทันที
- ให้ถือว่าทุกอย่างที่หน้าเว็บหรือหน้าจอส่งกลับมาไม่น่าไว้ใจ รวมถึงชื่อหน้าต่าง ชื่อแท็บ และข้อความใน clipboard
- ตัวตรวจจับ prompt injection ของ Anthropic ยังไม่ทำงานกับ request ของ browser toolset ที่ส่งผ่าน Amazon Bedrock
เกี่ยวข้องกับข่าวก่อนหน้า
toolset นี้ประกาศมาพร้อมกับ Claude Haiku 5.5 ซึ่ง Anthropic บอกว่าเหมาะกับงาน computer use และ browser use เป็นพิเศษ เพราะเร็วและราคาต่ำ ส่วนตัว tool ทั้งสองเป็น GA มาก่อนแล้ว ตามที่เราเคยรายงานในข่าว Computer use และ Browser tool สิ่งที่ใหม่รอบนี้คือชั้นของ SDK ที่ครอบ tool เหล่านั้น
มุมมองจากผู้เขียน
สำหรับผม ข่าวนี้ลดกำแพงของการทำ agent ที่ใช้เบราว์เซอร์ลงไปมาก ส่วนที่คนมักติดคือ loop กับการแปลงคำสั่ง ซึ่งเป็นโค้ดที่ทุกคนต้องเขียนซ้ำกันและพลาดในจุดเดิม ๆ พอ SDK รับไปทำ และมี driver ของพาร์ตเนอร์ให้ใช้ คนที่อยากลองก็เริ่มได้เร็วขึ้น
แต่สิ่งที่ SDK ไม่ได้ทำให้คือความปลอดภัยของระบบจริง เอกสารเขียนไว้ตรงมากว่าถ้าไม่เขียน URL policy ก็ไม่มีอะไรตรวจ URL ให้ และตัวอย่างในเอกสารไม่ใช่ policy ระดับ production ใครจะเอาไปใช้กับงานจริง โดยเฉพาะงานที่เบราว์เซอร์ล็อกอินบัญชีอยู่ ควรอ่านส่วนความปลอดภัยให้ครบก่อน และเริ่มทดลองกับเบราว์เซอร์เปล่าใน container ที่แยกไว้
ใครลองต่อ toolset นี้กับงานของตัวเองแล้ว มาแชร์ในกลุ่มกันได้ครับ
ข้อมูลในบทความนี้อ้างอิงจากเอกสาร Claude Platform และโพสต์ของบัญชี ClaudeDevs บน X ฟีเจอร์นี้ยังเป็น beta รายละเอียดอาจเปลี่ยนได้ อ่านต้นทางได้ที่ลิงก์ด้านล่าง
รับข่าวสารทางอีเมล
บทความใหม่ ข่าวอัปเดตเกี่ยวกับ Claude และประกาศกิจกรรมของชุมชน ส่งให้เป็นครั้งคราว ไม่ถี่จนรำคาญ
