OpenAI เปิดตัวโหมดนักพัฒนาใน ChatGPT ที่รองรับ MCP
(platform.openai.com)- โหมดนักพัฒนา เป็นฟีเจอร์เบตาที่ให้ ไคลเอนต์ MCP แบบเต็มรูปแบบ (อ่าน/เขียน) สำหรับทุกเครื่องมือ โดยมุ่งเป้าไปที่นักพัฒนาที่ต้องการทดสอบการตั้งค่าคอนเน็กเตอร์ขั้นสูงอย่างปลอดภัย
- ระหว่างใช้งานต้องระวังความเสี่ยงจาก prompt injection และ MCP ที่เป็นอันตราย รวมถึง ข้อผิดพลาดแบบทำลายล้างจากแอ็กชันเขียน และขั้นตอน ตรวจสอบ·อนุมัติ payload ก่อนเรียกใช้เครื่องมือมีความสำคัญ
- การเปิดใช้งานทำได้ที่ Settings → Connectors → Advanced → Developer mode บนเว็บ และสามารถเพิ่ม เซิร์ฟเวอร์ MCP ระยะไกล เพื่อนำเข้าเครื่องมือและจัดการการเปิด/ปิดได้
- ระหว่างการสนทนา เมื่อเลือก Developer mode แล้ว หาก ระบุคอนเน็กเตอร์และเครื่องมืออย่างชัดเจน จะช่วยให้เลือกเครื่องมือได้แม่นยำขึ้น และเทคนิคพรอมป์ตอย่าง กำหนดสคีมารับเข้า·ลำดับการทำงาน ก็มีประสิทธิภาพ
- แอ็กชันเขียนจะ ต้องได้รับการอนุมัติโดยค่าเริ่มต้น และเครื่องมือที่ไม่มีคำอธิบายประกอบ readOnlyHint จะถูกมองว่าเป็นเครื่องมือเขียน จึงต้องใช้งานอย่างรอบคอบในมุมของ การป้องกันการใช้ผิดวัตถุประสงค์และการปกป้องข้อมูล
ภาพรวม
- นิยาม: Developer mode ของ ChatGPT เป็นโหมดเบต้าที่มอบความสามารถแบบ ไคลเอนต์ที่มีสิทธิ์อ่าน/เขียน สำหรับคอนเน็กเตอร์และเครื่องมือ MCP ที่เชื่อมต่อทั้งหมด
- กลุ่มเป้าหมาย: เปิดให้สำหรับ ผู้ใช้ Pro/Plus ที่สามารถตั้งค่าและทดสอบคอนเน็กเตอร์ได้อย่างปลอดภัย
- ข้อควรระวัง: มีความเสี่ยงด้านความปลอดภัย เช่น prompt injection, ข้อมูลเสียหายจากข้อผิดพลาดการเขียนของโมเดล, และ MCP ที่ออกแบบมาเพื่อขโมยข้อมูล
การเปิดใช้งานและการนำเข้า MCP
- เส้นทางการเปิดใช้งาน: เปิดใช้งานได้ที่ Settings → Connectors → Advanced → Developer mode
- เพิ่มเซิร์ฟเวอร์ MCP: เมื่อลงทะเบียน เซิร์ฟเวอร์ MCP ระยะไกล ในแท็บ Connectors ของ Settings แล้ว เซิร์ฟเวอร์จะปรากฏในตัวเลือกเครื่องมือของ Developer mode ในการสนทนา
- โปรโตคอล: รองรับ SSE, streaming HTTP
- การยืนยันตัวตน: รองรับ OAuth หรือ ไม่ยืนยันตัวตน
- การซิงก์เครื่องมือ: ในหน้ารายละเอียดคอนเน็กเตอร์ สามารถ เปิด/ปิดเครื่องมือด้วยสวิตช์ On/Off และใช้ Refresh เพื่อดึงรายการและคำอธิบายเครื่องมือล่าสุด
แนวทางการใช้เครื่องมือในการสนทนา
- การเรียกใช้อย่างชัดเจน: ระบุชื่อ คอนเน็กเตอร์/เครื่องมือ ให้ชัดเจน เช่น “ใช้ update_record ของคอนเน็กเตอร์ Acme CRM เพื่อ …”
- ห้ามใช้ทางเลือกอื่น: ระบุ เงื่อนไขห้ามใช้ เพื่อป้องกันความสับสน เช่น “ห้ามใช้การท่องเว็บในตัว ใช้เฉพาะ Acme CRM เท่านั้น”
- แยกความต่างของเครื่องมือที่คล้ายกัน: กำหนด กฎลำดับความสำคัญ เช่น “สำหรับการนัดหมาย ให้ใช้ Calendar.create_event ก่อน และห้ามใช้ Reminders.create_task”
- ตรึงสคีมารับเข้า·ลำดับการทำงาน: ระบุ ลำดับการเรียกใช้และรูปแบบ payload อย่างชัดเจน เช่น “ก่อนอื่น Repo.read_file { path } จากนั้น Repo.write_file …”
- ลำดับความสำคัญของคอนเน็กเตอร์ที่ซ้อนกัน: ประกาศ นโยบายแหล่งข้อมูล เช่น “ข้อมูลสิทธิ์ให้ใช้ CompanyDB ก่อน และใช้แหล่งเสริมเฉพาะเมื่อเกิดความล้มเหลว”
- ปรับปรุงคำแนะนำต่อโมเดล: หากฝั่งเซิร์ฟเวอร์ MCP ให้ คำอธิบายเครื่องมือเชิงพฤติกรรมและคำอธิบายประกอบพารามิเตอร์ ที่มีข้อความ ‘Use this when …’ จะช่วยเพิ่ม ความแม่นยำในการเลือกเครื่องมือ
ตัวอย่างพรอมป์ต
- สร้างกำหนดการ: “สร้าง การประชุม 30 นาที พรุ่งนี้เวลา 3pm PT ด้วย Calendar.create_event และห้ามใช้เครื่องมือนัดหมายอื่น”
- สร้าง PR: “ใช้ GitHub.open_pull_request สำหรับ feat-retry → main พร้อมระบุชื่อเรื่องและเนื้อหา และ ห้าม push เข้า main โดยตรง”
ขั้นตอนการตรวจสอบ·อนุมัติ
- ตรวจสอบการเรียกใช้เครื่องมือ: ขยายดู อินพุต·เอาต์พุตแบบ JSON ของแต่ละการเรียก เพื่อ ตรวจสอบ payload และทำ ดีบัก
- แอ็กชันเขียนต้องได้รับการอนุมัติโดยค่าเริ่มต้น: เนื่องจาก การป้อนผิด อาจนำไปสู่ ข้อมูลเสียหาย/รั่วไหล จึงต้อง ยืนยันอีกครั้งก่อนส่ง
- การพิจารณาแบบอ่านอย่างเดียว: จะถือเป็น เครื่องมืออ่าน เฉพาะเครื่องมือที่มีคำอธิบายประกอบ readOnlyHint เท่านั้น และ เครื่องมือที่ไม่มีคำอธิบายประกอบจะถือเป็นเครื่องมือเขียน
- ตัวเลือกจดจำการอนุมัติ: สามารถจดจำ การอนุมัติ/การปฏิเสธ สำหรับเครื่องมือบางตัวระหว่างการสนทนาได้ แต่ควรอนุญาตเฉพาะกับ แอปพลิเคชันที่เชื่อถือได้ เท่านั้น
- ขอบเขตของเซสชัน: เมื่อ เริ่มการสนทนาใหม่ หรือ รีเฟรชหน้า การจดจำการอนุมัติจะถูกรีเซ็ต
โมเดลความเสี่ยงและหลักปฏิบัติด้านความปลอดภัย
- รับมือกับ prompt injection: อย่า เชื่อถือผลลัพธ์/เนื้อหาจาก MCP โดยตรง ต้อง ตรวจสอบความถูกต้อง และป้องกัน การเปิดเผยซีเคร็ต·โทเค็น
- ให้สิทธิ์เท่าที่จำเป็น: เปิดเผยเครื่องมือเขียนด้วย สิทธิ์ขั้นต่ำ และตั้งค่าให้ แอ็กชันความเสี่ยงสูง ต้อง ได้รับการอนุมัติอย่างชัดเจน
- สุขอนามัยของคอนเน็กเตอร์: ระบุ คำอธิบายเครื่องมือ·สคีมา·กรณีข้อผิดพลาด ให้ชัดเจน เพื่อลด การใช้งานผิด และ การเลือกเครื่องมือในตัวผิดพลาด
เคล็ดลับการใช้งาน
- คู่มือการเลือกเครื่องมือ: ใส่คำอธิบายว่า ควรใช้เครื่องมือนี้เมื่อใด รวมถึง กรณีห้ามใช้/กรณีขอบ เพื่อให้ฮิวริสติกการเลือกของโมเดลชัดเจนขึ้น
- การออกแบบลำดับงาน: ตรึงลูป อ่าน → ตรวจสอบ → เขียน ไว้ในพรอมป์ต เพื่อให้เกิด การเปลี่ยนสถานะอย่างปลอดภัย
- ตัวชี้วัดการเฝ้าระวัง: บันทึก อัตราความล้มเหลว, อัตราการย้อนกลับ, ความพยายามข้ามขั้นตอนอนุมัติ เป็นต้น เพื่อติดตาม ความเสี่ยงในการปฏิบัติการ
สรุป
- Developer mode เป็นฟีเจอร์เบต้าที่ทรงพลังซึ่งสามารถ เรียกใช้เครื่องมือ MCP ทั้งหมดแบบอ่าน/เขียน ได้
- เพื่อ ความมั่นคงปลอดภัยและความปลอดภัยในการใช้งาน จำเป็นต้องมี คำสั่งที่ชัดเจน, ขั้นตอนอนุมัติ, สิทธิ์ขั้นต่ำ, และการปรับปรุงคุณภาพคำอธิบายเครื่องมือ
- หากมีวินัยด้านพรอมป์ตและขั้นตอนการตรวจสอบที่เหมาะสม ก็จะสามารถทำ งานอัตโนมัติแบบ end-to-end และ การ orchestration คอนเน็กเตอร์ที่แม่นยำ ได้
1 ความคิดเห็น
ความเห็นจาก Hacker News
ว้าว รู้สึกว่านี่ค่อนข้างอันตรายเลย สงสัยว่าจะมีคนมากแค่ไหนที่เปิดใช้สิ่งนี้โดยไม่เข้าใจความเสี่ยงอย่างถูกต้อง ถึงจะมีคำเตือนเยอะ แต่ทุกคนก็รู้อยู่แล้วว่าคนส่วนใหญ่มักไม่อ่านคำเตือนพวกนั้น คิดว่าคนส่วนใหญ่ที่ไปยุ่งกับของอย่าง MCP เองก็ไม่ได้เข้าใจอย่างแท้จริงว่าการโจมตีแบบ prompt injection ทำงานอย่างไร และทำไมมันถึงอันตราย
ตอนนี้บริษัท AI กำลังพูดกันว่า “Agentic AI ถูกทำให้เป็นอาวุธแล้ว และโมเดล AI ถูกใช้ให้ทำการโจมตีไซเบอร์ขั้นสูงโดยตรง จึงต้องมีการกำกับดูแล” แต่ในเวลาเดียวกัน บริษัทพวกนั้นก็พูดว่า “นี่ไง วิธีมอบสิทธิ์เข้าถึงและสั่งงานข้อมูลส่วนตัวของคุณแบบเต็มรูปแบบให้ AI”
ผมยังไม่ค่อยเข้าใจว่าทำไมสิ่งนี้ถึงอันตราย อยากรู้ว่ามันต่างจากการที่ใครสักคนเชื่อม MCP แบบปกติแล้วใส่แค่พรอมป์ให้ใช้เครื่องมือชุดเดิมอย่างไร มันดูเหมือนเป็นแค่ “วิธีที่เทคนิคมากขึ้นนิดหน่อย” เท่านั้นเอง เลยอยากถามว่าผมกำลังพลาดอะไรไปหรือเปล่า
ผมรอให้ ChatGPT รองรับ MCP มานานแล้ว ตอนนี้ในที่สุดก็ทำได้ เลยตื่นเต้นมาก ขั้นต่อไปคือให้สิทธิ์ sandbox access/permission requests ผ่าน local system control MCP เพื่อให้ใช้ ChatGPT ได้เหมือน web agent
ช่วยอธิบายให้ชัดเจนหน่อยได้ไหมว่านี่คืออะไรกันแน่ เป็นแค่เพิ่มการรองรับ MCP ให้ CLI coding agent หรือว่าเพิ่ม MCP ให้แชตบอตออนไลน์
เท่าที่ผมเข้าใจ นี่คือการทำให้ ChatGPT เชื่อมต่อกับ MCP servers แบบกำหนดเอง/ของผู้ใช้เอง เพื่อเข้าถึงข้อมูลหรือรันคำสั่งได้ ตอนแรกผมนึกว่า developer mode มีไว้สำหรับพัฒนาโค้ด แต่ดูเหมือนจะไม่ใช่
ผมคิดว่าหัวข้อของโพสต์นี้น่าจะควรเป็น "เพิ่มการรองรับ MCP แบบสมบูรณ์ให้ ChatGPT" มากกว่า การเรียกมันว่า "Developer Mode" ดูเหมือนตั้งใจเพื่อกันผู้ใช้ที่ไม่ใช่สายเทคนิคไม่ให้ทำอะไรอันตราย เพราะความจริงคือช่องโหว่ความปลอดภัยของ MCP กับการโจมตีแบบ prompt injection มันเกิดได้ง่ายเกินไป
ผมพบช่องโหว่ MCP หลายแบบใน MCP อย่างเป็นทางการ และกำลังแชร์ไว้ในบล็อก (https://tramlines.io/blog) นอกจากนี้ก็มีระบบป้องกันรันไทม์สำหรับ ‘การโจมตี MCP แบบสามชั้น’ ที่เปิดให้ใช้อยู่ที่ https://tramlines.io มานานแล้ว
ทำให้นึกถึงที่ Jony Ive เคยพูดว่าเขา “ต้องรับผิดชอบต่อผลลัพธ์ที่ไม่พึงประสงค์จากการที่หน้าจอกลายเป็นเรื่องปกติในชีวิตประจำวัน” และในบริบทที่ Sam พูดว่า “กระบวนทัศน์การประมวลผลแบบใหม่จริง ๆ เกิดขึ้นไม่บ่อยนัก ใน 50 ปีที่ผ่านมาอาจแค่สองครั้ง? คุณจะตื่นเต้นและทึ่งกับมันมากพอก็ได้” ผมเลยเดาว่าบริการสั่งงานด้วยเสียงที่บูรณาการเต็มรูปแบบอาจเป็นกระบวนทัศน์นั้น OpenAI น่าจะพยายามผลักดันการรองรับเสียงที่ทรงพลังขึ้นและการเชื่อมกับแอปที่ลึกขึ้นในอนาคต การรวม MCP ครั้งนี้ให้ความรู้สึกเหมือนก้าวแรกแบบระมัดระวังในการลองอนาคตที่ Sam และ Jony วาดภาพไว้
ผมลองเชื่อม MCP ของเรา (https://technicalseomcp.com) แล้วแต่ขึ้น error ดูเหมือนยังไม่มีฟีเจอร์สำหรับดีบักนะ ผมไปเจอตัวอย่างการใช้งานในเอกสารทางการ: https://platform.openai.com/docs/mcp