1 ความคิดเห็น

 
GN⁺ 2024-03-02
ความคิดเห็นจาก Hacker News
  • มีเครื่องมือมากมายที่คัดเลือก “สิ่งที่ควรค่าแก่ความสนใจของฉัน” ให้ แต่ไม่เคยมีอันไหนที่เข้ากับตัวเองหรือทีมได้จริง อยากรู้ว่า Struct ต่างออกไปอย่างไร
    คำถามที่จดไว้ระหว่างดูวิดีโอบนหน้าแลนดิ้งของ Struct: ช่องดูเหมือนเป็นจุดเริ่มต้นของเธรด/ฟีด เลยสงสัยว่าเป็นเพียงแนวคิดในการจัดกลุ่มผู้ใช้หรือไม่ และในช่องสามารถแชตได้ด้วยหรือเปล่า ถ้าโครงสร้างคือผู้ใช้จะเห็นเฉพาะเธรดที่ปรากฏในฟีดแบบเรียลไทม์ ก็สงสัยว่าจัดการปัญหาเธรดที่มีกิจกรรมเยอะแต่สัญญาณต่ำซึ่งกินพื้นที่และดันเธรดที่สำคัญแต่มีกิจกรรมน้อยออกไปอย่างไร แท็กสำคัญต่อการกรอง แต่ก็รกได้ง่ายเหมือนแท็กใน JIRA ที่กลายเป็นชุดข้อความคล้ายกันแต่ไม่เหมือนกัน เลยสงสัยว่ามีวิธีจัดการเรื่องนี้ไหม เธรดที่ผู้ใช้ต่างคนสร้างขึ้นอย่างอิสระในหัวข้อเดียวกันจะจัดการอย่างไร และบทสนทนาส่วนตัวแบบ 1:1 ในวิดีโอก็โผล่มาสั้น ๆ จึงอยากรู้เพิ่มเติม ตัวเครื่องมือเองดูมีศักยภาพอย่างชัดเจน

    • ใน Struct ช่อง เป็นเพียงกลุ่มคน และเป็นวิธีกำหนดสิทธิ์เข้าถึงเธรดโดยกล่าวถึงช่องเหมือนกล่าวถึงผู้ใช้
      ไม่ใช่โครงสร้างที่เข้าไปในช่องแล้วแชตกัน ในฟีด ความสูงของแต่ละเธรดถูกกำหนดตายตัว เธรดที่มีกิจกรรมมากจึงไม่กินพื้นที่อย่างไม่จำกัด และยังมีแผนจะเพิ่มฟีเจอร์เก็บเธรดไว้ช่วงเวลาหนึ่งหรือปิดเสียงเธรดด้วย แท็กมีการจำกัดจำนวนต่อเธรด ใช้สำหรับเพิ่มบริบทและสร้างฟีดแบบปรับแต่งเอง อีกทั้งยังใช้ติดตามลำดับความสำคัญของงาน จนใช้งานเหมือนระบบจัดการงานแบบเบา ๆ ได้ แท็กที่คล้ายกันสามารถรวมกันได้ และยังควบคุมได้ เช่น อนุญาตให้เฉพาะผู้ดูแลสร้างแท็กใหม่ เธรดที่คล้ายกันสามารถรวมกันได้ และกำลังเตรียมฟีเจอร์เลือกบางแชตในเธรดไปฟอร์กเป็นเธรดใหม่ โดยจะคงลิงก์ระหว่างเธรดไว้ ส่วนบทสนทนาส่วนตัวทำได้ด้วยการกล่าวถึงผู้ใช้ที่ต้องการ หากกล่าวถึง @struct จะเป็น DM กับบอต และหากกล่าวถึงตัวเองจะสร้าง “DM ถึงตัวเอง” สำหรับ TODO หรือบันทึก ตลาดแพลตฟอร์มแชตมีมากมายจน Struct อาจรู้สึกเหมือน “แอปแชตอีกตัวหนึ่ง” แต่สิ่งที่คิดว่าแพลตฟอร์มอื่นควรทำเป็นเรื่องปกติ รอมาหลายปีก็ยังไม่ทำ จึงลงมือสร้างเอง
    • ปัญหาคือทุกคนอยากให้สายโทรศัพท์ของตัวเองไม่ถูกกรอง แต่ก็อยากกรองสายของคนอื่น
      ถ้ามีใครต้องการความสนใจจากฉัน เขาก็จะหาวิธี แย่งความสนใจ ต่อไป เช่น สร้างเธรดใหม่
  • เป็นหนึ่งในคู่แข่ง Slack รายแรกที่ดึงความสนใจได้ และดูเหมือนจับทิศทางได้ถูก หลังดูวิดีโอแล้วความรู้สึกโดยรวมเป็นบวก แต่ดูเหมือนเป็น เครื่องมือที่มีความเป็นส่วนตัวน้อยลง อยู่บ้าง
    ห้องใน Slack ให้ความรู้สึกเหมือน “ห้อง” ดิจิทัล แต่ Struct ให้ความรู้สึกเหมือนกระดานประกาศในออฟฟิศ ความประทับใจแรกคือ ถ้าเข้าไปเป็นพนักงานใหม่ในบริษัทที่ย้ายมาใช้ Struct เต็มตัวแล้ว น่าจะสร้างความเชื่อมโยงส่วนตัวกับเพื่อนร่วมงานได้ยากขึ้น ไม่แน่ใจเหตุผลแน่ชัด แต่รู้สึกแบบนั้นตอนดูเดโม เมื่อนึกถึงความวุ่นวายด้านการสื่อสารที่เคยเจอตอนทำงานเป็นผู้นำวิศวกรรมในซิลิคอนแวลลีย์ ก็คิดว่าถ้าบริษัทสุดท้ายมีเครื่องมือแบบนี้คงดี

    • ในฐานะผู้ก่อตั้ง กำลังคิดเรื่องนี้กับ Jason อยู่มาก จุดสมดุลระหว่างจะเรียงชื่อทุกคนไว้ในแผงซ้ายจนรก หรือจะทำให้รู้สึกเหมือนอยู่ในห้องเดียวกันนั้นยาก
      แพลตฟอร์มที่อิงฟีดโดยทั่วไปมักกลายเป็นแบบอะซิงโครนัสมาก ๆ และแทบจะเหมือนฟอรัม ดังนั้นการออกแบบฟีดแบบเรียลไทม์ของ Struct จึงพยายามเน้นความรู้สึกว่า “ตอนนี้มีคนเหล่านี้อยู่ในห้องนี้ และกำลังคุยกันอยู่ทันที” จังหวะที่เธรดใหม่โผล่ขึ้นมา หรือแชตใหม่ปรากฏในฟีดนั้นค่อนข้างสนุกและน่าตื่นเต้น การแสดงรายชื่อคนที่ออนไลน์อาจทำให้รู้สึกอยากเริ่มบทสนทนาได้ หรือแม้แค่แสดงให้เห็นว่าคนอื่น ๆ กำลังเข้าร่วมก็อาจช่วยได้ แน่นอนว่ายังมีพื้นที่ให้ปรับให้บทสนทนาเริ่มต้นได้ดีขึ้น
    • น่าจะสร้างเธรดที่มีประโยชน์และพร้อมใช้อยู่เสมอสำหรับการออนบอร์ดพนักงานใหม่ได้
      ถึงอย่างนั้น การทำให้พนักงานใหม่รู้สึกได้รับการต้อนรับอย่างอบอุ่นก็สำคัญสำหรับทุกองค์กร และยิ่งสำคัญเป็นพิเศษในองค์กรที่มีสัดส่วนการทำงานทางไกลสูง สามารถสร้างพื้นที่อย่าง @random, @club-channels, @annoucements เพื่อแชร์ลิงก์สนุก ๆ หรือข้อมูลประกาศ และใช้เป็นพื้นที่ทำความรู้จักเพื่อนร่วมงานได้ ภายใน @struct เองค่อนข้างเน้นงาน และชอบสิ่งที่กำลังสร้างอยู่ แต่ก็ต้องนำความสนุกเข้ามาด้วย
  • ดีมาก ชอบไอเดียที่ยังคงช่องไว้แต่ใช้ เธรดที่มีจุดโฟกัส และดีไซน์ก็ดี
    แต่สงสัยแผนระยะยาว ก่อนจะใส่ข้อมูลจำนวนมากลงในบริการแบบนี้ อยากรู้ว่าไม่ได้จะโตด้วยเงิน VC แล้วขายทิ้ง

    • Struct ตั้งใจจะดำเนินต่อไป เป็นทีมเล็ก ๆ 3 คนที่ทำ backend, ดีไซเนอร์ และ frontend จึงไม่ใช่ผลิตภัณฑ์ที่ใช้เงินทุนเข้มข้น
      โรดแมปที่คาดหวังไว้มีทั้งการโทรเสียง/วิดีโอและเว็บบินาร์ การควบคุมสแปมสำหรับคอมมูนิตี้ การปรับปรุงและลดต้นทุนบอต AI กับฟีเจอร์ย้อนรำลึก การทำดัชนีเอกสารที่แชร์ใน Struct และคำตอบจาก AI ที่ยังคงการควบคุมสิทธิ์เข้าถึงไว้ เหตุผลที่ Struct น่าสนใจคือมันแทนที่การแชตในทีมและแชตคอมมูนิตี้ ระบบจัดการงาน, ChatGPT, รายการ TODO ส่วนตัว และฐานความรู้สาธารณะที่ทำดัชนีได้ ได้พร้อมกันทั้งหมด สิ่งที่เป็นไปได้เมื่อเชื่อถือได้ว่าระบบจะไม่ลืมนั้นน่าทึ่งมาก
  • ดูมีอนาคต แต่ขอให้ปรับ การแสดงราคา ใหม่หน่อย
    คำนวณเองแล้วซับซ้อน และกังวลว่าถ้าการถกเถียงระเบิดขึ้นมากะทันหัน ค่าใช้จ่ายก็จะระเบิดตาม อยากให้ยกตัวอย่างและแสดงเป็นตาราง ไม่อยากให้ผู้ใช้ต้องคิดเอง อีกอย่างก็สงสัยว่าทำไมชื่อ Struct ต้องจำกัดขั้นต่ำ 6 ตัวอักษร เริ่มที่ 4 ตัวก็น่าจะพอ และมาตรฐานสากลที่ยาวเกิน 3 ตัวอักษรก็ไม่น่าจะเหลือแล้ว ส่วนไอคอนแอป macOS อยากให้ทำเป็นสีเดียวเหมือนแอปอื่น ๆ

    • มีข้อมูลจากองค์กรที่ใช้งานจริง พูดง่าย ๆ คือ Struct ถูกกว่า Slack มาก
      ค่าพื้นฐานรายเดือนคือ 9.97 ดอลลาร์ และคิดเงินเฉพาะ การใช้งาน AI ไม่ได้คิดตามจำนวนผู้ใช้ จำนวนเธรด หรือจำนวนแชต ราคาพื้นฐานรวม 200,000 โทเค็น ซึ่งเพียงพอสำหรับองค์กรขนาดเล็กที่ใช้แค่สร้างชื่อเธรดและสรุปเธรดเป็นหลัก ในผู้ใช้จริง Typesense มีการใช้งานเฉลี่ยประมาณนั้น ส่วน Apache Druid ใช้ราว 400,000 โทเค็นต่อเดือน 1,000 โทเค็นราคา 3 เซนต์ ดังนั้น 200,000 โทเค็นก็เท่ากับเพิ่ม 6 ดอลลาร์จากค่าพื้นฐาน ทั้งสองรายใช้ Struct เป็นฐานความรู้ เมื่อเริ่มบังคับคิดเงิน จะทำให้ตั้งวงเงินใช้จ่ายรายเดือนได้เพื่อไม่ให้มีบิลเกินคาด และหลังจากค่าพื้นฐานแล้วก็สามารถคงค่าใช้จ่ายให้ต่ำได้ตามต้องการ
  • ยินดีกับผลิตภัณฑ์นะ ผมอายุมากพอที่จะจำยุคฟอรัมเก่า ๆ ได้ และพูดตรง ๆ ว่ามันดูเหมือน การค้นพบฟอรัมขึ้นมาใหม่
    หมายถึงโครงสร้างเธรดที่ถ้ามีอัปเดตก็จะเด้งขึ้นมาด้านบน ความต่างใหญ่ ๆ คือ UI ดูเป็นแชต/เฟซบุ๊กมากขึ้น และแม้ฟอรัมจะถูกผู้ดูแลจัดโครงสร้างแบบคงที่ แต่ Struct ยังไม่ค่อยเห็นการจัดโครงสร้างเธรดแบบโฟลเดอร์ที่จำเป็นในองค์กรขนาดใหญ่ซึ่งมีหลายหัวข้อเดินไปพร้อมกันอยู่มากนัก ในทางกลับกัน อีเมลยังสามารถจัดเป็น “บทสนทนา” ได้ในระดับหนึ่ง และจัดโครงสร้างด้วยโฟลเดอร์ส่วนตัวได้ด้วย การมีคำว่า “AI” ติดมาด้วยก็ทำให้รู้สึกล้าในยุคนี้ สรุปแบบไดนามิกของเธรดเองมีความหมาย แต่ถ้าเธรดเรียบง่ายเหมือนแชตก็ไม่จำเป็นต้องสรุป และถ้ายาวเหมือนอีเมล/ฟอรัม ก็ไม่มั่นใจว่าจริง ๆ แล้วจะทำงานได้ดีแค่ไหน เลยยังไม่แน่ใจว่านี่เป็นแอปการตลาดแนวแชตที่แปะ buzzword อย่าง AI เข้ามา หรือว่าผมพลาดอะไรบางอย่างที่ต่างจากเธรดฟอรัมหรือบทสนทนาอีเมลโดยพื้นฐาน

    • Struct ได้รับแรงบันดาลใจจาก Discourse ค่อนข้างมาก และเป็นการผสมผสานฟอรัมกับแอปแชตในรูปแบบที่ไม่เหมือนใคร
      ฟอรัมทุกแบบรวมถึงอีเมลมีเธรดและฟีด แต่ฟอรัมเป็นแบบอะซิงโครนัส และไม่ได้ออกแบบโดยมีแชตเรียลไทม์เป็นศูนย์กลาง ความยากของการนำแนวคิดเธรดและฟีดมาใช้กับแพลตฟอร์มแชตคือ ต้องทำให้มันเป็นเรียลไทม์ และนั่นแหละคือสิ่งที่ Struct พยายามแก้ ผมไม่ค่อยเห็นด้วยกับคำว่า “ถ้าเป็นแชตก็ไม่ต้องสรุป” เท่าไร ผมเคยมีส่วนร่วมกับบทสนทนาที่ยาวไม่รู้จบมามากพอ และแม้แต่ทีมเล็ก ๆ ก็ยังมีเธรดที่มีข้อความนับร้อยได้ การสรุปช่วยได้มากจริง ๆ และอย่างน้อยแค่มีหัวข้อก็ทำให้ฟีดเข้าใจง่ายขึ้นมาก เราสามารถจัดโครงสร้างเธรดด้วยแท็ก และสร้างฟีดโดยยึดแท็กเหล่านั้นเป็นศูนย์กลาง ซึ่งก็คือสิ่งที่เทียบได้กับโฟลเดอร์ นึกถึงตอน Gmail ออกมาใหม่ ๆ ที่ผู้คนต้องทำความเข้าใจว่า label เทียบกับโฟลเดอร์ SMTP อย่างไร ความต่างระหว่างเธรดของ Struct กับเธรดของ Discourse คือ Struct เน้นการสื่อสารโต้ตอบสั้น ๆ แบบเรียลไทม์ ส่วน Discourse เน้นโพสต์ครั้งเดียวที่ยาวและผ่านการไตร่ตรอง อย่างแรกคือแชต อย่างหลังคือฟอรัม เหตุผลที่การออกแบบ Struct ยากก็เพราะต้องบาลานซ์ระหว่างโครงสร้าง ความรู้ และความเป็นเรียลไทม์
    • ฟีเจอร์ สรุปด้วย AI ที่เคยอยู่ใน Discord ช่วงสั้น ๆ นั้นค่อนข้างตลก
      มันพลาดแก่นของการคุยไปโดยสิ้นเชิงเสมอ แล้วสร้างสรุปเหลวไหลออกมาให้ขำกันได้เป็นชั่วโมง
  • ข้อความว่า “สร้างฟีดจากเธรดของ CEO เพื่อให้ทันกับวิสัยทัศน์และเป้าหมายล่าสุดของบริษัท กระโดดเข้าร่วมบทสนทนาด้วยคำตอบที่เหมาะสม แล้วคว้าโปรโมชันที่คุณสมควรได้” ทำให้ยิ้มแห้ง ๆ
    สุดท้ายก็ทำให้ตระหนักอีกครั้งว่าสิ่งสำคัญไม่ใช่ว่าคุณทำอะไร แต่คือ ใครเห็นมัน

    • จากมุมของวิศวกรที่เรียนรู้การบริหารระหว่างสร้างสตาร์ทอัพ งานต้องทำ แต่ก็ต้องทำให้งานนั้นมองเห็นได้ด้วย
      ตอนทำงานที่แรกที่ Google ผมเอาแต่สร้างอย่างเดียว และมีปัญหาในการสื่อสารว่าสิ่งที่ผมสร้างสำคัญอย่างไร ผู้จัดการคนแรกโปรโมตทั้งทีมยกเว้นผม และมันยังเจ็บอยู่ พอเปลี่ยนทีมและผู้จัดการ ก็มีคนบอกว่าผมถูกประเมินต่ำกว่าระดับที่ควรอยู่ถึง 2 ขั้น สรุปคือให้เข้าไปร่วมบทสนทนาแบบนั้น ไม่จำเป็นต้องทำตัวน่ารำคาญ แต่ต้องทำให้คนรู้ว่าคุณ มีตัวตน
    • ผมคิดว่าการตามให้ทันว่าลูกน้องกำลังทำอะไรอยู่ก็เป็นงานของผู้จัดการไม่ใช่หรือ
      การส่งเสริมให้พนักงานใช้เวลามาทำการตลาดตัวเองกับหัวหน้าไม่ได้เป็นประโยชน์กับบริษัทด้วยซ้ำ เห็นภาพแบบนี้บ่อย แต่ส่วนใหญ่ดูเหมือนเป็นสัญญาณว่าผู้จัดการส่วนมากทำงานส่วนนี้ได้ไม่ดี
  • runForThread.executeReq.Get.messages: executeReq.client.Do: Get "[https://api.openai.com/v1/threads/thread_*******/messages?li...](<https://api.openai.com/v1/threads/…;)": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
    หวังว่าสักวันผลิตภัณฑ์ใหม่ ๆ จะออกมาได้โดยไม่ต้องมี การพึ่งพา OpenAI

    • คงต้องจัดข้อความ error ให้เรียบร้อยกว่านี้หน่อย ไม่ได้ตั้งใจจะซ่อน OpenAI แค่ต้องทำให้อ่านดูดีขึ้น
      ผมชอบ OpenAI นะ GPT-4 ทำงานได้ดีจริง ๆ เคยลองโมเดลอื่นที่ถูกกว่าด้วย แต่คุณภาพยังไม่ดีเท่านั้น
    • บางครั้งก็คิดว่าจะบล็อกโดเมน .ai ที่เราเตอร์ไปเลยจนกว่ากระแสนี้จะกลับสู่ภาวะปกติ
      พูดจริง ๆ นะ ผลิตภัณฑ์นี้ดูน่าสนใจมากจนกระทั่งเห็นวลี “…และ AI” ผมคงไม่ใช่ลูกค้าเป้าหมายแหละ
  • การสรุปเป็นหนึ่งในงานที่ AI ทำได้ดีจริง ๆ ดังนั้นผมมองว่าผลิตภัณฑ์นี้ยอดเยี่ยม
    อยากรู้ว่าใช้เทคโนโลยีอะไรบ้าง มี dgraph หรือ badger อยู่ข้างในไหม โฮสต์บน big 3 หรือที่อื่น ใช้ Kubernetes ไหม ใช้ Elastic Search ไหม และก็อยากรู้ว่า Struct เป็นเครื่องมือที่ scrape Slack/Discord แบบออนไลน์ หรือว่าตอนนี้หรือในอนาคตตั้งใจจะเป็นแอปแชตแบบ standalone ด้วยหรือเปล่า

    • สแต็กเทคโนโลยีคือ Go, Postgres, OpenAI, React/Next.JS, Loops.so, Imgproxy, Microsoft E5 embedding, Typesense search, Figma, Framer, เซิร์ฟเวอร์ Hetzner
      ต้นทุนก้อนใหญ่ที่สุดมาจาก OpenAI และ embedding ใช้ Microsoft E5 ไม่ใช่ OpenAI Typesense ใช้สำหรับค้นหา และก็เป็นผู้ใช้ Struct ด้วย การใช้ Badger แทน Postgres ไม่เหมาะ แต่กำลังพิจารณา Badger สำหรับการใช้งานอื่น ภายในใช้ ristretto กับ roaring bitmaps เยอะ Struct มีการเชื่อมต่อกับ Slack ที่ค่อนข้างดี จึงใช้เหมือนเป็นอินเทอร์เฟซ Slack ได้ เพื่อนร่วมงานใช้ Slack ส่วนผมตอบจาก Struct ประมาณเดียวกับ Superhuman สำหรับ Gmail การเชื่อมต่อ Discord ก็ทำได้ดี และทั้งสองอย่างมีบริษัทโอเพนซอร์สใช้อยู่เพื่อสร้างฐานความรู้สาธารณะจากบทสนทนาใน Slack/Discord [1]: https://github.com/struct-chat/embedding
  • บางครั้งก็คิดว่าเราอาจกำลังพยายามปรับประสิทธิภาพการทำงานผิดทางอยู่หรือเปล่า แทนที่จะใช้ เครื่องมือจัดการสัญญาณรบกวนในการสื่อสาร ผลลัพธ์ที่ดีกว่าอาจมาจากการลดการสื่อสารตั้งแต่ต้น แต่ยังทำงานที่จำเป็นให้เสร็จได้ดี
    เช่น ต่อให้มีประชุมเป็นสิบ ๆ ครั้ง ผมก็ไม่ได้อยากปรับให้ติดตามบันทึกการประชุมได้ดีขึ้น แต่อยากให้มีประชุมน้อยลงแต่มีประสิทธิภาพมากขึ้น

    • เห็นด้วยมาก วงการนี้ติดอยู่กับกรอบคิดแบบ “ปุ่มวิเศษ” และ AI จะทำสิ่งเจ๋ง ๆ ก็ต่อเมื่อกดปุ่มนั้นเท่านั้น
      ถ้า AI สามารถสร้างสรุปอัตโนมัติจากบันทึกเสียงการประชุมได้ ก็ไม่มีเหตุผลอะไรที่มันจะจัดการขั้นตอนถัดไปหรือรายการงานที่ต้องทำต่อไม่ได้ หากขั้นตอนถัดไปคือ Janine ต้องนัดประชุมกับ Carlos ก็น่าจะให้ AI ติดต่อ Carlos และช่วยจัดตารางเวลาให้ได้ ตอนนี้เราคิดกันเล็กเกินไป
    • ประเด็นที่ว่าควรลดจำนวนประชุมนั้นสมเหตุสมผล เครื่องมืออย่างแพลตฟอร์มแชตหรือ Loom สุดท้ายก็มีเป้าหมายเพื่อลดจำนวนประชุมที่จำเป็นอยู่แล้ว
      แต่ก็หลีกเลี่ยง กฎของเมตคาล์ฟ ไม่ได้เช่นกัน งานยุคใหม่ส่วนใหญ่เกิดขึ้นในทีม และถ้าขนาดทีมคือ N ก็ต้องจ่ายต้นทุนการสื่อสาร O(N^2) ผมไม่คิดว่าการสื่อสารโดยรวมจะลดลง เราจึงต้องการเครื่องมือที่เหมาะสมเพื่อจัดการมันให้มีประสิทธิภาพยิ่งขึ้น
  • ยอดเยี่ยม Discord แย่มากสำหรับการค้นหาข้อมูลและติดตามเธรด
    รู้สึกเหมือนต้องตอบคำถามเดิมซ้ำแล้วซ้ำเล่า

    • Discord เองก็คงจะเพิ่ม การค้นหาบนพื้นฐานโมเดลภาษาขนาดใหญ่ ในที่สุด เหมือนที่ Slack AI ประกาศไว้ แล้วปัญหานั้นก็น่าจะหายไป
    • ผลิตภัณฑ์นี้ดูเหมือนมุ่งเป้าไปที่ Slack หรือ Teams มากกว่า Discord