หน้าแรก / บทความ / Dev Tools
Dev Tools วิเคราะห์จากสเปค + รีวิว

วิเคราะห์และรีวิว: Claude Code อ่านไฟล์ AGENTS.md เฉพาะเมื่อเปิดใช้ Telemetry [แก้ไขแล้ว]

วิเคราะห์พฤติกรรมของ Claude Code ที่อ่านไฟล์ AGENTS.md เฉพาะเมื่อเปิดใช้ Telemetry พร้อมอธิบายผลกระทบและแนวทางตรวจสอบการตั้งค่า

วิเคราะห์และรีวิว: Claude Code อ่านไฟล์ AGENTS.md เฉพาะเมื่อเปิดใช้ Telemetry [แก้ไขแล้ว]

สรุปให้ชัด

Claude Code เริ่มรองรับไฟล์ AGENTS.md ตั้งแต่เวอร์ชัน 2.1.277 และย้ายมาเป็นปลั๊กอินในตัวชื่อ agents-md ในเวอร์ชัน 2.1.280 แต่ปัญหาที่ถูกขุดพบคือการอ่านไฟล์นี้ผูกอยู่กับ remote feature flag ชื่อ tengu_agents_md_mod ซึ่งค่าเริ่มต้นคือ false ต้องรอสัญญาณจากฝั่งเซิร์ฟเวอร์ของ Anthropic ก่อนถึงจะเปิดใช้งานได้จริง

พูดตรงๆ ว่านี่คือจุดที่ขัดกับสามัญสำนึก เพราะการอ่านไฟล์ markdown จากโฟลเดอร์ในเครื่องไม่ควรต้องพึ่งเครือข่ายเลย แต่ในทางปฏิบัติ ถ้าตั้งค่า DISABLE_TELEMETRY=1 หรือ CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1 ไว้ ระบบจะบล็อกไม่ให้ flag นี้ทำงาน ผลคือคำสั่งใน AGENTS.md จะไม่ถูกโหลดโดยไม่มีการแจ้งเตือนใดๆ

จุดที่ทำให้เรื่องนี้ไม่ใช่แค่รายละเอียดทางเทคนิค

ประเด็นอยู่ที่ AGENTS.md ไม่ได้ทำงานแยกจากระบบ telemetry แต่ผูกกับมันโดยตรงผ่าน remote flag เมื่อ Claude Code เชื่อมต่อกับเซิร์ฟเวอร์ของ Anthropic ได้และ telemetry เปิดอยู่ flag จึงถูก resolve เป็น true และไฟล์คำสั่งจึงถูกอ่าน ส่วนกรณีที่ telemetry ถูกปิด ไม่ว่าจะตั้งใจหรือไม่ก็ตาม การอ่านไฟล์จะหยุดทำงานไปด้วยโดยไม่มีสัญญาณเตือนใดๆ ปรากฏบนหน้าจอ

ผู้ใช้ที่เชื่อมต่อผ่าน third-party gateway อย่าง Amazon Bedrock หรือ Google Vertex AI ก็เจอปัญหาเดียวกัน เพราะ client ไม่สามารถ resolve flag จากเซิร์ฟเวอร์ของ Anthropic ได้โดยตรงอยู่แล้ว ทำให้ AGENTS.md ไม่ถูกอ่านแม้จะไม่ได้ตั้งใจปิด telemetry เลยก็ตาม

เงื่อนไข remote feature flag ที่ควบคุมการอ่านไฟล์ AGENTS.md ใน Claude Code

วันที่คำสั่งในโปรเจกต์ไม่ทำงานอย่างที่คาด

ผมเตรียมคำแนะนำไว้ใน AGENTS.md ครบแล้ว แต่ Claude Code กลับไม่ทำตาม จนไปเจอโพสต์ที่อธิบายว่าการอ่านไฟล์นี้ผูกกับสถานะ telemetry ที่เปิดอยู่ ไม่ใช่บั๊กที่เกิดจากการตั้งค่าโปรเจกต์ผิด

ความน่าหงุดหงิดคือระบบไม่ฟ้องอะไรเลยว่าทำไมไฟล์ถึงไม่ถูกใช้ คำถามคือ งานที่ควรอ่านคำสั่งในโปรเจกต์ จำเป็นต้องแลกกับความเป็นส่วนตัวระดับนี้ไหมล่ะ

Claude Code อยู่ตรงไหนในระบบเครื่องมือของ Anthropic

Claude บนเว็บเหมาะกับการคุยและทำงานเป็นครั้งๆ ส่วน API คือช่องทางให้นักพัฒนานำ Claude ไปต่อเข้ากับระบบของตัวเอง ขณะที่ Claude Code อยู่ตรงกลาง โดยทำงานกับ codebase และ workflow ในเครื่องของเราโดยตรงผ่าน terminal

จุดสำคัญคือไฟล์อย่าง AGENTS.md ทำให้คำสั่งของโปรเจกต์ติดไปกับบริบทการทำงาน ไม่ต้องคอยบอกซ้ำทุกครั้ง แต่กรณีที่การอ่านไฟล์นี้ผูกกับ remote flag ที่ควบคุมโดย telemetry ทำให้ตำแหน่งของมันไม่ได้มีแค่เรื่อง coding productivity แล้ว ยังเกี่ยวกับความไว้ใจและการควบคุมข้อมูลของทีมด้วย

Claude Code ทำงานร่วมกับ codebase ผ่าน terminal โดยอ่านคำสั่งจาก AGENTS.md

จากการอ่านคำสั่งตามปกติสู่พฤติกรรมที่ขึ้นกับ telemetry

ตั้งแต่ 2.1.277 Claude Code ควรค้นหาและอ่าน AGENTS.md ตามบริบทของโปรเจกต์เหมือนเครื่องมืออื่นในตระกูลเดียวกัน แต่เมื่อย้ายมาเป็นปลั๊กอิน agents-md ใน 2.1.280 พฤติกรรมจริงกลับขึ้นกับว่า flag tengu_agents_md_mod ถูก resolve เป็น true หรือไม่ ทำให้ผลลัพธ์ที่ได้อาจไม่เหมือนกันแม้ใช้ Claude Code เวอร์ชันเดียวกันในสภาพแวดล้อมต่างกัน

Factor พฤติกรรมที่ควรเป็นพฤติกรรมจริง
การค้นหา AGENTS.md อ่านไฟล์ท้องถิ่นตรงๆต้องรอ remote flag ยืนยันก่อน
เงื่อนไขการอ่านไฟล์ ไม่ควรผูกกับ telemetryผูกกับ tengu_agents_md_mod
ผลเมื่อปิด telemetry ยังอ่านไฟล์ได้ปกติไฟล์ไม่ถูกอ่านเลย
การแจ้งเตือนผู้ใช้ ควรมี warning เมื่อข้ามไฟล์ไม่มี warning ใดๆ
ผู้ใช้ third-party gateway ควรอ่านไฟล์ได้เหมือนกันresolve flag ไม่ได้ จึงไม่ถูกอ่าน

ผลกระทบจริงคือทีมต้องตรวจสถานะ telemetry และช่องทางเชื่อมต่อของตัวเองก่อน จึงจะเชื่อได้ว่ากติกาใน AGENTS.md ถูกนำไปใช้ทุกครั้ง

เมื่อกฎในไฟล์มีผลหรือไม่มีผลในชีวิตจริง

โปรเจกต์ที่มีมาตรฐานเข้มงวด ควรตรวจว่า Claude Code อ่าน AGENTS.md จริงก่อนให้แก้โค้ด เพราะกติกาอาจไม่ถูกใช้ถ้า telemetry ปิดอยู่ หรือถ้าเชื่อมต่อผ่าน gateway ที่ resolve flag ไม่ได้

ทีมที่ทำงานกับข้อมูลอ่อนไหวและอยากปิด telemetry เพื่อความเป็นส่วนตัว จึงตกอยู่ในสถานการณ์ย้อนแย้ง เพราะกลุ่มที่ใส่ใจความเป็นส่วนตัวมากที่สุดมักเป็นกลุ่มเดียวกับที่ต้องพึ่งไฟล์คำสั่งอย่าง AGENTS.md มากที่สุดเช่นกัน

ใน CI หรือทีมขนาดใหญ่ที่ใช้ third-party gateway อย่าง Bedrock หรือ Vertex AI ควรตรวจสถานะการอ่าน AGENTS.md ในสภาพแวดล้อมจริงก่อน ไม่ใช่สมมติว่าเครื่องมือทำงานเหมือนกับตอนทดสอบในเครื่องส่วนตัว

ทีมตรวจสอบว่า AGENTS.md ถูกอ่านจริงในสภาพแวดล้อม CI หรือ gateway ที่ใช้งาน

Claude Code เทียบกับเครื่องมือช่วยเขียนโค้ดทางเลือก

Claude Code มีจุดต้องระวังคือ AGENTS.md จะถูกอ่านก็ต่อเมื่อ remote flag ที่ควบคุมโดย telemetry ถูก resolve เป็น true เท่านั้น ขณะที่ Codex CLI รองรับ AGENTS.md แบบ global ได้อยู่แล้ว ซึ่งเป็นหนึ่งในฟีเจอร์ที่มีการเรียกร้องให้ Claude Code ทำตาม

Factor Claude CodeCursorGitHub Copilot CLICodex CLI
อ่านคำสั่งโปรเจกต์ อ่าน AGENTS.md เมื่อ telemetry flag เปิดรองรับกฎในโปรเจกต์รองรับคำสั่งตามการตั้งค่ารองรับ AGENTS.md ทั้งระดับโปรเจกต์และ global
ความโปร่งใส telemetry ไม่มี warning เมื่อข้ามไฟล์ขึ้นกับการตั้งค่าขึ้นกับการตั้งค่าขึ้นกับการตั้งค่า
การควบคุมข้อมูล ต้องกำหนดนโยบายทีมเองมีตัวเลือกควบคุมผูกกับบัญชีและองค์กรต้องกำหนดสิทธิ์ใช้งาน
เหมาะกับงานทีม เหมาะเมื่อทำ workflow ตรวจซ้ำเหมาะกับทีมใช้ editorเหมาะกับทีมใช้ GitHubเหมาะกับทีมทำงานผ่าน terminal
ประสบการณ์ terminal เด่นด้านงานหลายขั้นตอนเด่นใน editorตรงกับ workflow GitHubตรงกับ workflow terminal

จุดแข็งที่ยังน่าใช้ และข้อจำกัดที่ต้องระวัง

Claude Code ยังเหมาะกับงานโค้ดจริง เพราะรวมคำสั่งหลายขั้นตอนไว้ใน workflow เดียว ลดการสลับเครื่องมือระหว่างแก้ไฟล์ ตรวจโค้ด และรันคำสั่ง แต่กรณี AGENTS.md ที่อ่านได้เฉพาะเมื่อ remote flag ยืนยันผ่าน ทำให้พฤติกรรมไม่สม่ำเสมอในบางสภาพแวดล้อม

ข้อดี

  • +รวมคำสั่งทำงานกับโค้ดไว้ใน workflow เดียวผ่าน terminal
  • +ช่วยจัดการงานแก้ไฟล์และตรวจโค้ดได้สะดวก

ข้อเสีย

  • −การอ่าน AGENTS.md ผูกกับ remote flag ที่ควบคุมโดย telemetry
  • −ไม่มี warning เมื่อไฟล์ถูกข้าม ผู้ใช้ต้องตรวจสอบเอง

ทางออกชั่วคราวที่ใช้ได้จริงตอนนี้

ผู้ที่รายงานปัญหานี้เปิด GitHub issue หมายเลข #95690 ไว้ พร้อมข้อเรียกร้องหลักสี่ข้อ คือให้แยกการอ่านไฟล์ในเครื่องออกจากระบบ telemetry ให้แสดง warning เมื่อไฟล์ถูกข้าม ให้รองรับ AGENTS.md แบบ global เหมือน Codex และให้เปิดทาง discover shared agent skills ได้แบบ native

ระหว่างรอการแก้ไขอย่างเป็นทางการ มีวิธี workaround ที่ใช้ได้จริงคือสร้างไฟล์ CLAUDE.md ที่มีเพียงบรรทัดเดียวคือ @AGENTS.md ซึ่งใช้ syntax การ import ไฟล์ของ Claude Code เอง วิธีนี้จะบังคับให้เนื้อหาใน AGENTS.md ถูกดึงเข้ามาใช้งานได้โดยไม่ต้องพึ่ง remote flag เลย

สิ่งที่ประเด็นนี้บอกเราเกี่ยวกับอนาคตของเครื่องมือเขียนโค้ดด้วย AI

Claude Code อ่านไฟล์ AGENTS.md ได้เต็มที่ก็ต่อเมื่อ remote flag ที่ผูกกับ telemetry ถูกเปิดใช้ ดังนั้นคำสั่งในไฟล์จะน่าเชื่อถือได้ก็ต่อเมื่อรู้เงื่อนไขการทำงานนี้ก่อนใช้งานจริง

เรื่องนี้กระทบความเป็นส่วนตัวและการตรวจสอบได้โดยตรง ผู้ใช้ควรตรวจสอบสถานะ telemetry ของตัวเอง ทดสอบว่า AGENTS.md ถูกอ่านจริงในสภาพแวดล้อมที่ใช้งาน และใช้ CLAUDE.md แบบ @AGENTS.md เป็นทางเลี่ยงระหว่างรอ Anthropic แก้ไขปัญหานี้อย่างเป็นทางการครับ