วิธีสร้างไฟล์ AGENTS.md ทีละขั้นตอน

ไฟล์ AGENTS.md คือไฟล์ Markdown เพียงไฟล์เดียวที่อยู่ใน root ของ repository ของคุณ ซึ่งจะบอกให้ AI coding agents ทราบว่าต้องทำงานอย่างไร โดยจะครอบคลุมถึงขั้นตอนการ build, การทดสอบ (tests) และกฎเกณฑ์ต่างๆ

ทำตามขั้นตอนเหล่านี้เพื่อสร้างไฟล์สำหรับโปรเจกต์ Python FastAPI

1. กำหนด stack

เริ่มต้นด้วยประโยคเดียว บอก agent ถึงภาษา, framework และฐานข้อมูล ตัวอย่าง: A URL shortener API in Python using FastAPI, SQLite, and pytest.

2. ระบุคำสั่งการติดตั้ง (setup commands)

ให้คำสั่งที่ใช้งานได้จริงแก่ agent อย่าใช้ตัวสำรอง (placeholders)

  • Setup: python -m venv .venv && source .venv/bin/activate
  • Run: uvicorn app.main:app --reload

3. กำหนดมาตรฐานการทดสอบ

สิ่งนี้สำคัญมาก เพราะ agent จะใช้การทดสอบเพื่อตรวจสอบงานของตัวเอง

  • Run pytest
  • Run ruff check
  • Run mypy

4. ระบุโครงสร้างไฟล์ (Map the structure)

ระบุโฟลเดอร์ต่างๆ เพื่อที่ agent จะได้ไม่ต้องไล่หาจากทุกไฟล์

  • app/main.py: route handlers
  • app/db.py: การเข้าถึง SQLite
  • migrations/: SQL ที่ถูกสร้างขึ้น (ห้ามแก้ไข)

5. กำหนด conventions

ต้องมีความเฉพาะเจาะจง กฎที่คลุมเครือจะไม่มีประโยชน์

  • ใช้ Pydantic สำหรับการตรวจสอบความถูกต้องของข้อมูลขาเข้า (input validation) ทั้งหมด
  • ใช้ HTTPException สำหรับข้อผิดพลาดจากฝั่ง client
  • กำหนด Type ให้กับทุกอย่างเพื่อให้ mypy ทำงานได้อย่างถูกต้อง

6. ระบุสิ่งที่ "ห้ามทำ" (Don'ts)

ป้องกันความผิดพลาดด้วยการกำหนดขอบเขตที่ชัดเจน

  • ห้ามแก้ไขไฟล์ migrations ด้วยตัวเอง
  • ห้าม commit ลง main โดยตรง
  • ห้ามรัน seed scripts บนฐานข้อมูลที่ไม่ใช่ local โดยเด็ดขาด

ทำไมวิธีนี้ถึงได้ผล

เมื่อคุณสั่งงาน AI agent เช่น "Add a DELETE endpoint" มันจะอ่านไฟล์นี้เป็นอันดับแรก

เมื่อมีไฟล์ AGENTS.md, agent จะ:

  • รู้ตำแหน่งที่ต้องเพิ่มโค้ดอย่างแม่นยำ
  • ใช้เครื่องมือทดสอบที่คุณกำหนดไว้โดยเฉพาะ
  • ทำตามสไตล์ของคุณโดยไม่ต้องคอยถาม
  • เปิด branch ใหม่แทนที่จะทำให้โค้ดหลัก (main) พัง

หากไม่มีไฟล์นี้ agent จะใช้วิธีการเดา มันอาจใช้ test runner ที่ผิด หรือแก้ไขไฟล์ที่ไม่ควรแตะต้อง

ให้ปฏิบัติกับไฟล์นี้เหมือนเป็นโค้ด หาก workflow ของคุณเปลี่ยนไป ให้รีบอัปเดตไฟล์ทันที ไฟล์ที่ล้าสมัยจะนำไปสู่ข้อผิดพลาด

Source: https://dev.to/wolfejam/agentsmd-hands-on-build-one-step-by-step-and-watch-an-agent-use-it-3g27

Optional learning community: https://t.me/GyaanSetuAi