• แนวทางที่เป็นระบบตั้งแต่การเลือกฟีเจอร์ที่เหมาะสม ไปจนถึงการลงมือทำและปรับปรุง โดยอ้างอิงจาก ประสบการณ์จริงของ PostHog ที่พัฒนาฟีเจอร์ AI อย่าง Max AI ตลอด 12 เดือน
  • ฟีเจอร์ AI อาจทำให้ผลิตภัณฑ์แย่ลงได้ หากเข้าไป แก้ปัญหาที่ช้า ไม่น่าเชื่อถือ หรือไม่มีความหมาย และควรอาศัยแพตเทิร์นที่ผ่านการพิสูจน์แล้ว เช่น การค้นหา/สรุปข้อมูล, ตัวสร้างเนื้อหา, และการใช้เครื่องมือ
  • ในขั้นตอนการพัฒนา บริบทและการจัดการสถานะของแอปคือหัวใจสำคัญ โดยใช้การวางแผนคิวรีและ conditional routing เพื่อนำ AI ไปในทิศทางที่ถูกต้อง พร้อมเตรียมรับความล้มเหลวด้วยการมอนิเตอร์และ guardrail
  • เพื่อ ปรับความเร็วให้เหมาะสม ควรติดตาม model benchmark อย่างต่อเนื่อง ใช้ทั้งโมเดลเร็วและโมเดลช้าผสมกันตามลักษณะงาน และใช้การประมวลผลแบบ asynchronous
  • เพื่อ ประเมินและพัฒนาอย่างต่อเนื่อง ควรใส่ eval ตั้งแต่ช่วงต้น ทำ A/B test และป้องกันไม่ให้ความรู้ด้าน AI กลายเป็นไซโล โดยกระจายความเชี่ยวชาญ AI ไปทั่วทั้งทีม

การเลือกว่าจะสร้างอะไร

  • ต้องตระหนักว่า AI อาจทำให้ผลิตภัณฑ์แย่ลงได้ และไม่ควรสร้างฟีเจอร์ผิดๆ ที่ไปแก้ปัญหาซึ่งช้าเกินไป ไม่น่าเชื่อถือเกินไป หรือไม่มีใครสนใจ

1. เรียนรู้แพตเทิร์นที่ AI ทำได้ดี

  • คัดลอกแพตเทิร์น AI ที่ผ่านการพิสูจน์แล้ว โดยผสาน UX ที่ผู้ใช้คุ้นเคยเข้ากับสิ่งที่ AI ทำได้ดีจริง
    • แพตเทิร์นแรก: "คุยกับเอกสาร/ข้อมูล/PDF" - AI เก่งเรื่องค้นหาและสรุป และสามารถนำไปใช้สร้างรายงานกับคำแนะนำได้ (เช่น Fin ของ Intercom, แชตเอกสารของ Mintlify)
    • แพตเทิร์นที่สอง: ตัวสร้าง หลายประเภท - สร้างหัวข้อ, โค้ด, เอกสาร, SQL, รูปภาพ, ฟิลเตอร์ ฯลฯ (เช่น Lovable, Bolt.new, Figma, Rippling, Notion)
    • แพตเทิร์นที่สาม: การใช้เครื่องมือ - AI ใช้เครื่องมือที่กำหนดไว้อย่างชัดเจนเพื่อทำ workflow ให้เป็นอัตโนมัติและดีขึ้น (เช่น MCP server, Zapier, Atlassian, Asana)
  • Max AI ของ PostHog ใช้หลายแพตเทิร์นร่วมกัน
    • คุยกับข้อมูลและเอกสาร
    • สร้าง SQL insight และฟิลเตอร์
    • ใช้เครื่องมืออย่างการสร้างแบบสำรวจและ insight ด้านการวิเคราะห์
    • ในอนาคตมีแผนขยายการใช้เครื่องมือ เช่น ดูและวิเคราะห์ session recording โดยอัตโนมัติ

2. ระบุปัญหาที่ AI สามารถแก้ได้

  • โฟกัสที่ คุณค่าที่ AI สามารถมอบให้ได้ แล้วทบทวนงานต่างๆ ทั่วทั้งผลิตภัณฑ์
    • งานเดี่ยวที่ชัดเจน ซึ่งใช้เวลามากกว่า 30 วินาที - เช่น กรอกฟอร์มยาวๆ, ป้อนข้อมูลด้วยมือ, ตั้งค่า integration, ติดตั้ง SDK
    • กรณีที่ผู้ใช้ต้อง ใช้ภาษาหรืออินเทอร์เฟซที่ตนไม่เข้าใจ - เช่น UI ที่ซับซ้อน, SQL query, การสร้างแอป
    • งานที่ทำซ้ำเกิน 20 ครั้ง - เช่น เขียนคำอธิบาย, เขียนสรุป, สร้างรายการ
  • คำแนะนำจาก Stephen Whitworth แห่ง incident.io: ให้โฟกัสที่ "สิ่งที่ AI ทำให้งานที่ผู้ใช้ทำวันละ 100 ครั้งดีขึ้นได้" มากกว่า "สิ่งใหม่เจ๋งๆ ที่ AI ทำได้"
    • ตัวอย่าง: ผู้ใช้ชอบสรุป incident ที่สร้างอัตโนมัติมากกว่าการเขียนเอง และตอนนี้ 75% ของสรุป incident ถูกสร้างด้วย AI
  • ตัวอย่างการใช้งานใน PostHog
    • AI installation wizard: ลดเวลาติดตั้ง PostHog จากราว 10 นาทีเหลือ 90 วินาที
    • การแปล SQL ของ Max AI: ทำให้เขียน SQL query ที่ซับซ้อนด้วยภาษาธรรมชาติได้ง่ายขึ้น จนแม้ผู้ใช้ที่ไม่คุ้นกับ SQL ก็สร้าง insight แบบกำหนดเองได้

3. ตรวจสอบว่าปัญหานั้นเฉพาะเจาะจงและมีคุณค่าหรือไม่

  • ต้องจำกัดขอบเขตให้เป็น ปัญหาที่เฉพาะเจาะจงและมีคุณค่า
  • หลุมพรางที่ควรหลีกเลี่ยง
    • เอาแพตเทิร์นเดิมไปใช้กับปัญหาที่ไม่มีคุณค่า: ฟีเจอร์ "คุยกับเอกสาร" อาจไม่จำเป็นในผลิตภัณฑ์เรียบง่ายช่วงเริ่มต้น และอาจกลบปัญหาด้าน usability ที่เป็นแก่นจริงๆ
    • พยายามให้ AI แก้ปัญหาใหญ่เกินไป: AI ไม่ได้ทำให้คุณสร้างรายได้ 1 พันล้านดอลลาร์ได้ในทันที ควรเริ่มจากการแก้ปัญหาแคบๆ ก่อนแล้วค่อยขยาย
  • ตอนสร้าง Max ทีมตระหนักได้อย่างรวดเร็วว่าคำถามกว้างเกินไปอย่าง "จะเพิ่มรายได้ได้อย่างไร?" นั้นไม่ได้ผล
    • จึงหันมาโฟกัสที่ ฟีเจอร์ที่เฉพาะเจาะจงซึ่งผสานอยู่ใน PostHog และใช้บริบทของผู้ใช้ใน PostHog ได้
    • ตัวอย่าง: Max เขียน SQL ได้ดีกว่าเพราะรู้ว่ามีตารางอะไรใช้ได้บ้าง และตอบคำถามเกี่ยวกับผลิตภัณฑ์ด้วย visualization แบบ native ได้ เพราะเข้าใจเครื่องมือที่มีอยู่ในระบบ

การนำไอเดียไปสร้างจริง

  • ให้โฟกัสที่องค์ประกอบสำคัญเพื่อยืนยันว่าสิ่งที่กำลังสร้างนั้นใช้งานได้จริง

4. บริบทและสถานะของแอปคือหัวใจสำคัญ

  • ทุกคนเรียกใช้ OpenAI API ได้ แต่ บริบทของแอปคือสิ่งที่มีเอกลักษณ์
  • ข้อมูลที่ใส่เข้าไปได้ เช่น
    • สิ่งที่ผู้ใช้พยายามทำ
    • ใครเป็นคนทำ
    • สถานะของบัญชี
    • ตำแหน่งภายในแอป
    • data schema ของแอป
  • เมื่ิอ Max ถูกถามว่า "ทำไมยอดสมัครถึงลดลงเมื่อสัปดาห์ก่อน" ข้อมูลที่ API ได้รับมี เช่น
    • หน้าปัจจุบัน (dashboard, insight ที่แสดงอยู่, ฟิลเตอร์ที่ถูกใช้, บทบาทผู้ใช้)
    • data schema (event ที่ใช้ได้, event property, people property)
    • บัญชี (tier ขององค์กร, เขตเวลา, ระยะเวลาการเก็บข้อมูล)
  • ตัวอย่างโค้ดสำหรับจัดรูปแบบ UI context
    • ข้อมูล dashboard (ชื่อ, insight ที่แสดง, ฟิลเตอร์ที่ใช้, ช่วงวันที่)
    • ข้อมูล insight (ชื่อ, ประเภทคิวรี, event ที่วิเคราะห์, การจัดกลุ่ม)
  • การจัดการ "บริบท" (สถานะ) ภายใน workflow ก็จำเป็นเช่นกัน
    • ต้องไม่ให้บริบทสูญหายระหว่างบทสนทนา โดยเฉพาะเมื่อมีหลาย sub-agent
    • เก็บและส่งต่อบริบทในทุกส่วนของ workflow
  • การปรับบริบทให้เหมาะสมและการเลือกโมเดล มีประสิทธิภาพและมีประโยชน์กว่าการ fine-tune โมเดล

5. ใช้การวางแผนคิวรีและ conditional routing เพื่อนำ AI ไปสู่ความสำเร็จ

  • หากปล่อย AI ไว้โดยไม่มีข้อจำกัด มันจะ แสดงพฤติกรรมที่คาดไม่ถึงสารพัดแบบ จึงต้องมีแนวทางนำไปสู่ความสำเร็จ
  • การพัฒนาควรทำโดย orchestrate และเชื่อมหลายขั้นตอนเข้าด้วยกัน: query planning → data retrieval → visualization
  • นอกจากการจัดการสถานะแล้ว ยังต้องมี
    • ให้ AI รับรู้เครื่องมือและข้อมูล ที่มันใช้ได้
    • ให้มัน เลือกเครื่องมือและข้อมูลที่ถูกต้อง ตามงานที่ตั้งใจจะทำ
    • ตรวจสอบให้แน่ใจว่าเครื่องมืออย่างการรันคิวรีและการจัดรูปแบบ ทำงานได้จริง
  • ตัวอย่าง router ระดับบนสุดของ PostHog
    • ตัดสินใจว่าจะสร้าง insight หรือไม่
    • ตัดสินใจว่าจะค้นหาเอกสารหรือไม่
    • ตัดสินใจว่าเกี่ยวข้องกับการเรียกเก็บเงินหรือไม่
  • แต่ละ router node มีเงื่อนไขของตัวเองที่เชื่อมไปยังข้อมูลและเครื่องมือที่เหมาะกับงานนั้น
    • ช่วยให้ AI มีองค์ประกอบที่จำเป็นต่อการทำงานให้เสร็จ จึงเพิ่มโอกาสสำเร็จ

6. เตรียมรับความล้มเหลวด้วยการมอนิเตอร์, guardrail และการจัดการข้อผิดพลาด

  • แม้โครงสร้างที่สร้างขึ้นจะช่วยลดความล้มเหลวได้ แต่สุดท้าย AI ก็จะชนกับ guardrail อยู่ดี จึง ต้องมี guardrail ให้พร้อม

การมอนิเตอร์

  • ใส่การมอนิเตอร์ตั้งแต่แรก เพื่อให้รู้ว่าเมื่อไรเริ่มเกิดปัญหา
  • คำแนะนำจาก Georgiy ในทีม Max AI
    • การมอนิเตอร์ production trace เป็นสิ่งจำเป็น
    • ทีมได้สร้างเครื่องมือมอนิเตอร์สำหรับ dogfooding และหวังว่าอยากมีมันตั้งแต่แรก
    • เมื่อขยายสเกล การมอนิเตอร์ trace จะยากขึ้น จึงคิดว่า online eval จะช่วยได้มาก (เป็นลำดับถัดไป)
    • การตรวจบทสนทนา 100 รายการก็ยากแล้ว และการตรวจ 1,000 รายการต่อวันแทบเป็นไปไม่ได้
    • บทสนทนาเหล่านี้คือคำถามและปัญหาจริงจากผู้ใช้ และมอบ insight ทั้งหมดที่จำเป็นต่อการสร้าง agent

การป้องกัน hallucination

  • ทุกสิ่งที่ AI สามารถ hallucinate ได้ มันจะ hallucinate ดังนั้นต้องระบุข้อมูลที่ต้องตั้งค่าเองและกฎที่ต้องปฏิบัติตามให้ชัดเจน
  • ตัวอย่างกฎของ AI installation wizard
    • ห้าม hallucinate API key เด็ดขาด แต่ให้ใช้ API key ที่ถูกเติมไว้ในไฟล์ .env เสมอ
    • ห้ามเพิ่มคอมเมนต์ placeholder เช่น "// ในแอปจริง..."
    • ห้ามแก้ไข business logic ที่มีอยู่หรือเพิ่มโค้ดจำลองการทำงาน
    • ห้าม import package หรือ library ใหม่ที่ยังไม่ได้ใช้งานอยู่
    • ห้ามสมมติว่าใช้งาน auth library (เช่น Clerk, Auth.js) ได้

Guardrail สำหรับผู้ใช้

  • เมื่อเจอกล่องข้อความว่างๆ ผู้คนมักรู้สึกกลัวและลืมทุกอย่างไปหมด
  • วิธีแก้คือเพิ่ม คำแนะนำในการใช้ฟีเจอร์ AI เพื่อชี้นำไปในทิศทางที่ถูกต้อง และเตือนว่ามันช่วยอะไรได้บ้าง

การจัดการข้อผิดพลาด

  • เนื่องจาก workflow อาจสะดุดเป็นครั้งคราว จึงควรจัดการอย่างนุ่มนวลด้วย การ retry และ rate limit
  • สำหรับผู้ใช้ระดับสูง สามารถตั้งค่า การวิเคราะห์ LLM, การติดตามข้อผิดพลาด, และ feature flag ได้
    • PostHog มีทั้งสามอย่างพอดี (บังเอิญสะดวก)

การปรับปรุงฟีเจอร์

  • เนื่องจากโมเดล AI พัฒนาอย่างรวดเร็วและคาดเดาได้ยาก ฟีเจอร์ AI จึงต้องการ การบำรุงรักษาและการปรับปรุงอย่างต่อเนื่องมากกว่าที่คิด

7. ป้องกันไม่ให้ความรู้ด้าน AI กลายเป็นไซโล

  • การสร้างฟีเจอร์ AI ไม่ควรกลายเป็นความรับผิดชอบของ "คน AI" เพียงคนเดียวในทีม
  • AI ต้องถูกผสานลึกเข้าไปในผลิตภัณฑ์ ซึ่งหมายความว่าต้องอาศัยความเชี่ยวชาญจากคนที่คุยกับผู้ใช้และลงมือสร้างสิ่งต่างๆ ให้พวกเขา
  • แนวทางที่แนะนำ
    • สร้าง primitive และทำให้ฟีเจอร์ AI นำมาประกอบกันได้: เพื่อให้ทีมไม่ต้องประดิษฐ์ prompt, streaming, consent, eval, analytics ขึ้นมาใหม่ทุกครั้ง และไปโฟกัสกับฟีเจอร์ AI ที่มีเอกลักษณ์และเพิ่มมูลค่าได้
    • รักษาแพตเทิร์น UX ให้สม่ำเสมอทั้งแอป: ในกรณีของ PostHog คือ Max เพื่อป้องกันความสับสนจาก AI widget นับพันแบบ
    • ส่งผู้เชี่ยวชาญ AI ไปช่วยทีมชั่วคราว: เพื่อช่วยให้ทีมสร้างฟีเจอร์ AI ได้เร็วขึ้น และกระจายความรู้ด้าน AI ไปทั่วทั้งองค์กร (ทีม Max AI ทำเช่นนี้)

8. โฟกัสที่ความเร็ว

  • หนึ่งในความท้าทายใหญ่ของฟีเจอร์ AI โดยเฉพาะฟีเจอร์ที่ซับซ้อนคือ ความช้า
  • workflow มักหมายถึง การเรียกใช้ผู้ให้บริการ LLM หลายครั้ง ซึ่งนำไปสู่ latency จำนวนมาก
  • เรื่องนี้อาจ น่าหงุดหงิดเป็นพิเศษเมื่อมีวิธีอื่นในการทำงานเดียวกันให้เสร็จในแอปหรือเว็บไซต์อยู่แล้ว
  • คำแนะนำจาก Rahul Vohra ผู้ก่อตั้ง Superhuman: "ความเร็วคือผู้ชนะ"
    • ตัวอย่าง: Instant Reply หรือ Auto Summarize
    • Gmail และ Outlook ก็มีฟีเจอร์คล้ายกัน แต่ต้องสร้างคำตอบและสรุปเมื่อมีการร้องขอ และผู้ใช้ต้องรอจนกว่าจะเสร็จ
    • ใน Superhuman มีการ precompute สิ่งเหล่านี้ไว้ล่วงหน้าเพื่อให้พร้อมใช้งานทันทีเสมอ และความต่างเล็กๆ นี้ส่งผลมหาศาลต่อประสบการณ์ผู้ใช้

วิธีปรับปรุง

  • ติดตาม model benchmark และการออกรุ่นใหม่ของโมเดล: เมื่อมีโมเดลที่ดีกว่าและเร็วกว่าออกมา ก็ทดสอบและนำมาใช้เพื่อให้ได้การพัฒนาที่ดีที่สุดทั้งด้านฟังก์ชันและความเร็ว (ใช้การวิเคราะห์ LLM)
  • ผสมใช้โมเดลเร็วและโมเดลช้าตามลักษณะงาน
    • ใช้ โมเดลเร็ว (gpt-4.1-mini, gpt-4.1-nano) กับการสร้างหัวข้อ, ฟิลเตอร์สำหรับ session replay, สรุปแบบสำรวจ, และการค้นหา insight
    • ใช้ โมเดลช้า (gpt-4.1) กับการสร้าง schema, การจัดการบทสนทนา, และการจัดการบริบท
  • ใช้การประมวลผลแบบ asynchronous: งาน AI ที่ซับซ้อนอย่างการสรุป session และการดึงรูปแบบ จะรันแบบ asynchronous ผ่าน Temporal workflow โดยไม่บล็อกการโต้ตอบของผู้ใช้ จากนั้นแคชไว้ใน Redis เพื่อรองรับการลองใหม่โดยไม่ต้องคำนวณซ้ำ

9. มอนิเตอร์และประเมินประสิทธิผลอย่างต่อเนื่อง

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

วิธีประเมินประสิทธิผล

  • เพิ่ม eval ตั้งแต่เนิ่นๆ: แม้จะเป็น golden dataset หรือ synthetic dataset ขนาดเล็ก ก็ช่วยเพิ่มประสิทธิภาพได้อย่างมากเมื่อเทียบกับวงจรพัฒนาปกติ และเมื่อลงมือในระดับสเกลจริงก็พบว่าทำได้ง่ายกว่าที่คิด อีกทั้งยังช่วยให้การสร้างฟีเจอร์ในอนาคตเร็วขึ้น
  • ทำ A/B test: เปรียบเทียบฟีเจอร์ AI กับประสบการณ์ปกติ รวมถึงทดสอบ prompt, บริบท, workflow ที่หลากหลาย
  • ตรวจดูอัตราการใช้งาน AI ของลูกค้าหลายประเภท (เช่น ผู้ใช้ฟรี vs ลูกค้า enterprise, ฝั่ง product vs sales)
    • การค้นพบว่า product manager และ marketer ใช้ Max บ่อยกว่าวิศวกรผลิตภัณฑ์ ซึ่งเป็นกลุ่มลูกค้าในอุดมคติ ทำให้ต้องกลับมาทบทวน roadmap
  • ให้ผู้ใช้ประเมินคำตอบ AI ว่าดี/ไม่ดีได้: หากผู้ใช้ให้คะแนนไม่ดี ให้ขอรายละเอียดเพิ่มเติมเพื่อนำไปปรับบริบท, prompt, และ workflow
  • เปรียบเทียบการใช้งาน AI กับไม่ใช้ AI: ใช้ตัวชี้วัดด้าน activation และ retention ที่มีอยู่เพื่อทำความเข้าใจว่า AI เหมาะจะอยู่ตรงไหนในผลิตภัณฑ์และวงจรชีวิตผู้ใช้ รวมถึงส่งผลเชิงบวกจริงหรือไม่

สรุป

  • บทเรียนทั้ง 9 ข้อนี้ไม่ได้แยกขาดจากกัน แต่ ทำงานร่วมกัน
  • การคิดว่าข้ามทุกอย่างไปแล้วไปโฟกัสที่การปรับ eval ตอนท้าย = การสร้างผลิตภัณฑ์ที่ยอดเยี่ยม นั้นเป็นความเข้าใจที่ผิด
  • เป้าหมายคือ สร้างสิ่งที่มีคุณค่าให้ผู้ใช้ ไม่ใช่เดโมเทคโนโลยีที่ดูหวือหวา
  • การเป็น AI ไม่ได้หมายความว่าผู้ใช้จะเห็นคุณค่าโดยอัตโนมัติ
  • บทเรียนทั้งหมดที่เราเคยเรียนรู้เกี่ยวกับการสร้างผลิตภัณฑ์ที่ยอดเยี่ยมยังคงใช้ได้เหมือนเดิม
    • คุยกับผู้ใช้
    • ออกของให้เร็ว
    • ทำการทดลอง
    • ทำซ้ำ

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

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