eve เฟรมเวิร์กสร้าง AI agent จาก Vercel ที่ให้ไฟล์เป็นตัวกำหนดทุกอย่าง
eve คือ open-source framework จาก Vercel ที่ทำให้ไฟล์แต่ละไฟล์ในโปรเจกต์กลายเป็นความสามารถของ AI agent โดยตรง น่าสนใจตรงที่งานยากอย่าง durable execution · sandbox · human-in-the-loop มีมาให้ครบตั้งแต่แรก ไม่ต้องประกอบเอง

eve คือ open-source framework ภาษา TypeScript จาก Vercel (บริษัทแพลตฟอร์มสำหรับ deploy เว็บและแอป เจ้าของ Next.js) สำหรับสร้าง AI agent จุดที่ทำให้ต่างจากของเดิมสรุปได้ในประโยคเดียวว่า "ชื่อไฟล์กับตำแหน่งในโฟลเดอร์คือคำนิยามของความสามารถนั้น" ถ้าอยากให้ agent มีเครื่องมือใหม่ ก็แค่สร้างไฟล์ใหม่ในโฟลเดอร์ที่ถูกต้อง ไม่ต้องลงทะเบียนเพิ่มหรือเชื่อมอะไรเอง
เหตุผลที่แนวคิดนี้น่าจับตา คือมันแก้ปัญหาที่คนสร้าง agent เจอกันมาตลอด การสร้าง agent หนึ่งตัวให้ใช้งานจริงได้ไม่ได้มีแค่การเขียน logic ของตัวมันเอง แต่ต้องประกอบชิ้นส่วนรอบ ๆ เองทั้งหมด ทั้งระบบเก็บสถานะตอนทำงานยาว ๆ ระบบรันโค้ดให้ปลอดภัย และระบบขออนุมัติจากคน eve เลือกรวมของเหล่านี้มาให้ตั้งแต่ต้น โดยเทียบตัวเองตรง ๆ ว่า "ทุกวันนี้ agent อยู่ในจุดเดียวกับที่เว็บเคยอยู่ก่อนจะมีเฟรมเวิร์ก" นั่นคือบทบาทเดียวกับที่ Next.js ซึ่งเป็นเฟรมเวิร์กยอดนิยมสำหรับสร้างเว็บ เคยมีต่อการสร้างเว็บมาก่อน คือรวบงานจุกจิกที่ทุกคนต้องทำซ้ำ ๆ ให้มาอยู่ที่เดียว
ไฟล์ไหนอยู่ตรงไหน มีความหมายตายตัว

เริ่มต้นด้วยคำสั่งเดียว npx eve@latest init my-agent ตัวมันจะลง dependencies ให้ ตั้ง Git ให้ แล้วเปิด terminal UI ขึ้นมาพร้อมโครงสร้างโฟลเดอร์ agent/ ที่มีไฟล์ตั้งต้นสองตัว คือ agent.ts กับ instructions.md
หัวใจของ eve คือโครงสร้างไฟล์ที่แต่ละตำแหน่งมีความหมายในตัวเอง ไม่ต้องมีไฟล์ config กลางมาคอยบอกว่าอะไรเป็นอะไร
instructions.mdคือ system prompt ของ agent · อยากปรับนิสัยมัน ก็แก้ไฟล์นี้ไฟล์เดียวtools/คือฟังก์ชันที่โมเดลเรียกใช้ได้ · ชื่อไฟล์กลายเป็นชื่อ tool ให้เลยskills/คือขั้นตอนการทำงานที่เขียนเป็น markdown · โหลดเข้ามาเฉพาะตอนที่หัวข้อนั้นถูกถามถึง ไม่ได้ยัดเข้า context ทั้งหมดตั้งแต่แรกchannels/คือช่องทางที่คนคุยกับ agent เช่น HTTP · Slack · Discordschedules/คือไฟล์ cron สำหรับงานที่ต้องรันตามเวลา
วิธีอ่านโครงสร้างนี้ง่าย ๆ คือ ถ้าอยากเพิ่มอะไรให้ agent ให้ถามตัวเองว่า "สิ่งนี้เป็นเครื่องมือ · ขั้นตอน · ช่องทางคุย หรืองานตามเวลา" แล้วไปสร้างไฟล์ในโฟลเดอร์ที่ตรงกับคำตอบ เท่านั้นเอง
เพิ่ม tool ตัวแรกใน 3 ขั้น
ส่วนที่ลงมือทำได้ทันทีคือการเพิ่ม tool เพราะมันคือหน่วยที่เล็กที่สุดที่ทำให้ agent ทำอะไรเป็นชิ้นเป็นอันได้ ลำดับสั้น ๆ ที่เริ่มได้เลยมีสามขั้น
- สร้างไฟล์
.tsใหม่ในโฟลเดอร์tools/เช่นtools/get-weather.tsแล้วชื่อget-weatherจะกลายเป็นชื่อ tool ให้อัตโนมัติ - ข้างในไฟล์ ประกาศด้วย
defineToolแล้วกำหนดรูปแบบ input ด้วย Zod ซึ่งเป็น library สำหรับระบุรูปแบบข้อมูล เพื่อให้โมเดลรู้ว่าต้องส่งค่าอะไรเข้ามาบ้าง - สั่ง
eve devเพื่อเปิด terminal UI ขึ้นมา แล้วลองพิมพ์คุยกับ agent · จะเห็น tool calls กับขั้นตอนการคิดของมันวิ่งแบบ real-time ทันที
ไฟล์ tool จะเริ่มประมาณ export default defineTool({ ... }) โดยมี inputSchema เป็น Zod อยู่ข้างใน ส่วน skill ยิ่งง่ายกว่านั้น เพราะมันคือไฟล์ markdown ไฟล์เดียวในโฟลเดอร์ skills/ ที่เขียนขั้นตอนเป็นภาษาคนธรรมดา ไม่ต้องเขียนโค้ดเลย
ของยากที่มักทำพังเอง eve ยกมาให้แล้ว

จุดที่ทำให้ eve น่าสนใจกว่าการเป็นแค่ตัวจัดระเบียบไฟล์ คือมันจัดการงานที่ทีมเล็ก ๆ มักทำพลาดมาให้ตั้งแต่แรก
งานไม่หายแม้เครื่องล่ม eve มองทุกบทสนทนาของ agent เป็น workflow ที่บันทึกความคืบหน้าไว้ทีละขั้น ถ้าเครื่องล่มหรือ deploy ใหม่ระหว่างที่งานยังทำไม่เสร็จ มันรันต่อจากจุดเดิมได้ ไม่ต้องเริ่มใหม่ทั้งหมด ความสามารถนี้สร้างบน Workflow SDK ที่เป็น open-source แยกต่างหาก
รอคนอนุมัติได้โดยไม่เปลืองค่ารัน ถ้าเป็น action ที่เราไม่อยากให้ agent ทำเองทันที เช่น กดส่งเงินหรือลบข้อมูล ใน eve ให้ใส่ field needsApproval ลงบน tool ตัวนั้น แล้ว agent จะหยุดรอจนกว่าจะมีคนกดอนุมัติ จุดที่ดีคือมันรอได้ "นานเท่าที่จำเป็น โดยไม่กิน compute ระหว่างรอ" ไม่ใช่ค้างเครื่องทิ้งไว้เฉย ๆ แล้วเสียค่ารันฟรี
รันโค้ดที่ agent เขียนเองใน sandbox eve จะรันโค้ดที่ agent สร้างขึ้นมาแยกจากตัวแอปจริง ตอนพัฒนาในเครื่องเลือกวิธีแยก sandbox ได้หลายแบบ ทั้ง Docker · microsandbox · just-bash ส่วนตอน deploy แล้วจะรันบน Vercel Sandbox เพื่อกันไม่ให้โค้ดที่ควบคุมไม่ได้ไปแตะส่วนอื่นของระบบ
นอกจากนี้ยังมี tracing สำหรับเก็บ log ทุกขั้นตอนที่ agent ทำในรูปแบบมาตรฐาน ส่งต่อไปดูบนเครื่องมือ monitoring เจ้าไหนก็ได้ที่ทีมใช้อยู่แล้ว มี evals หรือชุดทดสอบคุณภาพที่เขียนเป็นไฟล์แล้วสั่ง eve eval ต่อเข้ากับ CI ได้ และมี subagents เป็นโฟลเดอร์ซ้อนข้างใน มี instructions กับ tools เป็นของตัวเอง ให้ agent ตัวแม่เรียกใช้เหมือนเรียก tool ธรรมดา
ตอน deploy จะเห็นข้อดีของการอยู่บ้านเดียวกับ Vercel
เพราะ eve ออกมาจาก Vercel ขั้นตอนนำขึ้น production จึงเหมือน project เว็บทั่วไป สั่ง vercel deploy ครั้งเดียวก็ขึ้น ไม่ต้องไปตั้งโครงสร้างพิเศษ ไฟล์ cron ในโฟลเดอร์ schedules/ จะกลายเป็น Vercel Cron Job ให้เอง และจุดที่คิดมาดีคือ session ที่กำลังทำงานอยู่ระหว่าง deploy ใหม่จะไม่โดนตัดกลางคัน มันจะ "ทำงานจนจบบนเวอร์ชันที่เริ่มไว้" ผู้ใช้ปลายทางจึงไม่เจออาการค้างกลางทาง
eve คิดเรื่องความปลอดภัยของการเชื่อมต่อกับระบบภายนอกมาแล้ว การต่อ MCP server (มาตรฐานกลางที่ให้ agent ต่อกับเครื่องมือภายนอก) หรือ API ตั้งค่าได้ในไฟล์เดียวด้วย defineMcpClientConnection โดยที่ตัวโมเดลจะไม่เห็น URL หรือ credentials เลย ส่วนการเลือกโมเดลใน agent.ts รองรับการสำรองข้ามผู้ให้บริการผ่าน AI Gateway ของ Vercel ซึ่งเป็นตัวกลางที่คอยส่งคำขอไปยังโมเดลแต่ละเจ้า เผื่อเจ้าหนึ่งล่มก็สลับไปอีกเจ้าได้
ตัวเลขที่ Vercel ยกมาทำให้เห็นว่าทำไมพวกเขาถึงเอาจริงกับเรื่อง agent เมื่อปีก่อน deployment บนแพลตฟอร์มที่เกิดจาก agent อยู่ที่ 3% ของทั้งหมด มาวันนี้ขึ้นไปราว 29% และคาดว่าจะถึง 50% ในเร็ว ๆ นี้ ตัว Vercel เองรัน agent ใน production มากกว่า 100 ตัว มีตัวที่ชื่อ Lead Agent ทำงานฝ่ายขาย ค่าใช้จ่ายราว 5,000 ดอลลาร์ต่อปี แต่สร้างผลตอบแทนกลับมา 32 เท่า ดูแลโดยวิศวกรคนเดียวแบบ part-time และมีอีกตัวชื่อ Vertex ที่ปิด ticket ฝ่ายซัพพอร์ตได้เองถึง 92% ที่เหลือค่อยส่งต่อให้คน
ที่ต้องชั่งน้ำหนักก่อนกระโดดลงไปคือ eve ยังอยู่ในสถานะ public preview หรือ beta · API อาจเปลี่ยนได้ก่อนจะออกเวอร์ชันจริง และตัวมันผูกกับ TypeScript กับ ecosystem ของ Vercel ค่อนข้างแน่น ถ้าอยากลองดูของจริงก่อน เปิดอ่าน eve docs หรือดูโครงสร้างโปรเจกต์เต็ม ๆ ได้ที่ repo บน GitHub ของ vercel/eve
แนวคิดที่อยู่เบื้องหลัง eve ทั้งหมดสรุปได้ว่า เมื่อความสามารถของ agent ถูกวางไว้เป็นไฟล์ที่คนเปิดอ่านได้ การสร้าง agent ก็เลิกเป็นงานเชื่อมระบบลับ ๆ ที่มองไม่เห็น กลายเป็นการจัดระเบียบโฟลเดอร์ที่ใครเปิดดูก็เข้าใจได้ว่ามันทำอะไรเป็น
ที่มา:
- บทความ Introducing eve จาก Vercel
- GitHub - vercel/eve: Framework Building Agents จาก vercel/eve



