// ข้อตกลง
AGENTS.md
Codex ควรทำตัวยังไงในรีโพนี้
สำหรับผู้ใช้ Codex CLI
AGENTS.md กำหนดข้อตกลงในการทำงาน MCP ให้ Codex เอื้อมไปหยิบเครื่องมือได้ Maguyva คือเซิร์ฟเวอร์ MCP ที่มอบแผนที่ของรีโพที่สอบถามได้ให้ Codex ทำให้การแก้ไขครั้งแรกไม่ใช่การเดาโครงสร้างไฟล์
แผน Free: รีโพซิทอรี 3 แห่ง, บรรทัดที่ทำดัชนีสูงสุด 50,000 บรรทัด ไม่ต้องใช้บัตร
AGENTS.md คือข้อตกลง MCP คือช่องทางสื่อสาร Maguyva คือแผนที่สี่แนวคิด แต่ละอย่างทำหน้าที่ของตัวเอง
// ข้อตกลง
Codex ควรทำตัวยังไงในรีโพนี้
// การส่งผ่าน
วิธีที่ Codex เอื้อมไปหยิบเครื่องมือและบริบทจากภายนอก
// โค้ดเบส
เซิร์ฟเวอร์ MCP ที่คืนข้อเท็จจริงของรีโพที่มีหลักฐานอ้างอิง
// ใครจ่ายเงิน
เอเจนต์ไม่ต้องจ่ายค่าที่นั่ง ดูราคา
คำสั่งที่ต้องคงอยู่ถาวรควรอยู่ใน AGENTS.md มันคือที่ที่เหมาะสำหรับ:
เขียนให้กระชับ จำกัดขอบเขตไว้ แล้ว commit มันเก็บไว้
แต่ AGENTS.md ไม่เคยถูกออกแบบมาให้เป็นดัชนีที่สอบถามได้ของทุกสัญลักษณ์ ไฟล์ และจุดเรียกใช้ในรีโพของคุณ
สี่รูปแบบความล้มเหลว การ์ดละหนึ่งแบบ
การบอก Codex ว่าต้องทำงานยังไง ไม่ได้บอกว่ามีอะไรอยู่จริง การแก้ไขครั้งแรกในแพ็กเกจที่ไม่คุ้นเคยคือการเดาพาธไฟล์และชื่อฟังก์ชัน AGENTS.md ไม่สามารถลิสต์ทุกสัญลักษณ์ได้ และคุณก็ไม่อยากให้มันเป็นแบบนั้นด้วย
บล็อกใน AGENTS.md ที่อธิบายโครงสร้างคิวของคุณถูกต้องอยู่จนกว่าจะมีใครเพิ่มคอนซูมเมอร์ใหม่เข้ามา ตอนนี้โค้ดคือแหล่งความจริง ส่วนเอกสารล้าสมัยไปแล้วอย่างมั่นใจ Codex กลับอ่านอันที่ผิดอยู่
“มีอะไรอ้างอิงคลาสนี้บ้าง?” ตอบไม่ได้จากไฟล์ markdown Codex ก็ต้อง grep แล้วภาวนาไปทั่วโมโนรีโพ หรือไม่ก็ขอให้คุณวางจุดเรียกใช้ลงในแชท
การยัด AGENTS.md จน Codex “รู้พอ” กินโทเคนที่ควรเอาไปใช้คิดวิเคราะห์แทน เกินไม่กี่ KB คุณก็แลกคุณภาพคำตอบกับปริมาณบริบทนิ่งๆ ไปแล้ว
ผู้ใช้ Codex คิดในรูปแบบนี้อยู่แล้ว หน้านี้แค่ทำให้มันชัดเจนขึ้น
AGENTS.md
ข้อตกลง
Codex ทำตัวยังไง
MCP
ช่องทางสื่อสาร
วิธีที่มันเอื้อมไปหยิบ
Maguyva
ข้อเท็จจริงของโค้ดเบส
สิ่งที่มันมองเห็น
AGENTS.md บอก Codex ว่าต้องทำงานยังไง
Maguyva มอบสิ่งที่ใช้เริ่มทำงานได้ให้ Codex
เฉพาะสำหรับ Codex อ้างอิงจากกราฟการเรียกใช้จริง ไม่ใช่การ grep ของ Codex
// workflow 01
codex> PaymentClient → BillingClient เปลี่ยนชื่อ graph::callers(PaymentClient) 12 การอ้างอิง ครอบคลุม 7 แพ็กเกจ graph::importers(src/payments/client.ts) 9 ผู้นำเข้า graph::extends(PaymentClient) 2 คลาสลูก (RetryClient, MockClient) → Codex เสนอแผนย้าย 21 จุดแก้ไข พร้อมรายการไฟล์แบบอินไลน์ [exit 0]
Codex ถาม Maguyva หาผู้ที่พึ่งพาก่อนที่จะเริ่มแก้ไข รายการย้ายที่ได้กลับมาอ้างอิงจากกราฟจริง ไม่ใช่จากความจำของ Codex
// workflow 02
codex> normalizePhoneNumber จัดการ E.164 ยังไง? semantic::query("normalize phone E.164") src/util/phone.ts:88 normalizePhoneNumber() ← ของจริง test/util/phone.spec.ts:14 jest.mock(...) ← stub [exit 0]
ชื่อบอกอะไรไม่ได้เสมอไป mock บดบังโค้ดจริงได้ Maguyva จัดอันดับการอิมพลีเมนต์จริงให้อยู่เหนือ test mock
// workflow 03
codex> อะไรเรียก QueueDispatcher.publish บ้าง? graph::callers(QueueDispatcher.publish) 3 ครั้งใน src/billing/* 1 ครั้งใน src/audit/* 1 ครั้งใน src/notifications/* [exit 0]
จุดเรียกใช้ข้ามแพ็กเกจโผล่ขึ้นมาให้เห็นทันที การเปลี่ยนแปลงอ้างอิงจากผู้นำเข้าจริง ไม่ใช่การ grep ของ Codex
สามขั้นตอน แผน Free: รีโพซิทอรี 3 แห่ง, บรรทัดที่ทำดัชนีสูงสุด 50,000 บรรทัด ไม่ต้องใช้บัตร
// step 01
เลือกรีโพที่คุณรู้จักดี เพื่อให้ตรวจสอบคำตอบได้
// step 02
$ export MAGUYVA_API_KEY=mgv_xxxx
$ codex mcp add maguyva --url https://maguyva.tools/mcp \
--bearer-token-env-var MAGUYVA_API_KEY
# equivalent ~/.codex/config.toml
[mcp_servers.maguyva]
url = "https://maguyva.tools/mcp"
bearer_token_env_var = "MAGUYVA_API_KEY"// step 03
อย่าเริ่มจากทั้งบริษัทของคุณ เริ่มจากรีโพเดียวและคำถามเดียวที่ตรวจสอบได้