𝗪𝗵𝘆 𝗔𝗣𝗖 𝗔𝗴𝗲𝗻𝘁𝘀 𝗦𝗵𝗼𝘂𝗹𝗱 𝗗𝗲𝗳𝗮𝘂𝗹𝘁 𝗧𝗼 𝗺𝗼𝗱𝗲𝗹: 𝗶𝗻𝗵𝗲𝗿𝗶𝘁
ไฟล์ APC agent จะทำงานได้ดีที่สุดเมื่อมีขนาดเล็กและพกพาสะดวก (portable)
ค่าเริ่มต้นที่ดีที่สุดคือการใช้ model: inherit ควรใช้โมเดลที่เฉพาะเจาะจงก็ต่อเมื่อโปรเจกต์ของคุณจำเป็นต้องใช้เท่านั้น กฎนี้จะช่วยให้ไฟล์ของคุณสะอาดตา โดยที่ repository จะทำหน้าที่เก็บสัญญาของโปรเจกต์ (project contract) และ runtime จะเป็นผู้ตัดสินใจเลือกโมเดลเอง
APC agent คือ persona ในไฟล์ agent ของคุณ ซึ่งจะกำหนดชื่อ บทบาท และทักษะ โดยไม่ควรระบุ runtime stack ทั้งหมดแบบ hardcode และไม่ควรบังคับให้ใช้ vendor รายใดรายหนึ่งเป็นค่าเริ่มต้น มันควรทำหน้าที่อธิบาย persona และปล่อยให้ runtime ทำหน้าที่ของมันไป
ทำไม model: inherit ถึงดีกว่า:
- Portability (ความสามารถในการพกพา): วันนี้คุณอาจใช้ APX แต่พรุ่งนี้อาจใช้ Cursor หรือ Claude Code การสืบทอด (Inheritance) ช่วยให้ agent สามารถทำงานข้ามเครื่องมือต่างๆ ได้
- Less Noise (ลดความวุ่นวาย): การ hardcode โมเดลในทุกไฟล์จะทำให้เกิดความสับสนและรก
- Better Separation (การแยกส่วนที่ดีกว่า): APC กำหนดว่า agent คืออะไร ส่วน runtime กำหนดว่ามันจะทำงานอย่างไร
- Easier Setup (ตั้งค่าได้ง่ายกว่า): สมาชิกในทีมสามารถ clone repo ของคุณและรันได้ทันทีโดยไม่ต้องแก้ไขไฟล์ agent
เมื่อไหร่ที่ควรใช้โมเดลที่เฉพาะเจาะจง:
ใช้ provider และ model ID ที่เฉพาะเจาะจงก็ต่อเมื่อโปรเจกต์นั้นจำเป็นต้องพึ่งพามันเท่านั้น ตัวอย่างเช่น:
- โมเดลขนาดเล็กในเครื่อง (local model) สำหรับการสรุปความแบบง่ายๆ
- โมเดลเฉพาะสำหรับโปรไฟล์การใช้เครื่องมือ (tool-use profiles) บางประเภท
- engine ที่คาดการณ์ผลลัพธ์ได้สำหรับ test fixtures
ใช้เกณฑ์เหล่านี้ตรวจสอบก่อนที่คุณจะกำหนด (pin) โมเดล:
- โมเดลนั้นเป็นส่วนหนึ่งของสัญญาโปรเจกต์ (project contract) หรือไม่? ถ้าใช่ ให้ pin ไว้
- โมเดลนั้นเป็นเพียงทางเลือกของ runtime ในเครื่องหรือไม่? ให้ใช้
model: inherit - ค่านั้นเป็นความลับหรือเฉพาะเจาะจงกับเครื่องหรือไม่? ให้เก็บไว้ใน runtime config ของคุณ
จงอธิบายตัว agent ไม่ใช่ตัวเครื่อง วิธีนี้จะทำให้ไฟล์ agent ของคุณมีประโยชน์และใช้งานได้ยาวนาน แทนที่จะยึดติดกับสภาพแวดล้อมใดสภาพแวดล้อมหนึ่ง (sticky)
Source: https://dev.to/agentprojectcontext/why-apc-agents-should-default-to-model-inherit-1jih
Optional learning community: https://t.me/GyaanSetuAi