12 คะแนน โดย GN⁺ 2026-02-25 | 2 ความคิดเห็น | แชร์ทาง WhatsApp
  • Pi คือ เอเจนต์เขียนโค้ดแบบมินิมอลบนเทอร์มินัล ที่มีโครงสร้างซึ่งขยายต่อได้ตามเวิร์กโฟลว์ของผู้ใช้
  • สามารถผสาน ส่วนขยาย TypeScript, skills, เทมเพลตพรอมป์ต์, ธีม เพื่อประกอบเป็นสภาพแวดล้อมการพัฒนาของตนเอง และแชร์เป็น แพ็กเกจ npm หรือ git ได้
  • รองรับ ผู้ให้บริการ AI มากกว่า 15 รายและโมเดลหลายร้อยรายการ พร้อมสลับโมเดลระหว่างเซสชันหรือเพิ่มโมเดลแบบกำหนดเองได้
  • เซสชันถูกบันทึกเป็น ประวัติแบบโครงสร้างต้นไม้ ทำให้ย้อนกลับไปยังจุดก่อนหน้าได้ หรือส่งออกเป็น HTML·GitHub gist ได้
  • ลดฟีเจอร์แกนกลางให้เหลือน้อยที่สุดและยึด แนวคิดการออกแบบที่เน้นการขยายต่อ เพื่อให้นักพัฒนาสร้างเฉพาะความสามารถที่ต้องการเองหรือเพิ่มผ่านแพ็กเกจได้

ภาพรวมของ Pi

  • Pi เป็น ฮาร์เนสสำหรับการเขียนโค้ดบนเทอร์มินัล ที่ออกแบบมาให้ผู้ใช้ปรับแต่งเครื่องมือได้โดยไม่ต้องเปลี่ยนเวิร์กโฟลว์
    • รองรับองค์ประกอบที่ขยายได้ เช่น ส่วนขยาย TypeScript, skills, เทมเพลตพรอมป์ต์, ธีม
    • สามารถติดตั้งและแชร์ แพ็กเกจ pi ที่รวมสิ่งเหล่านี้ไว้ผ่าน npm หรือ git ได้
  • การตั้งค่าเริ่มต้นนั้นทรงพลัง แต่ ไม่มีฟีเจอร์อย่าง sub-agent หรือ plan mode มาให้
  • มี 4 โหมดให้ใช้ ได้แก่ interactive, print/JSON, RPC และ SDK โดยดูตัวอย่างการผสานใช้งานจริงได้ใน clawdbot

โมเดลและผู้ให้บริการ

  • รองรับ ผู้ให้บริการมากกว่า 15 ราย และโมเดลอีกหลายร้อยรายการ เช่น Anthropic, OpenAI, Google, Azure, Bedrock, Mistral, Groq, Cerebras, xAI, Hugging Face, Kimi, MiniMax, OpenRouter, Ollama
  • ยืนยันตัวตนได้ด้วย API key หรือ OAuth
  • สลับโมเดลระหว่างเซสชันได้ด้วยคำสั่ง /model หรือ Ctrl+L และวนดูโมเดลโปรดด้วย Ctrl+P
  • เพิ่มโมเดลแบบกำหนดเองได้ผ่าน models.json หรือส่วนขยาย

การจัดการเซสชัน

  • เซสชันจะถูกเก็บในรูปแบบ โครงสร้างต้นไม้ และใช้คำสั่ง /tree เพื่อย้อนกลับไปยังจุดก่อนหน้าได้
  • ทุกกิ่งก้านจะถูกเก็บไว้ในไฟล์เดียว พร้อมรองรับ การกรองตามประเภทข้อความและการติดป้าย bookmark
  • ใช้ /export เพื่อส่งออกเป็น HTML และ /share เพื่ออัปโหลดเป็น GitHub gist พร้อมสร้าง URL สำหรับแชร์ได้

วิศวกรรมคอนเท็กซ์

  • ควบคุม context window ได้อย่างละเอียดด้วย system prompt ที่น้อยที่สุดเท่าที่จำเป็น และความสามารถในการขยายต่อ
    • AGENTS.md: โหลดคำแนะนำของโปรเจกต์อัตโนมัติเมื่อเริ่มต้น
    • SYSTEM.md: แทนที่หรือเพิ่ม system prompt เริ่มต้นของแต่ละโปรเจกต์
    • Compaction: สรุปข้อความก่อนหน้าโดยอัตโนมัติเมื่อถึงขีดจำกัดของคอนเท็กซ์ และสามารถใช้ส่วนขยายเพื่อทำสรุปตามหัวข้อหรือสรุปที่รับรู้โค้ดได้
    • Skills: แพ็กเกจความสามารถที่โหลดเมื่อจำเป็น ช่วยคง prompt cache และเพิ่มฟังก์ชันแบบค่อยเป็นค่อยไป
    • Prompt templates: พรอมป์ต์ที่นำกลับมาใช้ซ้ำและขยายได้ผ่านคำสั่ง /name
    • Dynamic context: ใช้ส่วนขยายเพื่อแทรกข้อความ กรองประวัติ ทำ RAG หรือสร้าง long-term memory ได้

การคิวข้อความ

  • สามารถส่งข้อความได้แม้ตอนที่เอเจนต์กำลังทำงานอยู่
    • Enter: steering message ที่จะถูกส่งหลังจากเครื่องมือที่กำลังรันอยู่เสร็จ
    • Alt+Enter: follow-up message ที่จะถูกส่งหลังงานเสร็จสมบูรณ์

โครงสร้างส่วนขยาย

  • Pi ถูกออกแบบโดยเน้น องค์ประกอบพื้นฐาน (Primitives) มากกว่าฟีเจอร์สำเร็จรูป ทำให้ผู้ใช้สร้างฟังก์ชันต่าง ๆ เองได้
    • ส่วนขยายอยู่ในรูปโมดูล TypeScript และเข้าถึง เครื่องมือ, คำสั่ง, คีย์ลัด, อีเวนต์, TUI ทั้งหมด ได้
    • ตัวอย่างส่วนขยาย: sub-agent, plan mode, permission gate, path protection, การรัน SSH, sandboxing, การผสาน MCP, custom editor, overlay เป็นต้น
    • มีแม้แต่ ส่วนขยาย overlay สำหรับเกม ตามตัวอย่างคำว่า “Yes, Doom runs.”
  • หากไม่ต้องการลงมือทำเอง ก็เพิ่มความสามารถได้ด้วยการติดตั้ง แพ็กเกจ pi
  • มี ตัวอย่างส่วนขยายมากกว่า 50 รายการ เปิดเผยบน GitHub

การจัดการแพ็กเกจ

  • สามารถ รวมส่วนขยาย, skills, พรอมป์ต์, ธีมเป็นแพ็กเกจเดียว และติดตั้งจาก npm หรือ git ได้
    • ตัวอย่าง:
      $ pi install npm:@foo/pi-tools  
      $ pi install git:github.com/badlogic/pi-doom  
      
    • ตรึงเวอร์ชันได้ (@1.2.3 หรือ @tag), อัปเดตทั้งหมดด้วย pi update, ดูรายการด้วย pi list, และตั้งค่าด้วย pi config
    • ทดสอบได้โดยไม่ต้องติดตั้งผ่านคำสั่ง pi -e
  • ค้นหาและแชร์แพ็กเกจได้ด้วยคำค้นหา npm pi-package หรือผ่าน ช่อง Discord

โหมดการผสานใช้งาน

  • Interactive: สภาพแวดล้อม TUI แบบเต็มรูปแบบ
  • Print/JSON: pi -p "query" สำหรับสคริปต์, --mode json สำหรับ event stream
  • RPC: รองรับการผสานในสภาพแวดล้อมที่ไม่ใช่ Node ผ่านโปรโตคอล JSON บน stdin/stdout
  • SDK: ฝังใช้งานในแอปพลิเคชันได้ โดยมีตัวอย่างการใช้งานจริงใน clawdbot

ปรัชญาการออกแบบ

  • Pi ถูกออกแบบมาเพื่อ ขยายต่อได้สูงสุด โดยทำให้แกนกลางเล็กที่สุดและเปิดให้ผู้ใช้กำหนดเวิร์กโฟลว์เอง
    • MCP, sub-agent, permission popup, plan mode, TODO ในตัว, background bash ไม่ได้ถูกรวมมาให้
    • แต่สามารถสร้างความสามารถเดียวกันหรือเชื่อมกับเครื่องมือภายนอกได้ผ่านส่วนขยาย, skills และแพ็กเกจ
    • รองรับการรันแบบขนานและการสังเกตการณ์ผ่าน tmux
  • แนวทางนี้ทำให้สามารถ ประกอบสภาพแวดล้อมการพัฒนาแบบผู้ใช้เป็นผู้กำหนดเอง ได้
  • มีคำอธิบายเพิ่มเติมเกี่ยวกับแนวคิดทั้งหมดใน บล็อกโพสต์ ที่เกี่ยวข้อง

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

 
qodot 2026-02-26

ฉันชอบ pi มากเลย

 
GN⁺ 2026-02-25
ความคิดเห็นจาก Hacker News
  • เหตุผลที่ Pi และปรากฏการณ์ “claw” น่าสนใจสำหรับฉัน คือมันแสดงให้เห็นอนาคตของโอเพนซอร์ส
    ตอนนี้เราเข้าสู่ยุคที่แทนที่จะส่ง feature request หรือ PR เราจะดาวน์โหลด ไฟล์ skill ที่บอก coding agent ว่าจะเพิ่มฟีเจอร์อย่างไร
    ซอฟต์แวร์ไม่ใช่ผลลัพธ์แบบตายตัวอีกต่อไป แต่กลายเป็น เครื่องมือมีชีวิต ที่แตกต่างกันไปในแต่ละผู้ใช้
    ฉันสงสัยว่าจะมี tooling แบบไหนเกิดขึ้นภายใต้กระบวนทัศน์ความร่วมมือใหม่นี้

    • ฉันก็มองเห็นแนวโน้มเดียวกัน
      ซอฟต์แวร์ทุกวันนี้ทำให้ผู้ใช้ควบคุมสภาพแวดล้อมของตัวเองไม่ได้ จนเกิดความรู้สึก 疎離/แปลกแยก
      แต่ซอฟต์แวร์ที่ปรับให้เหมาะกับแต่ละคนได้ ราคาถูก และยืดหยุ่น สามารถให้ความรู้สึกของ ความเป็นเจ้าของ อย่างแท้จริงได้
      เมื่อก่อน Linux desktop เคยมอบอิสรภาพแบบนั้น และตอนนี้ดูเหมือนว่าทุกคนจะได้ประโยชน์นั้นบ้างแล้ว
      ฉันมองอนาคตนี้ในแง่ดี
    • ช่วงนี้ฉันก็คิดเรื่องนี้บ่อยเหมือนกัน
      ต่อไปน่าจะมี ซอฟต์แวร์ที่ปรับแต่งเฉพาะบุคคลอย่างสุดขั้ว มากขึ้น — ถึงระดับที่มีแค่คนคนหนึ่งหรือกลุ่มเล็ก ๆ เท่านั้นที่เข้าใจ
      ช่วงหลังฉันก็ใช้ Claude สร้างเครื่องมือเยอะมากที่มีแค่ฉันกับคนไม่กี่คนใช้
      เช่น แอปจัดตาราง DnD, ตัวเช็กข่าว Formula E แบบไร้สปอยล์, เว็บไซต์โหวตของสหกรณ์ปีนหน้าผา
      เมื่อก่อนมันไม่มีเหตุผลพอจะสร้างสิ่งพวกนี้ แต่ตอนนี้ทำได้แล้ว
      ฉันเขียนเรื่องนี้ไว้ที่ Releasing Software Now
    • ฉันเห็นด้วยกับคำว่า “เครื่องมือมีชีวิตที่ต่างจากสำเนาของคนอื่น” แต่คิดว่าโมเดลแบบนี้น่าจะถูก องค์กรนำไปใช้ ได้ยาก
      บริษัทใหญ่หรือรัฐบาลคงไม่ยอมให้มีระบบที่ไม่สม่ำเสมอแบบนี้
    • ฉันไม่เข้าใจว่าทำไมกระบวนทัศน์นี้ถึงจะก่อให้เกิด tooling ที่น่าสนใจ
      กลับกัน ฉันคิดว่าน่าจะได้ เครื่องมือที่แย่ลง มากกว่า
    • ถ้าทุกคนใช้ซอฟต์แวร์คนละเวอร์ชันกัน แค่นึกถึงความซับซ้อนของการ แก้ปัญหา ก็เวียนหัวแล้ว
  • ฉันคุ้นกับ OpenCode เลยกำลังคิดว่าจะลองใช้เป็น AI workspace ส่วนตัวดีไหม
    Pi มี ecosystem เล็กกว่า แต่ดูมี ความยืดหยุ่นและการขยายต่อ มากกว่า และยังรู้สึกได้ถึงความกระตือรือร้นของชุมชนด้วย
    เลยสงสัยว่าการใช้ Pi แทน OpenCode จะดีกว่าไหม และมี ตัวเลือก UI อะไรบ้าง

    • ฉันก็กำลังคิดแบบเดียวกัน
      ฉันลองใช้ OpenCode กับไฟล์ .md เพื่อเขียนและจัดระเบียบข้อมูล ซึ่งมันเข้ากันได้ดีพอสมควร
      ตอนนี้เลยกำลังมองหา harness แบบใหม่ ที่เหมาะกับงานนี้มากกว่า
    • สิ่งที่คุณเข้าใจนั้นตรงทิศทางแล้ว
  • นี่คือ harness ที่ฉันชอบที่สุดในช่วงนี้
    มันต่อขยายเองได้ จึงมีประสิทธิภาพสูง และฉันก็รวมมันเข้าไปใน โปรเจ็กต์ vibes แล้ว
    มันเร็วกว่า ACP มาก

    • ฉันสงสัยว่าความต่างด้าน ความเร็ว ระหว่างการรวมเข้าด้วยตัวเองกับ ACP เกิดจากอะไร
      ฉันกำลังมองหาโปรโตคอลโต้ตอบกับ agent แบบทั่วไป และ ACP ก็เคยเป็นตัวเลือกนั้น
      แต่พอเห็นว่าแม้แต่ OpenCode เองก็ไม่ใช้ ACP ใน UI ก็ดูเหมือนว่ามันน่าจะมีปัญหาบางอย่าง
      เลยอยากรู้ว่ามีตัวเลือกอื่นที่ดีกว่าสำหรับใช้แทนไหม
    • อยากรู้ว่าคุณลองเทียบกับ harness ตัวไหนมาบ้าง
    • อันนี้ถูกใจมาก! เหมือนมีคนทำสิ่งที่ฉันกำลังจะทำไว้แล้ว
    • “harness” หมายถึงอะไร? มันไม่ใช่แค่ coding agent เหรอ?
  • ฉันยังไม่เคยเห็นใครที่ลองใช้ Pi แค่ไม่กี่วันแล้ว ไม่ใช้มันในชีวิตประจำวัน
    พอได้ลิ้มรสอิสระในการตั้งค่าเครื่องมือให้ตรงใจตัวเองแล้ว มันยากที่จะย้อนกลับไป
    แถมยังสร้างส่วนขยายเจ๋ง ๆ บนมันได้อีกด้วย

    • ฟังดูแล้ว Pi เหมือน Neovim หรือ Emacs แห่งโลก coding agent
    • ก็ดีนะ แต่สำหรับฉัน Claude CLI กับ OpenCode ให้ประสิทธิภาพมากกว่า Pi มาก
      ความสามารถในการขยายของ Pi น่าสนใจ แต่คุณภาพของงานจริงยังไม่พอ
    • อยากรู้ว่าฟีเจอร์ที่คุณทำขึ้นเองและ Claude Code ไม่มีนั้น อันไหนที่คุณชอบที่สุด
  • ฉันไม่เข้าใจว่าทำไมต้องเขียนโค้ดผ่าน แอปในเทอร์มินัล ด้วย
    ถ้าทำเป็นส่วนขยาย IDE ก็น่าจะทำสิ่งเดียวกันได้ดีกว่า และใน VSCode ก็คืน layout ของหน้าต่างได้เหมือนกัน

    • เวลาใช้ CLI agent ฉันแทบไม่ต้องพึ่ง IDE เลย
      มันเหมือนกับ สั่งงานเพื่อนร่วมทีมผ่านแชตข้อความ
      อย่างเช่น ฉันโยนงานโปรแกรมบำรุงรักษาเซิร์ฟเวอร์ให้ Claude ทำ แล้วไปทำอย่างอื่นก่อนค่อยกลับมาดูผล
      ถ้าเทสต์ผ่านแล้ว โค้ดหน้าตาเป็นอย่างไรก็ไม่สำคัญ
      ในทางปฏิบัติ ฉันทำงานหลายอย่างคู่กันได้โดยใช้เวลาแบบ active แค่ราว 15 นาที
  • ฉันใช้ Pi ผ่าน แพ็กเกจ pi-coding-agent สำหรับ Emacs
    ในโหมด RPC มันสร้าง Markdown buffer สำหรับรับเข้า/ส่งออก ทำให้ใช้งานสบายกว่า TUI อื่นมาก
    ฉันเชื่อมกับ issue tracker ได้ง่าย และนิยามคำสั่ง read กับ write ใหม่ให้ทำงานบนพื้นฐานของ Emacs buffer
    ฉันยังอยากลองปรับปรุงคำสั่ง edit โดยใช้ tree-sitter query ของ Emacs ด้วย
    และยังเปิดให้สำรวจเอกสารผ่าน EWW ได้ด้วยคำสั่ง emacs_eval

    • เจ๋งมาก! อยากรู้ว่าคุณแมป read กับ write เข้ากับ Emacs buffer อย่างไร
      อนึ่ง โหมด Pi สำหรับ Emacs ติดตั้งได้ที่นี่
      ตอนนี้กำลังเพิ่มฟีเจอร์ให้เปิดไฟล์ที่เกี่ยวข้องได้ทันทีจากผลลัพธ์ของการเรียก read, write, edit
      และอีกไม่นานจะรองรับการท่อง session กับ tree ของ Pi รวมถึง การเชื่อมกับ Magit ด้วย
  • ฉันเริ่มจาก Pi แล้วในช่วง 2 สัปดาห์ที่ผ่านมาใช้ oh-my-pi อยู่
    repo ของ oh-my-pi คือ Pi เวอร์ชัน จัดเต็มพร้อมใช้

    • อยากรู้ว่าประสบการณ์ใช้ oh-my-pi เป็นอย่างไรบ้าง
    • แล้วมันรันในสภาพแวดล้อม sandbox หรือมี ฟีเจอร์แยกส่วน/กักกัน อะไรไหมก็อยากรู้ด้วย
  • ฉันเองก็อยากโคลนโปรเจ็กต์เดิมแล้วปล่อยใหม่ในชื่ออื่นเหมือนกัน
    เช่น “Waterfox — ผู้บริโภคเว็บแบบมินิมอล” อะไรทำนองนั้น

  • Pi เวอร์ชันที่ตั้งค่ามาให้แล้ว: oh-my-pi

    • ฟอร์กนี้เจ๋งดี แต่การใส่เครื่องมือจากทุก repo แบบจัดเต็มดู เสี่ยงด้านความปลอดภัย
      น่าจะต้องมี สภาพแวดล้อมแยก ที่ติดตั้งและทดสอบได้อย่างปลอดภัยเหมือนแอป
    • ฉันเป็น แฟนตัวยง ของฟอร์กนี้
      ฉันย้ายจาก codex/claude code → opencode → pi → oh-my-pi
    • เป็นฟอร์กที่ยอดเยี่ยม! ฉันเองก็เคยจะเข้าไปช่วย แต่รู้สึกว่าชุมชนค่อนข้าง ปิด ไปหน่อย
    • น่าจะแยกเว็บทูลของ oh-my-pi ออกมาเป็น ปลั๊กอิน Pi ทั่วไป เพื่อใช้แยกต่างหากได้
      สักวันหนึ่งฉันคงลองทำเอง
    • แต่ฉันคิดว่าแบบนี้พลาดแก่นแท้ของ Pi ไป
      เสน่ห์ของ Pi คือ ความเบาและความเป็นอิสระ แต่ oh-my-pi มีฟีเจอร์เยอะจนให้ความรู้สึก หนักคล้าย OpenCode แทน
  • Pi มี การตัดสินใจด้านการออกแบบ ที่ยอดเยี่ยมจริง ๆ
    ขอชื่นชม Mario กับ Armin — คนที่มีรสนิยมดีสุดท้ายก็แสดงออกมาเอง

    • แต่ฉันไม่เข้าใจว่าทำไมถึงต้อง ทำมันด้วย JavaScript