• ChatGPT Apps ที่ OpenAI เปิดตัว ช่วยให้นักพัฒนาสามารถ ฝังแอปของตนลงในบทสนทนา ChatGPT ได้โดยตรง และใช้ฐานผู้ใช้งานประจำรายสัปดาห์มากกว่า 800 ล้านคน เป็น ช่องทางการแจกจ่าย ใหม่
  • นอกเหนือจากการตอบกลับเป็นข้อความแบบเดิม ChatGPT ยังสามารถ เรนเดอร์คอมโพเนนต์ UI ได้โดยตรง ทำให้สามารถจัดการงานจริงอย่างการจอง ช้อปปิ้ง และการเรียกดูข้อมูลภายในโฟลว์การสนทนาได้
  • หัวใจสำคัญของโครงสร้างนี้คือ Model Context Protocol (MCP) ซึ่งทำงานโดยให้ LLM เลือกเรียกใช้เครื่องมือภายนอกและทรัพยากร UI ได้ตามความจำเป็น
  • แอป ChatGPT มีโครงสร้างที่แยกแบ็กเอนด์ (เซิร์ฟเวอร์ MCP) และฟรอนต์เอนด์ (คอมโพเนนต์ UI) ออกจากกันอย่างชัดเจน และรันมินิแอปที่สร้างด้วย React ภายในแซนด์บ็อกซ์ที่ปลอดภัย
  • แพตเทิร์นของ MCP และ ChatGPT Apps มีแผนจะขยายไปยังเอเจนต์อื่นอย่าง Claude ในอนาคต และกำลังกลายเป็นชั้นอินเทอร์เฟซใหม่ที่เชื่อม AI เชิงสนทนาเข้ากับ SaaS แบบดั้งเดิม

ภาพรวมของ ChatGPT Apps

  • ChatGPT Apps คือฟีเจอร์ที่ช่วยให้นักพัฒนาและทีมผลิตภัณฑ์สามารถแทรกแอปลงในบทสนทนา ChatGPT ได้โดยตรง
  • ผู้ใช้สามารถทำงานอย่างการจองโรงแรม ค้นหาอสังหาริมทรัพย์ และช้อปปิ้งออนไลน์ได้ทันทีภายใน ChatGPT ระหว่างการสนทนา
  • ด้วยแพลตฟอร์มที่มีผู้ใช้งานประจำรายสัปดาห์มากกว่า 800 ล้านคน จึงมีศักยภาพในฐานะ ช่องทางการแจกจ่ายยุคถัดไป

ChatGPT Apps ทำงานอย่างไร

  • LLM ทุกตัว (ChatGPT, Claude, Gemini) สามารถใช้เครื่องมือได้อย่างจำกัด เช่น ค้นหาเว็บ อ่านไฟล์ รันโค้ด หรือสร้างอาร์ติแฟกต์
  • ChatGPT Apps ทำให้นักพัฒนาสามารถเปิดเผยเครื่องมือใหม่ให้ LLM ผ่าน เครื่องมือ MCP และให้ผู้ใช้ติดตั้งและใช้งานได้ง่าย
  • หากพยายามจองที่พักระยะสั้นโดยไม่มีแอป ระบบจะส่งกลับมาแค่รูปภาพและข้อมูลกฎระเบียบ แต่ไม่สามารถจองจริงได้
  • เมื่อมีการติดตั้งแอปแล้ว ก็จะดึงรายการที่พัก Airbnb ตามคำขอมาให้และจองได้ทันที

องค์ประกอบ 3 ส่วนของแอป

  • เซิร์ฟเวอร์ MCP (แบ็กเอนด์)

    • เป็นเซิร์ฟเวอร์ที่ ChatGPT ใช้สื่อสารด้วย เขียนด้วย Python หรือ Node.js
    • ทำงานคล้าย API และกำหนด "เครื่องมือ" (ฟังก์ชัน) ที่ ChatGPT เรียกใช้ได้
      • ตัวอย่าง: search_restaurants, book_ticket
  • คอมโพเนนต์ (ฟรอนต์เอนด์)

    • คือ UI แบบอินเทอร์แอกทีฟ ที่ผู้ใช้มองเห็น
    • โดยทั่วไปสร้างด้วย React และทำงานภายในแซนด์บ็อกซ์ความปลอดภัยของ ChatGPT
    • เป็นแนวคิดของมินิเว็บแอปที่อยู่ภายในบทสนทนา ChatGPT
  • ChatGPT (โฮสต์)

    • แอปจะแสดงอยู่ใน มุมมองแบบฝัง ภายใน ChatGPT
    • ChatGPT จะตัดสินใจว่าจะเรียกใช้แอปเมื่อใด โดยอิงจากบทสนทนาของผู้ใช้และแอปที่เปิดใช้งานอยู่

ลำดับการทำงาน

  • เมื่อผู้ใช้ขอความช่วยเหลือเรื่องที่พักระยะสั้น ChatGPT จะดำเนินการหลายขั้นตอนโดยอัตโนมัติ: 1. ตัดสินใจว่าแอปจะเป็นประโยชน์หรือไม่ 2. ติดต่อแอปเพื่อตรวจสอบเครื่องมือที่ใช้งานได้ (เช่น Book Listing, Browse Listing) 3. เรียกใช้เครื่องมือ Browse Listing เพื่อส่งคืนที่พัก 5 อันดับแรก 4. ตอบกลับผู้ใช้ด้วยที่พัก 5 อันดับแรก
  • เวิร์กโฟลว์นี้เป็นพื้นฐานของ MCP (Model Context Protocol)
  • AI agent (ChatGPT) จะได้รับสิทธิ์เข้าถึงเครื่องมือที่ช่วยให้บรรลุเป้าหมาย และเลือกใช้เครื่องมือเหล่านี้เมื่อผู้ใช้ร้องขอ
  • เครื่องมืออาจเรียบง่ายอย่างเครื่องคิดเลขบวกเลขสองจำนวน หรือซับซ้อนอย่างกระบวนการแบ็กเอนด์สำหรับสร้างภาพ

โหมดการแสดงผล

  • ChatGPT Apps รองรับโหมดการแสดง UI 3 แบบ
  • โหมดอินไลน์

    • เหมาะสำหรับ: รายการ การ์ด การแสดงผลขนาดเล็ก
    • เป็นโหมดเริ่มต้นของทุกแอป และสามารถสลับไปโหมดอื่นได้เมื่อจำเป็น
    • ตัวอย่าง: คารูเซลสินค้า รายการร้านอาหาร
  • โหมดเต็มหน้าจอ

    • เหมาะสำหรับ: แผนที่ ฟอร์มที่ซับซ้อน แดชบอร์ดที่ใช้ข้อมูลหนาแน่น
    • คอมโพเนนต์จะใช้พื้นที่ทั้งหน้าต่าง ChatGPT
    • ใช้เมื่อจำเป็นต้องมีพื้นที่มากขึ้นหรือต้องโฟกัสกับงานที่ซับซ้อน
    • ตัวอย่าง: แผนที่อสังหาริมทรัพย์แบบอินเทอร์แอกทีฟ ตัวแก้ไขสเปรดชีต
  • โหมด PiP (Picture-in-Picture)

    • เหมาะสำหรับ: เครื่องมือที่ต้องคงอยู่ เกม การอัปเดตแบบเรียลไทม์
    • คอมโพเนนต์จะลอยเป็นหน้าต่างเล็กอยู่ด้านบนของหน้าจอ
    • เหมาะกับสิ่งที่ควรแสดงต่อเนื่องในขณะที่ผู้ใช้ยังแชตต่อ
    • ตัวอย่าง: ตัวจับเวลา เครื่องเล่นเพลง เกม XO
    • หากวางแผนจะสลับระหว่างโหมดการแสดงผล ต้อง ให้ความสำคัญกับแพตเทิร์น UX มากขึ้น

ข้อจำกัด

  • หนึ่งคอมโพเนนต์ต่อหนึ่งเทิร์น

    • เมื่อ ChatGPT เรียกใช้เครื่องมือที่ส่งคืนคอมโพเนนต์ เทิร์นนั้นจะสิ้นสุดลง
    • ไม่สามารถเชื่อมต่อเครื่องมือที่ส่งคืน UI หลายตัวแบบอัตโนมัติได้
    • ตัวอย่าง: หากขอว่า "จองร้านอาหารแล้วเรียก Uber ให้ด้วย" ระบบจะแสดงคอมโพเนนต์ร้านอาหารก่อน แล้วหลังจากจองเสร็จจึงค่อยแสดงคอมโพเนนต์ Uber ผ่านทริกเกอร์ตามมา
  • ขอบเขตของสถานะคอมโพเนนต์มีจำกัด

    • อินสแตนซ์ของคอมโพเนนต์แต่ละตัวจะมีสถานะของตัวเองซึ่งคงอยู่เฉพาะภายในข้อความนั้นเท่านั้น
    • เมื่อ ChatGPT สร้างข้อความใหม่พร้อมคอมโพเนนต์ จะเป็นอินสแตนซ์ใหม่ที่เริ่มต้นด้วยสถานะว่างโดยปริยาย
    • จำเป็นต้อง จัดการสถานะผ่านการเก็บถาวรและการดึงกลับจากแบ็กเอนด์
  • ไม่สามารถเข้าถึง DOM โดยตรง

    • คอมโพเนนต์รันอยู่ใน แซนด์บ็อกซ์ความปลอดภัย (iframe) จึงไม่สามารถเข้าถึงหน้า ChatGPT หลักหรือรันสคริปต์ตามอำเภอใจได้
    • การสื่อสารทั้งหมดทำผ่าน API window.openai
  • ประสิทธิภาพสำคัญมาก

    • สถานะของคอมโพเนนต์จะถูกส่งไปยังโมเดล AI ทุกครั้งที่มีคำขอ
    • เพย์โหลดขนาดใหญ่จะทำให้การตอบสนองช้าลง ดังนั้นควร ส่งเฉพาะสิ่งที่จำเป็น

กรณีใช้งานจริง

  • อีคอมเมิร์ซ & ช้อปปิ้ง

    • สร้างแค็ตตาล็อกสินค้าแบบอินเทอร์แอกทีฟที่กรองราคา เพิ่มลงตะกร้า และชำระเงินได้ (โดยปกติจะพาไปยังแอปหลัก)
  • เครื่องมือธุรกิจ

    • สร้าง บอร์ดคัมบัง ที่ผู้ใช้ลากงานข้ามคอลัมน์ กำหนดวันครบกำหนด และอัปเดตสถานะได้
    • มีพลังอย่างยิ่งสำหรับ เครื่องมือภายในองค์กร ที่ให้ ChatGPT ตอบคำถามเกี่ยวกับโปรเจกต์ไปพร้อมกับให้ผู้ใช้ลงมือทำได้ทันที
  • การจอง & การสำรอง

    • สร้างคอมโพเนนต์จองร้านอาหารที่แสดงช่วงเวลาว่าง เมนู และรีวิว
    • ผู้ใช้สามารถขอคำแนะนำจาก ChatGPT และจองได้โดยตรงผ่านอินเทอร์เฟซ
  • แดชบอร์ดข้อมูล

    • แสดงการวิเคราะห์ยอดขายด้วยกราฟแบบอินเทอร์แอกทีฟ
    • เมื่อถามว่า "รายได้ไตรมาส 4 เป็นอย่างไรบ้าง?" ก็สามารถแสดงแดชบอร์ดที่เจาะลึกลงไปตามภูมิภาคหรือสินค้าได้
  • แผนที่ & ตำแหน่งที่ตั้ง

    • แสดงแผนที่แบบอินเทอร์แอกทีฟพร้อมมาร์กเกอร์สำหรับค้นหาร้านกาแฟ อสังหาริมทรัพย์ หรือสถานที่ตามพิกัด
    • มีประสิทธิภาพเป็นพิเศษในโหมดเต็มหน้าจอ

คู่มือสร้างแอปแรก (ตัวอย่างแอปค้นหาร้านอาหาร)

  • Step 1: สร้างคอมโพเนนต์ (ฟรอนต์เอนด์)

    • สร้าง React component ที่โต้ตอบกับ API window.openai.* เพื่อสื่อสารระหว่างคอมโพเนนต์ iframe กับ ChatGPT
    • OpenAI มี global ให้เพื่อช่วยในการโต้ตอบกับ API
  • Step 2: กำหนดเครื่องมือ (แบ็กเอนด์)

    • เซิร์ฟเวอร์ MCP จะกำหนด "สัญญา" กับ ChatGPT
    • บอกโมเดลว่าเครื่องมือทำอะไรได้ และเมื่อเรียกใช้เครื่องมือเสร็จแล้วควรแสดงคอมโพเนนต์ใด
  • Step 3: ลงทะเบียนทรัพยากร (แบ็กเอนด์)

    • bundle React component เป็น HTML แล้วโฮสต์เป็นทรัพยากรบนเซิร์ฟเวอร์ MCP
    • ChatGPT จะนำ URI outputTemplate จากขั้นก่อนหน้าไปใช้เพื่อขอโค้ดที่จะถูก iframe
  • Step 4: ทดสอบโฟลว์

    • หลังดีพลอยเซิร์ฟเวอร์:
      • เปิด ChatGPT และเปิดใช้งาน Developer Mode
      • ไปที่ Settings → Connected Apps (หรือ "My Apps")
      • คลิก "Connect new app"
      • ป้อน URL ของเซิร์ฟเวอร์ (เช่น https://my-mcp-server.com)
      • เชื่อมต่อโดยไม่ใช้ OAuth
    • เมื่อ ChatGPT ตรวจพบเครื่องมือ search_restaurants แล้ว ให้ทดสอบด้วยการพิมพ์ "Find me Italian food in Brooklyn"
    • ChatGPT จะเรียกใช้เครื่องมือ ดึงข้อมูล และ เรนเดอร์รายการ React แบบอินเทอร์แอกทีฟ แทนข้อความ

แนวโน้มในอนาคต

  • แม้ ChatGPT จะเริ่มต้นก่อน แต่ในไม่ช้ามาตรฐาน MCP จะรองรับแพตเทิร์นเดียวกันผ่าน MCP apps
  • Claude และเอเจนต์อื่น ๆ ก็จะสามารถแทรกมินิแอปลงในประสบการณ์แบบสนทนาได้เช่นกัน
  • การเข้าใจสถาปัตยกรรมระบบแบบนี้และวิธีสร้างประสบการณ์ที่มีความหมายให้ผู้ใช้ คือการบุกเบิก รูปแบบการสื่อสารใหม่ ระหว่างผลิตภัณฑ์ AI กับแอปพลิเคชัน SaaS ทั่วไป

ยังไม่มีความคิดเห็น

ยังไม่มีความคิดเห็น