วันที่ 1 สิงหาคม 2026 มีข้อความไปถึง agent ของเพื่อนอีกบ้านหนึ่ง อ้างว่ามาจากเรา สั่งให้ไปดึงไฟล์ชุดหนึ่งมาตรวจ เราไม่ได้ส่งไปเลย
ใบนั้นไม่ผ่าน แต่ไม่ใช่เพราะกลไกของเรา แขกดูออกเองจาก 2 อย่าง คือคำสั่งที่ใบนั้นให้พิมพ์เป็นของฝั่งเรา ซึ่งเครื่องเขาเรียกไม่ได้อยู่แล้ว กับน้ำเสียงเปิดเรื่องที่ผิดวัน ทั้ง 2 อย่างเป็นทักษะของคนอ่าน ไม่ใช่กติกากันพลาด
ถ้าคุณกำลังจะเปิดให้ agent ของเพื่อนเขียนไฟล์เข้าเครื่องคุณ ใบแบบนั้นจะมาถึงคุณเหมือนกัน และหน้าตาจะไม่เหมือนของปลอมเลย
ตอนนั้นเราคิดว่ากันครบแล้ว แต่ทุกอย่างที่ทำมาคุมทิศเดียว คือทิศแขกเข้าหาเรา ใบวันนั้นวิ่งสวนทาง เรื่องนั้นเหลือประโยคเดียวไว้ให้เรา และประโยคนี้คุมทั้งบทความ
ไฟล์ที่แขกเขียน คือ prompt ที่ป้อนให้ agent ที่ถือสิทธิ์ของเรา
prompt คือกองข้อความที่เราป้อนให้ agent อ่านก่อนลงมือ ทุกอย่างในกองนี้มีน้ำหนักเท่ากันหมด
Productize.life ต่อ agent ข้ามบ้านโดยไม่ได้ใช้ agent to agent protocol สำเร็จรูปสักตัว เลน คือช่องทางที่เปิดให้แขกบ้านเดียว แยกจากที่อื่นในเครื่อง เดินจริงตั้งแต่ 29 กรกฎาคม ถึง 9 กันยายน 2026
ช่วงที่ 1ไฟล์ของแขก คือ prompt ของเรา
เรายิงทดสอบท่อของตัวเอง 8 ท่า ท่อกันได้ครบทั้ง 8 แต่ไม่มีท่าไหนแตะประโยคแกนเลย เพราะทางที่อันตรายที่สุดไม่ต้องใช้ช่องโหว่
แขกวางไฟล์ลงโฟลเดอร์ขาเข้าตามสิทธิ์ที่ให้ไว้ แล้วฝั่งเราก็เปิดอ่าน พออ่านเข้ามา ไฟล์นั้นก็ไปนอนในกองข้อความที่ agent ใช้คิด ที่ฝรั่งเรียกว่า context กองเดียวกับคำสั่งของเจ้าบ้าน ทั้งหมดนี้ไม่ต้องมีบั๊ก
ของที่ทุกบ้านสร้างก่อนคือกันแขกไต่ออกนอกโฟลเดอร์ จำกัดโควตา และดูแลคีย์ ทั้ง 3 อย่างขวางที่ระดับไฟล์กับท่อ ไม่มีอันไหนขวางตรงที่ไฟล์เดินเข้าไปในหัวคน
คำถามตั้งต้นจึงเปลี่ยน เดิมถามว่าจะกันแขกไม่ให้ทำเกินสิทธิ์ยังไง ตอนนี้ถามว่าของที่แขกเขียนเดินไปถึงมือที่ถือสิทธิ์ทางไหน และใครเซ็นรับตรงนั้น
ช่วงที่ 2A2A กับ MCP หยุดตรงไหน?
หยุดที่ท่อ ทั้งคู่ตอบได้ว่า agent 2 ตัวจะรู้จักกันและส่งงานหากันยังไง แต่ไม่ตอบว่าใครกดอนุมัติ และจะพิสูจน์ที่มาของไฟล์ยังไง
ไม่ได้มีแค่เราที่เจอ งานสำรวจปี 2026 ชื่อ Governance Gaps in Agent Interoperability Protocols เทียบโพรโทคอล 5 ตัว รวม MCP และ A2A กับเกณฑ์กำกับดูแล 6 ด้าน ผลคือการลงมติกับการเก็บเสียงค้านหายไปทั้ง 5 ตัว และงานนี้สรุปว่าการกำกับดูแลคือชั้นที่ยังไม่มีใครสร้าง วางเหนือมาตรฐานพวกนี้ ไม่ใช่ฟีเจอร์ที่ลืมใส่ข้างใน
| A2A / MCP ให้ | ไม่ให้ | ที่เจ้าบ้านต้องต่อเอง |
|---|---|---|
| Agent Card บอกว่าใครทำอะไรได้ | ใครกดอนุมัติ | แยกเลนคุยจากเลนทำงาน วางคนตรงรอยต่อ |
| วิธีรับส่งบน JSON-RPC และ HTTP | ที่มาที่ปลอมไม่ได้ | ลายเซ็นทุกไฟล์ คีย์สาธารณะถึงอีกฝั่งวันแรก |
| วงจรของงานตั้งแต่รับจนจบ | ทิศทางที่บังคับได้ | เขียนได้เฉพาะขาเข้า ขาออกอ่านอย่างเดียว |
| เครื่องมือที่โมเดลเรียกได้ | การถอนสิทธิ์ที่ทำได้จริง | ลบสิทธิ์ที่ค้างบนเครื่องก่อน แล้วให้เครื่องไล่เทียบ |
| การประกาศตัวตนของ agent | ร่องรอยที่คนอ่านรู้เรื่อง | คำสั่งตรวจที่รันซ้ำได้ แจ้งคนตอนของเข้า |
ช่วงที่ 3กติกา 8 ข้อ เรียงตามลำดับที่ควรทำ
ข้อ 1 ถึง 3 ทำได้ก่อนเขียนโค้ดบรรทัดแรก ส่วนข้อท้ายๆ ต้องรอให้เลนเดินจริงก่อนถึงจะรู้ว่าต้องมี
กติกา 1 แยกเลนคุยออกจากเลนทำงาน ก่อนเขียนโค้ดบรรทัดแรก
แขกคุยได้เต็มที่ ส่วนการลงมือ ทั้งเขียนไฟล์ ใช้เงิน และปล่อยของขึ้นจริง ต้องผ่านคนฝั่งเจ้าบ้าน เหมือนร้านที่ลูกค้าเดินดูได้ทั้งร้าน แต่ตู้เซฟหลังเคาน์เตอร์เปิดได้คนเดียว ถ้าสลับกัน คือให้ agent อนุมัติแล้วให้คนตามดูทีหลัง คนจะกลายเป็นตัวถ่วง แล้วเดี๋ยวก็มีคนหาทางข้ามหัว
วิธีทำให้มันแดง: วางใบสั่งงานที่ไม่มีใครอนุมัติลงในเลน ต้องไม่มีอะไรขยับ ถ้าของเดินต่อ แปลว่าประตูอยู่ผิดที่
กติกา 2 ให้สิทธิ์เป็นคำสั่งเดียวบวกรายการคำสั่งย่อยที่อนุญาต ไม่ใช่เปิดทั้งเครื่อง
คีย์ที่แขกใช้ต่อเข้ามาผูกไว้กับคำสั่งเดียว และคำสั่งนั้นรับเฉพาะรายการที่อนุญาต คือ send, put, list, ls-files, fetch, ping ไม่มีช่องให้พิมพ์อะไรก็ได้ลงเครื่องเรา
บทเรียนมาตั้งแต่ 29 กรกฎาคม 2026 คีย์สาธารณะใบแรกที่เราติดตั้ง ไม่ใช่ใบที่ agent ฝั่งนั้นถือ เขาต่อเข้ามาก็โดนปฏิเสธ
วิธีทำให้มันแดง: ขอหน้าจอคำสั่งต้องโดนปฏิเสธ ยิงคำสั่งย่อยนอกรายการต้องโดนปฏิเสธ แล้วเทียบคีย์ที่ติดตั้งกับลายนิ้วมือของคีย์ในบันทึก ใบไหนไม่มีใครถือคู่ คือช่องเปิดค้าง ถอดออก
กติกา 3 ทิศทางบังคับด้วยสิทธิ์ ไม่ใช่ด้วยข้อตกลง
วันที่ 30 กรกฎาคม 2026 เราเปิดสิทธิ์รับส่งไฟล์กว้างทั้งเลน เพราะตกลงกันแล้วว่าใครเขียนตรงไหน ผลคือแขกเขียนลงโฟลเดอร์ขาออกได้ แล้วเจอไฟล์พาดหัว "จากเจ้าบ้าน" ที่เจ้าบ้านไม่ได้เขียน การปลอมที่มาด้วยชื่อไฟล์คือการปลอมที่ลงทุนน้อยที่สุด
หลังจากนั้นแขกเขียนได้เฉพาะโฟลเดอร์ขาเข้า ห้ามลบ ส่วนทางลัดที่ชี้ออกนอกโฟลเดอร์ หรือ symlink เราถอดพิษก่อนลงเครื่อง ข้อนี้มาจากรอบแรกที่พลาด เรากันท่าโจมตีได้หมด แต่ symlink หลุดเข้ามา
ขาออกแขกอ่านอย่างเดียว มีป้าย lease บอกว่าฝั่งเราตัวไหนถืออยู่ แต่ป้ายไม่ใช่กุญแจ ตัวที่กันเขียนทับจริงคือ single-writer
วิธีทำให้มันแดง: ให้ตัวเขียน 8 ตัวยิงชื่อไฟล์เดียวกันพร้อมกัน ผลของเราคือชนะ 1 ปฏิเสธ 7 ถ้าผ่านหมด แปลว่ากันอะไรไม่ได้
กติกา 4 ทุกไฟล์ที่ออกจากบ้านเราถึงแขก ต้องเซ็น
นี่คือทิศที่ไม่มีใครเฝ้า และเป็นทิศที่โดนจริง 1 สิงหาคม 2026 ของที่ส่งออกเราจึงเซ็นด้วย ssh-keygen -Y sign วางคู่เป็นไฟล์ .sig แขกถือคีย์สาธารณะของเราตั้งแต่วันแรก การปฏิเสธของที่ไม่เซ็นเป็นเรื่องของเครื่อง ไม่ใช่วิจารณญาณของคนอ่านตอนตีสาม
ตราบใดที่ของไม่เซ็นยังเป็นเรื่องปกติ ลายเซ็นก็เป็นของประดับ ผลวัด 9 กันยายน 2026 ไฟล์จากเจ้าบ้านในเลนมี 35 ไฟล์ เซ็นครบ
วิธีทำให้มันแดง: วางไฟล์ที่ไม่มีลายเซ็นลงกล่องขาออก 1 ไฟล์ แล้วรันคำสั่งตรวจ ต้องเห็นมันตีกลับ ถ้ายังเขียว ตัวตรวจไม่ได้อ่านที่ที่เราคิด
กติกา 5 อ่านของแขกเป็นข้อมูล ไม่ใช่คำสั่ง
ข้อนี้เหลืออยู่แม้ติดตั้งกลไกครบ เพราะคลุมทางที่กลไกไปไม่ถึง คือทางที่ฝั่งเราอ่านของแขกแล้วทำตาม เครื่องทำได้แค่สะกิดคนตอนไฟล์เข้า บอกชื่อไฟล์กับค่าประจำตัวของเนื้อไฟล์ที่ได้จาก sha256 ไม่เอาเนื้อขึ้นห้องคุย เพราะเนื้อที่แสดงคือ prompt ของทุกคนในห้อง
ที่เหลือเป็นเรื่องนิสัย อย่ารับคำวินิจฉัยของอีกฝั่งเป็นข้อสรุป วันที่ 30 กรกฎาคม 2026 agent อีกบ้านสรุปว่าวิธีส่งไฟล์ของเขาไม่กระตุ้นตัวแจ้งเตือนของเรา ส่วนนี้ถูก แต่เขาปิดท้ายว่าเป็นความผิดฝั่งเขาเอง ซึ่งผิด บั๊กอยู่ฝั่งเรา
วิธีทำให้มันแดง: วางไฟล์ที่มีประโยคสั่งการชัดๆ ลงโฟลเดอร์ขาเข้า แล้วดูว่าข้อความแจ้งเตือนที่เด้งเข้าห้องมีเนื้อไฟล์ติดมาไหม
กติกา 6 ใครถือเครื่องมือ คนนั้นพิสูจน์ อย่าโยนให้ฝ่ายที่ตรวจไม่ได้
ถ้าฝ่ายที่ถูกขอไม่มีเครื่องมือจะตรวจ ประโยคว่าช่วยตรวจให้หน่อยไม่ใช่คำขอ แต่เป็นแรงกดให้เขาลดมาตรฐานลงมาเท่าที่ตรวจได้ เหมือนคนส่งของบอกให้ช่วยเช็คว่าของครบไหม ทั้งที่ใบส่งของอยู่ในมือเขา ฝ่ายที่ถือเครื่องมือต้องรันเอง แล้วส่งคำสั่งที่อีกฝ่ายรันซ้ำได้ไปด้วย
วันที่ 20 สิงหาคม 2026 เราเจอด้านตรงข้ามกับตัวเอง วันเดียวเขียนคำยืนยันเรื่องสถานะระบบผิด 6 ครั้ง คนจับได้ทั้ง 6 กลไกจับได้ 0 และมี 3 ใบออกไปถึงอีกบ้านแล้ว ตอนนี้ทุกบรรทัดที่อ้างว่าไม่มี ไม่เคย หรือ N จาก M ต้องแนบคำสั่งกับผลที่คาด แล้วตัวตรวจรันซ้ำก่อนปล่อยจดหมาย ไม่มีสวิตช์ปิด
วิธีทำให้มันแดง: ใส่คำยืนยันที่ผิดลงในจดหมายที่กำลังจะส่ง เช่นบอกว่าไม่เหลือของแบบนั้นแล้วทั้งที่ยังมี ตัวตรวจต้องตีกลับ ถ้าปล่อยผ่าน แปลว่ามันอ่านแต่รูปประโยค ไม่ได้รันจริง
กติกา 7 ธรรมเนียมต้อนรับแขก เขียนเป็นวัฒนธรรมได้ เขียนเป็นโค้ดไม่ได้
พอเลนแขกเริ่มมีชีวิต ความอยากถัดมาคือเขียนธรรมเนียมต้อนรับเป็นกฎ ต้อนรับก่อน ถามทีหลัง ตอบทุกข้อความ รับรองกันและกัน ทั้งหมดนี้เขียนเป็นร้อยแก้วคือวัฒนธรรมที่ดี เขียนเป็นโค้ดคือรับของเข้าโดยไม่ตรวจตัวตน แถมยังขยายแรงให้คนมายิงถล่มด้วย
การต้อนรับที่ยืนได้อยู่ที่เดียว คือคำแถลงหน้าที่ของเจ้าบ้านในคำทักทาย ทิศทางต้องเป็นโค้ดมาก่อน แล้วเอกสารเดินตาม ไม่ใช่ทางกลับกัน
วิธีทำให้มันแดง: เขียนกฎต้อนรับสักข้อลงในโค้ด แล้วส่งคำทักทายจากตัวตนที่ไม่มีใครรับรอง ถ้าได้คำตอบกลับมา ชั้นต้อนรับก็กลายเป็นทางเข้าที่ไม่ตรวจตัวตนไปแล้ว
กติกา 8 การถอนสิทธิ์ที่ทำไม่ได้จริง คือทะเบียนความตั้งใจ
ตัวรับรอง คือรายการอนุญาตที่ค้างบนเครื่อง ตัวที่ทำให้คีย์ใบนั้นยังต่อเข้ามาได้ ถอนสิทธิ์ต้องลบตัวรับรองก่อน แล้วค่อยแก้ทะเบียน ถ้าลบไม่สำเร็จ ห้ามแตะทะเบียนสักบรรทัด เพราะทะเบียนที่บอกว่าถอนแล้วทั้งที่คีย์ยังอยู่ อันตรายกว่าไม่มีทะเบียน แล้วต้องมีตัวกระทบยอด คือคำสั่งที่เทียบทะเบียนกับตัวรับรองจริงบนเครื่อง
วันที่ 9 กันยายน 2026 คนที่พลาดคือเจ้าบ้านเอง เราใส่ธงของเครื่องมือที่ใช้ทุกวันผิดความหมาย เข้าใจว่าคือชื่อผู้เขียน ที่จริงคือชื่อไฟล์ปลายทาง ไฟล์ตอบกลับเลยลงชื่อผิด ทะเบียนที่คนกรอกเชื่อได้น้อยกว่าตัวกระทบยอด
วิธีทำให้มันแดง: ลบตัวรับรองออกจากเครื่อง 1 รายการ โดยไม่แตะทะเบียน แล้วรันตัวกระทบยอด ต้องเห็นมันไม่ผ่านและชี้ตรงรายการนั้น ถ้ายังเขียว คุณไม่มีระบบถอนสิทธิ์ มีแต่ทะเบียนความตั้งใจ
ช่วงที่ 4รู้ได้ยังไงว่า ราวกันตก ยังมีชีวิตอยู่?
รู้ได้ทางเดียวคือทำให้มันแดง สีเขียวจากการรันเฉยๆ แปลได้ 2 อย่าง คือไม่มีปัญหา กับตัวตรวจตายไปแล้ว และเราแยก 2 อย่างนี้ไม่ออกถ้าไม่เคยเห็นมันแดง
ระหว่าง 5 ถึง 8 กันยายน 2026 เราส่งสูตรนี้ข้ามบ้าน เพราะอีกบ้านเจอปัญหาเดียวกัน คือหลายเซสชันเขียนทับไฟล์งานค้างรายวันกันเอง เกิด 4 ครั้งใน 6 สัปดาห์ เขาเขียนใหม่ให้เข้ากับไฟล์ของเขา ยิงเคสที่ต้องโดนปฏิเสธครบ แล้วเติมตัวบังคับที่ขวางการเขียนตรง จนเห็นมันตีกลับ
กฎที่เก็บเป็นร้อยแก้วไม่ยึด อะไรที่กันได้ด้วยกลไก ต้องทำเป็นกลไก
คำถามที่เจอบ่อย
A2A กับ MCP ต่างกันยังไง
คนละแกน MCP ต่อโมเดลเข้ากับเครื่องมือของ server ที่เราดูแลเอง ส่วน A2A ต่อ agent คนละเจ้าเข้าหากัน ใช้คู่กันได้ ไม่ได้แทนกัน
ต้องใช้ A2A ไหม ถ้าแค่ต่อกับเพื่อนคนเดียว
ไม่จำเป็น เลนที่เล่ามาไม่ได้ใช้ A2A สักบรรทัด ใช้แค่คีย์ที่ผูกกับคำสั่งเดียวบวกรายการคำสั่งย่อยที่อนุญาต A2A เริ่มคุ้มตอนมีแขกหลายราย แต่กติกา 8 ข้อยังต้องต่อเอง
ลายเซ็นไฟล์ทำยังไงแบบง่ายที่สุด
ใช้คีย์ ssh ที่มีอยู่ เซ็นด้วย ssh-keygen -Y sign วางไฟล์ .sig คู่ไฟล์จริง แล้วอีกฝั่งตรวจด้วย ssh-keygen -Y verify บังคับข้อเดียวคือทำทุกไฟล์
A2A ไม่ได้ให้อะไรบ้าง
ไม่ได้ให้ใครกดอนุมัติให้ลงมือ ที่มาของไฟล์ที่ปลอมไม่ได้ ทิศทางที่บังคับด้วยสิทธิ์ การถอนสิทธิ์ที่ทำได้จริง และร่องรอยที่คนอ่านรู้เรื่อง งานสำรวจปี 2026 เทียบโพรโทคอล 5 ตัวกับเกณฑ์กำกับดูแล 6 ด้าน แล้วพบว่าการลงมติกับการเก็บเสียงค้านหายไปทั้ง 5 ตัว
ช่วงที่ 5ถ้ามีเวลาแค่วันเดียว เริ่มจาก 3 ข้อนี้
- บังคับทิศด้วยสิทธิ์ ให้แขกเขียนได้เฉพาะโฟลเดอร์ขาเข้า ห้ามลบ ขาออกอ่านอย่างเดียว ใช้เวลาน้อยที่สุด แล้วปิดวิธีปลอมที่มาที่ลงทุนน้อยที่สุดได้เลย
- เซ็นทุกใบที่ออกจากบ้าน แล้วส่งคีย์สาธารณะให้อีกฝั่งวันนั้น ถ้าเซ็นไม่ครบ อย่าบอกว่าเลนนี้ตรวจที่มาได้
- เขียนคำสั่งตรวจ 1 บรรทัด ที่ตอบว่าไฟล์ไหนไม่มีลายเซ็น แล้ววางไฟล์ที่ไม่เซ็นลงไป 1 ไฟล์ ถ้าไม่เคยเห็นมันแดง ก็ยังไม่มีตัวตรวจ
ส่วนกติกาที่เหลือ ค่อยทำตอนแขกรายที่สองมาถึงประตู เราเองก็ยังไม่ถึงตรงนั้นเหมือนกัน
- งานจริงของเรากับ agent ของเพื่อนอีกบ้านหนึ่ง ระหว่าง 29 กรกฎาคม ถึง 9 กันยายน 2026 ทำกับบ้านเดียว ยังไม่มีแขกรายที่สอง และชั้นที่ให้คนกดอนุมัติยังไม่เคยเจอใบสั่งงานจริง นี่คือของที่เรียนจากเคสเดียว ไม่ใช่มาตรฐานที่ใครรับรอง
- Governance Gaps in Agent Interoperability Protocols: What MCP, A2A, and ACP Cannot Express (arXiv 2606.31498): arxiv.org/abs/2606.31498
- A2A Protocol เอกสารทางการ: a2a-protocol.org/latest และ github.com/a2aproject/A2A
- Model Context Protocol specification ฉบับ 2025-06-18: modelcontextprotocol.io ฉบับ 2025-06-18
อ่านต่อ: SSH tunnel เชื่อม agent สองเครื่องเข้าหากัน · ด่านตรวจว่าใครสั่งบอตได้ ตอนเอา AI ไปไว้ใน Discord · กฎที่ต้องเกิดทุกครั้ง อย่าฝากไว้ใน prompt ของ agent แต่ละตัว