Agent Definition Language หรือ ADL เป็น schema แบบ declarative สำหรับอธิบาย metadata, model provider, system prompt, tools, skills, server และ development environment ของ agent จาก manifest เดียว จากนั้น generator สามารถสร้างโครงโค้ดและไฟล์สำหรับภาษา/agent tools ที่เลือก

โครงการนี้แก้ปัญหาอะไร

agent project จำนวนมากมี configuration กระจายอยู่ในโค้ด environment variables และเอกสาร ทำให้สร้างซ้ำหรือ audit ยาก แนวทาง declarative พยายามทำให้ desired state อยู่ในไฟล์เดียว คล้าย Kubernetes manifest หรือ OpenAPI สำหรับ service

แนวทางและสถาปัตยกรรม

manifest มี apiVersion/kind/metadata/spec และ JSON Schema ตรวจรูปแบบ Agent spec ระบุ capability, provider/model, prompt, tools พร้อม input schema, skills และ server ส่วน language/development กำหนด dependency, sandbox และเอกสารสำหรับ coding agents การแยก schema version เปิดทางเพิ่ม field แบบ backward compatible

จุดแข็งที่น่าสนใจ

ข้อดีคือ review diff ได้ สร้าง scaffolding สม่ำเสมอ และนำ metadata/license ติดไปกับ agent/skill เครื่องมือสามารถ validate ก่อน generate ลด config drift และช่วยสร้าง catalog หรือ policy scanner บน manifest ได้

ข้อจำกัดและความเสี่ยง

declarative abstraction อาจกลายเป็น least-common-denominator ของ provider พฤติกรรม runtime ที่ซับซ้อนไม่ควรถูกฝังใน YAML ยาว ๆ Code generation สร้างไฟล์จำนวนมากที่อาจ drift หลังแก้มือ และ system prompt/secret ไม่ควรอยู่รวมโดยไม่มี access control

เหมาะกับใคร และควรทดลองอย่างไร

เหมาะกับองค์กรที่สร้าง agent หลายตัวด้วย pattern คล้ายกัน เริ่มจาก metadata, tool schema และ deployment skeleton ไม่ใส่ domain logic ทั้งหมดใน manifest สร้าง golden test เปรียบเทียบ generated output และ pin schema/generator version ใน CI

มุมมองเชิงอุตสาหกรรม

หากมีมาตรฐาน agent manifest ที่แพร่หลาย ecosystem จะสร้าง registry, security scanner และ deploy tool ร่วมกันได้ แต่การแข่งขันของ protocol ยังสูง ทีมควรออกแบบ adapter และเก็บ core logic เป็น code ปกติ เพื่อย้าย format ได้หากมาตรฐานเปลี่ยน

สิ่งที่ควรติดตามต่อ

  • schema evolution และ migration tooling
  • การรองรับ provider-specific capability
  • drift ระหว่าง manifest กับ generated code
  • การแยก secret/policy ออกจาก declarative config

หมายเหตุจากกองบรรณาธิการ: บทวิเคราะห์นี้อ้างอิงข้อมูลสาธารณะจาก repository และเอกสารโครงการ ณ วันเผยแพร่ ความสามารถและเงื่อนไขอาจเปลี่ยนได้ ควรตรวจ README, license, security policy และ release notes ก่อนนำไปใช้จริง