1 คะแนน โดย GN⁺ 3 시간 전 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • กำลังพัฒนา มัลติเพล็กเซอร์สำหรับงาน ที่เชื่อมต่อทุกอย่างตั้งแต่การพัฒนาแบบโลคัล การเข้าถึงระยะไกล coding agent งานเบื้องหลัง ไปจนถึงการปฏิบัติการโปรดักชัน ให้เป็นเซสชันต่อเนื่องเดียว
  • ต้องการแก้ปัญหาที่งานแบบโต้ตอบของมนุษย์และงานอัตโนมัติของ CI·เอเจนต์กระจัดกระจายอยู่คนละเครื่องมือและคนละล็อก พร้อมคงไว้ซึ่ง บริบท·ข้อมูลแบบมีโครงสร้าง·ประวัติการทำงาน ข้ามสภาพแวดล้อม
  • ผลิตภัณฑ์แรกคือ เทอร์มินัลมัลติเพล็กเซอร์ ที่จัดการเทอร์มินัลหลายบล็อกเป็นเซสชันระยะยาว ทำให้ปิดแอปหรือเปลี่ยนอุปกรณ์แล้วกลับมาทำงานต่อจากสถานะเดิมได้
  • รองรับเว็บและแอปเนทีฟบน macOS·iOS รวมถึงการแชร์เซสชันแบบเรียลไทม์ และปรับปรุงข้อไม่สะดวกของเครื่องมือเดิมโดยทำให้ scrollback·selection·scroll ทำงานตาม วิธีมาตรฐานของระบบปฏิบัติการ
  • มีแผนจะทำให้ทุกองค์ประกอบสามารถนำมาประกอบร่วมกันได้ พร้อมรองรับ ความปลอดภัยและความสามารถในการปฏิบัติการระดับโปรดักชัน และประกาศว่าจะปล่อยเบต้าแรกพร้อมโอเพนซอร์สบางส่วนของกระบวนการพัฒนา

เซสชันการทำงานแบบต่อเนื่องที่เชื่อมหลายสภาพแวดล้อม

  • งานซอฟต์แวร์ยุคใหม่กระจายอยู่บนเครื่องโลคัล โฮสต์ระยะไกล sandbox บริการ และระบบโปรดักชัน
    • งานแบบโต้ตอบของนักพัฒนา งานอัตโนมัติของ CI และโปรเซสเบื้องหลัง รวมถึงงานของเอเจนต์ที่รันแบบขนาน ต่างอยู่บนระบบคนละชุด
    • เครื่องมือแบบโต้ตอบตั้งอยู่บนสมมติฐานว่ามีมนุษย์นั่งอยู่หน้าอินเทอร์เฟซ ส่วนงานอัตโนมัติก็จมหายไปในประวัติและล็อก ขณะที่งานโปรดักชันก็อยู่หลังระบบและการควบคุมอีกชุดหนึ่ง
  • AI ทำให้ ต้นทุนของการแตกกระจายของเครื่องมือ ชัดเจนยิ่งขึ้น แต่การดูแลระบบ การผสานรวมต่อเนื่อง การพัฒนาระยะไกล และการทำงานร่วมกัน ก็เผชิญแรงกดดันจากเส้นแบ่งแบบเดียวกันมาหลายสิบปีแล้ว
  • เซสชันแบบต่อเนื่องที่ Superlogical วาดภาพไว้จะทำหน้าที่ดังนี้
    • ข้ามไปมาระหว่างแอปพลิเคชันและสภาพแวดล้อมการรัน
    • ให้บริบทที่เกี่ยวข้องมาเป็นค่าเริ่มต้น
    • เปิดเผยข้อมูลแบบมีโครงสร้างและงานที่นำไปปฏิบัติได้
    • เก็บรักษาประวัติการทำงาน
    • ทำให้ซอฟต์แวร์สามารถขับเคลื่อนได้ ขณะเดียวกันมนุษย์ยังมองเห็นและควบคุมสถานะนั้นได้ตลอด
  • แผนการพัฒนาจะแบ่งเป็น 3 ขั้น ได้แก่ การสร้างมัลติเพล็กเซอร์คุณภาพสูง การทำให้องค์ประกอบภายในนำมาประกอบร่วมกันได้ และการรองรับความปลอดภัยกับความสามารถในการปฏิบัติการระดับโปรดักชัน

ผลิตภัณฑ์แรกที่เริ่มจากเทอร์มินัล

  • ผลิตภัณฑ์แรกคือ เทอร์มินัลมัลติเพล็กเซอร์ ที่รวมหลายสตรีมเทอร์มินัลอิสระไว้ในอินเทอร์เฟซร่วมเดียว
    • จัดระเบียบเทอร์มินัลหลายบล็อกไว้ภายในเซสชันระยะยาว
    • หลังปิดแอปแล้วสามารถเชื่อมต่อใหม่จากอุปกรณ์อื่นเพื่อทำงานต่อจากจุดที่ค้างไว้ได้
    • เข้าถึงเซสชันได้ทั้งจากเว็บและแอปเนทีฟบน macOS·iOS
    • มีฟังก์ชันแชร์เซสชันกับผู้อื่นแบบเรียลไทม์มาให้ตั้งแต่แรก
    • ทำให้ scrollback·selection·scroll เป็นไปตามวิธีมาตรฐานของระบบปฏิบัติการ เพื่อลดความไม่สะดวกที่พบได้ทั่วไปในมัลติเพล็กเซอร์แบบเดิม
  • เทอร์มินัลถูกเลือกเป็นฐานของมัลติเพล็กเซอร์สำหรับงานที่ใหญ่กว่า เพราะมันเชื่อมนักพัฒนา เอเจนต์ เครื่องมือ และโครงสร้างพื้นฐานเข้าด้วยกัน
    • แม้ขอบเขตฟีเจอร์จะขยายในอนาคต ก็ยังมีแผนรักษาคุณภาพของตัวเทอร์มินัลมัลติเพล็กเซอร์เองไว้

ทีมและแผนเปิดตัว

  • ทีมประกอบด้วย Mitchell Hashimoto, Jack Pearkes, Alasdair Monk, Hector Simpson
    • มีประสบการณ์สร้างเครื่องมือสำหรับนักพัฒนา โครงสร้างพื้นฐาน ระบบ AI และอินเทอร์เฟซสำหรับนักพัฒนา เช่น Ghostty, HashiCorp, Vagrant, Terraform, Vault, Poolside, Vercel, Heroku
  • ได้รับเงินทุนจากนักลงทุนอย่าง Notable Capital และ Amplify Partners และกำลังเปิดรับการลงทะเบียนเพื่อรับการแจ้งเตือนเกี่ยวกับ เบต้าแรกและการปล่อยโอเพนซอร์ส

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

 
GN⁺ 3 시간 전
ความคิดเห็นบน Hacker News
  • ชอบเป็นพิเศษตรงที่โอนความเป็นเจ้าของ Ghostty ไปให้ องค์กรไม่แสวงหากำไร แล้วบริษัทใหม่ใช้มันเป็น dependency แบบโอเพนซอร์ส
    Superlogical จะใช้คอมโพเนนต์เดียวกันภายใต้ไลเซนส์ MIT ที่ทุกคนใช้ได้ และจะยังคง upstream งานเทอร์มินัลทั่วไปเข้า libghostty เพื่อให้ผู้ใช้ทุกคนได้ประโยชน์

    • ตัดกันอย่างชัดเจนกับ ความเคลื่อนไหวล่าสุดของ Anthropic/Bun เรื่องการย้ายไป Rust ที่ยังไม่ได้เปิดเผย
  • ตลอดราว 20 ปีที่ผ่านมาอยู่ใน tmux/vim มาตลอด แต่หนึ่งเดือนล่าสุดแทบใช้ แอปเดสก์ท็อป Codex เป็นหลัก และตอนนี้ก็เริ่มควบคุมระยะไกลผ่านแอป ChatGPT บนมือถือมากขึ้นด้วย
    ชอบ Ghostty แต่ก็ยังไม่ชัดเจนว่าโลกที่มีเทอร์มินัลเป็นศูนย์กลางแบบนี้จะอยู่ต่อไปได้อีกนานแค่ไหน

  • ฟังดูเหมือนเป็นการรวมเครื่องมือหลายตัวที่เพิ่งลองใช้
    pi-web(https://pi-web.dev/) เป็นเว็บฟรอนต์เอนด์สำหรับ multiplex เซสชัน Pi จากหลายเครื่อง ส่วน herdr(https://herdr.dev/) เป็น TUI สำหรับ multiplex เอเจนต์ที่ทำมาได้ดี ช่วยสร้างและปิดหน้าต่างได้ง่ายตามกิจกรรมของ sub-agent
    firstmate(https://github.com/kunchenguid/firstmate) เป็น meta environment สำหรับสภาพแวดล้อมรันงานโค้ด ครอบคลุมการสร้างและสื่อสารกับ sub-agent, การจัดการ worktree และฟังก์ชันอื่น ๆ ในวงจรชีวิตการพัฒนาซอฟต์แวร์ โดยอาศัยข้อจำกัดของสคริปต์ Bash เพื่อชักนำให้ได้ผลลัพธ์ที่ดีขึ้นแม้กับโมเดลประสิทธิภาพต่ำ

    • ถ้าสนใจเครื่องมือแบบนี้ ouijit ที่ https://ouijit.com/ และ https://github.com/ouijit/ouijit ก็น่าดูเช่นกัน
      เครื่องมือนี้เป็น terminal agent orchestrator สำหรับ power user ที่อยากได้งานออกแบบมากกว่าประสบการณ์ผู้ใช้แบบที่เรียกว่า ‘hackerman’
    • กำลังพัฒนา ปลั๊กอิน collie ที่รันเว็บแอปบนโฮสต์ herdr แล้วให้บริการผ่าน Tailscale เป็นต้น
      เมื่อรวมกับ session persistence ของ herdr แล้ว การเข้าถึงเอเจนต์ระหว่างเดินทางง่ายขึ้นมาก และประสบการณ์ใช้งานก็ดีด้วย: https://github.com/AltanS/collie
    • ไม่ได้จำกัดเฉพาะเทอร์มินัล แต่ตั้งแต่สัปดาห์ที่แล้วได้ลองใช้ Orca(https://github.com/stablyai/orca) แล้วพอใจมาก
  • ไม่เคยเห็นหน้ารับสมัครงานที่ให้เข้าไปด้วย ssh superlogical.jobs แล้วแสดง ตำแหน่งงาน ในเทอร์มินัลมาก่อน เป็นรสนิยมสาย dev ที่เนิร์ดสุด ๆ

    • บางบริษัท รวมถึง NSA เคยทำมานานแล้ว โดยต้องผ่านด่านหลายชั้นและถึงขั้นเขียน exploit เล็ก ๆ ก่อนจึงจะเห็นอีเมลสำหรับส่งเรซูเม่
    • วิธี SSH น่าสนุก แต่ก็อยากให้มีวิธีดูแบบอื่นด้วย
      ตอนนี้ใช้การเชื่อมต่อที่ latency สูงมากอยู่ ดังนั้นในสภาพแวดล้อมแบบนี้ ประสบการณ์ผู้ใช้แย่มาก
  • เบื่อ พาดหัวเรียกคลิก ที่ทำเหมือนปริศนาแทนที่จะบอกว่าเนื้อหาเกี่ยวกับอะไร เลยจะไม่คลิกเข้าเว็บ
    แนวทางของ HN แค่บอกประมาณว่าให้ตัดชื่อเว็บออกจากหัวข้อเพราะจะแสดงหลังลิงก์อยู่แล้ว แต่คงดีถ้าเกิดธรรมเนียมแก้หัวข้อที่มีแค่ชื่อโดเมนหรือคำเดียวให้สื่อเนื้อหามากขึ้น

    • เฮดเดอร์บนหน้าจริงคือ “We are building the multiplexer for all work.”
      ถ้าหัวข้อ HN เขียนว่า “Superlogical: We are building the [terminal] multiplexer for all work” ก็น่าจะดีกว่า
    • ถ้าไม่คลิก ก็ไม่มีทางรู้ว่าทำไมถึงตั้งชื่อแบบนั้น
  • ประโยชน์ใหญ่ที่สุดของเครื่องมือแบบนี้น่าจะเป็น การรวมศูนย์
    อีโคซิสเต็มเทอร์มินัลแตกกระจายเกินไป ทุกคนต้องรองรับโปรโตคอลเทอร์มินัลที่เข้าใจยาก และต้องซ้อน wrapper จำนวนมาก
    ทางออกที่ง่ายที่สุดน่าจะเป็นฝ่ายกำหนดมาตรฐานมากกว่าผู้รวบรวม และถ้าสามารถทำให้ส่วนขยายที่ยังคงความรู้สึกของการใช้เทอร์มินัลไว้ ขณะเดียวกันก็หลุดจาก semantics แบบยุค 1980 กลายเป็นมาตรฐานในที่เดียวได้ ก็คงยอดเยี่ยม
    ชุดที่สะอาดที่สุดเท่าที่ผ่านมา คือ mosh + tmux แต่แม้แค่นี้ก็ยังมีปัญหา เช่น ไม่มี block cursor
    ถ้าเป้าหมายสุดท้ายของ Superlogical คือการปรับโฉมอีโคซิสเต็มนักพัฒนา Linux ก็สนับสนุน แต่ในระยะยาวกังวลเรื่องความเสี่ยงทางการเมือง และตราบใดที่ยังเป็น เครื่องมือพัฒนาในเครื่องแบบโอเพนซอร์ส อยู่ก็มองว่าโอเค

    • นี่คงไม่ใช่ครั้งแรกที่มีคนพยายามแก้ปัญหาแบบนี้: https://xkcd.com/927/
  • นึกถึงตอน Mitchell เปิดตัว Vagrant บน HN ครั้งแรก และทุกอย่างของ HashiCorp ก็เริ่มต้นจากตรงนั้น
    คิดว่าเป็นเรื่องเมื่อราว 8 ปี หรืออย่างมากก็ 10–12 ปีก่อน แต่จริง ๆ ผ่านมาแล้ว 16 ปี
    สงสัยว่าคราวนี้จะเป็นโปรเจกต์ที่ใช้ Zig ด้วยไหม: https://news.ycombinator.com/item?id=1175901

    • บอกว่าใช้ libghostty ก็ดูมีโอกาสสูงว่าจะเป็น Zig
    • ในประกาศรับสมัครงานกำลังหา developer Go
  • บอกว่าจะทำให้ปัญหาคลาสสิกของเครื่องมือเดิม ๆ อย่าง scrollback, การเลือกข้อความ และการเลื่อน ทำงานแบบ native แต่กลับทำ scrollbar ของเบราว์เซอร์ พังเสียเอง

    • ในสภาพแวดล้อมของผม scrollbar ปกติดี ดูเหมือนแค่เปลี่ยนสไตล์เท่านั้น
  • agent orchestrator ดูเหมือนเป็น ความฝันของ IDE ที่นำมาแพ็กใหม่
    ถ้าไม่นับผลิตภัณฑ์อย่าง Visual Studio หรือ Xcode ที่ได้แรงจาก network effect และการผูกขาด IDE ก็ไม่เคยไปถึงวิสัยทัศน์อันยิ่งใหญ่ที่ Alan Kay และคนอื่น ๆ เคยวาดไว้ และทุกวันนี้โดยพื้นฐานก็ยังเป็น text editor ที่มี file explorer ติดมาด้วย
    agent orchestrator เองก็มีวิสัยทัศน์ใหญ่โต แต่การใช้งานจริงใกล้เคียงเทอร์มินัลที่มีแท็บ

    • IDE ประสบความสำเร็จมากพอ แต่ผมมองว่าบางส่วน ถูกแช่แข็งไว้ในกาลเวลา
      Visual Studio สำหรับแอปไคลเอนต์ Windows โดยเฉพาะ WinForms ยังมีประสิทธิภาพการทำงานสูงอย่างน่าทึ่งจนถึงทุกวันนี้
      กระบวนการทั้งหมดตั้งแต่ลาก UI ขึ้นมา สลับไปเขียนลอจิกหลังฟอร์ม เชื่อมต่อ backend เว็บเซอร์วิส และแชร์ domain model นั้นเครื่องมือสำรวจและค้นหาเข้าใจได้ดี และการผสานกับ TFS ก็ยอดเยี่ยม
      แต่ “Server Explorer” พอรวม Azure VM เข้าไปแล้วก็ค้างครั้งละ 30 วินาทีทุกครั้งที่เปิด, เครื่องมือ Docker มาช้าเกินไป และบริการ Azure จำนวนมากก็ไม่มีเครื่องมือ VS ที่ดีจริง
      “right click publish” สำหรับระบบขนาดเล็กก็ขยายไปสู่ความต้องการจริงที่มีหลายทีมเข้าร่วมไม่ได้ นักพัฒนาจึงต้องเรียนรู้เครื่องมืออื่นเพื่อทำงานสมัยใหม่ และ ความเป็นศูนย์กลางของ Visual Studio ก็ลดลงอย่างมาก
    • ถ้าดูสองช่วงในต้นฉบับ ดูเหมือนจะพยายามออกจากเทอร์มินัลไปสู่ วิสัยทัศน์แบบ IDE
      ฟีเจอร์ที่ปิดแอปแล้วเชื่อมต่อกลับจากอุปกรณ์อื่นเพื่อทำงานต่อได้ตรงจุดเดิมนั้นใกล้เคียงกับความฝันของ remote IDE ที่ยังไม่มีใครทำได้ดีจริง
      เมื่อก่อนเราไม่จำเป็นต้องมีเครื่องที่รันงานตลอด 24 ชั่วโมง แต่เมื่อมี coding agent ที่ทำงานเบื้องหลัง สถานการณ์ก็เปลี่ยนไป
      อย่างไรก็ดี ใน terminal multiplexer การแชร์เซสชันแบบเรียลไทม์ต้องให้ขนาดแถวและคอลัมน์ของทุกหน้าจอตรงกัน ดังนั้นถ้าผสมมือถือกับโน้ตบุ๊ก ประสบการณ์ผู้ใช้จะแย่มาก และจากที่ลองเองก็ยังไม่มีทางออกที่ดี
      ถึงอย่างนั้น การใส่ฟีเจอร์นี้เข้ามาก็ชี้ว่าเป้าหมายระยะยาวไม่ใช่เทอร์มินัล แต่เป็น agent IDE แบบ GUI และภายหลังจะขยายไปเป็น “multiplexer สำหรับงานทั้งหมด” เมื่อการทำงานโดยรวมมีเอเจนต์เป็นศูนย์กลาง
  • โปรเจกต์ที่ใช้โทเคนมากที่สุดของผมจนถึงตอนนี้คล้ายกับสิ่งนี้มาก และยังไม่แน่ใจว่าเป็นไอเดียที่ดีหรือไม่ แต่ กระบวนการสร้างสนุกมาก