Workers AI
คืออะไร
ลองนึกภาพตู้ขายของอัตโนมัติสำหรับ AI: คุณใส่คำขอเข้าไป แล้วโมเดลที่ฝึกไว้พร้อมใช้งานก็ส่งผลลัพธ์กลับมาให้ โดยไม่ต้องตั้งเครื่องของตัวเองเลย Workers AI รันโมเดล machine learning บนชิป GPU (ชิปเฉพาะทางที่ขับเคลื่อน AI) ของ Cloudflare เอง และเข้าถึงได้จาก Worker ของคุณผ่าน AI binding (การเชื่อมต่อสำเร็จรูป) เพียงตัวเดียว คุณเรียก env.AI.run("@cf/...model") พร้อมข้อมูลนำเข้า แล้วรับผลลัพธ์กลับมา — ไม่ต้องมี inference server แยกต่างหาก (เครื่องเพิ่มเติมที่รันโมเดล) ไม่ต้องมี key (รหัสลับ) ไปยังผู้ให้บริการภายนอก ไม่ต้องตั้งค่า GPU เอง แคตตาล็อกครอบคลุมตั้งแต่การสร้างข้อความ, embeddings, การสร้างภาพ, เสียงพูด, และการแปลภาษา
จุดแข็ง
- ใช้ binding เดียว — ไม่ต้องมี API key ภายนอกหรือโครงสร้างพื้นฐาน inference แยกต่างหาก
- รันบนเครือข่าย GPU ของ Cloudflare ซึ่งอยู่ใกล้กับ Worker และผู้ใช้ของคุณ
- แคตตาล็อกโมเดลหลากหลาย: LLM (Large Language Models — AI ที่อยู่เบื้องหลังแชทและข้อความ), embeddings, ภาพ, เสียง และอื่น ๆ
- จ่ายตามการใช้งานจริง; มีโควตาฟรีให้ทดลองใช้ได้ในราคาถูก
- เข้ากันได้ดีกับ Vectorize สำหรับ RAG (Retrieval-Augmented Generation — การป้อนข้อเท็จจริงที่เกี่ยวข้องให้ AI อ้างอิงได้)
ข้อแลกเปลี่ยน
- ตัวเลือกโมเดลจำกัดอยู่ในแคตตาล็อกของ Cloudflare ไม่ใช่ทุกโมเดลในตลาด
- โมเดลระดับแนวหน้าที่ใหญ่ที่สุดอาจไม่มีให้ใช้งาน; คุณภาพแตกต่างกันไปตามแต่ละโมเดล
- มีความหน่วงในการอนุมาน (inference latency) และข้อจำกัดอัตราการเรียกใช้ โดยเฉพาะกับโมเดลขนาดใหญ่
- หากต้องการโมเดลเฉพาะเจ้าใดเจ้าหนึ่ง คุณก็ยังต้องเรียก API ของผู้ให้บริการนั้นอยู่ดี
เมื่อไรควรใช้
ใช้ Workers AI สำหรับการอนุมาน (inference) ภายในแอปที่คุณต้องการให้อยู่ร่วมกับ logic ของคุณ เช่น ฟีเจอร์แชท, การสรุปความ, การจัดหมวดหมู่, embeddings สำหรับการค้นหา หรือการสร้างภาพ — โดยไม่ต้องรัน GPU stack ของตัวเอง
เข้ากับ vibe coding อย่างไร
Workers AI ตัดขั้นตอนการตั้งค่าส่วนใหญ่ที่ มักต้องเขียนสคริปต์เองออกไป: ไม่ต้องจัดการ key ไม่ต้องใช้ provider SDK (Software Development Kit — ไลบรารีโค้ดสำเร็จรูป) มีเพียง binding กับการเรียก run เท่านั้น บอก agent ว่าต้องการทำงานอะไรและใช้โมเดลไหน (เช่น โมเดล embeddings เพื่อป้อนให้ Vectorize) เพื่อให้มันเลือกจากแคตตาล็อกได้ถูกต้อง ตัวอย่างด้านล่างผูก AI ไว้แล้วรันโมเดลข้อความ
# wrangler.toml
[ai]
binding = "AI"
// inside your Worker
const out = await env.AI.run("@cf/meta/llama-3.1-8b-instruct", {
prompt: "Summarize this in one sentence: ...",
});