Pi: วิเคราะห์ AI Agent สำหรับนักพัฒนาที่เป็นหัวใจของ OpenClaw และเรียบง่ายอย่างถึงที่สุด
(lucumr.pocoo.org)สรุป:
- แนะนำรายละเอียดและแนวคิดของ 'Pi' เอเจนต์เขียนโค้ดแบบมินิมอลที่เป็นรากฐานของ OpenClaw (เดิมชื่อ ClawdBot)
- มุ่งสู่ความเรียบง่ายอย่างสุดขีดด้วยเครื่องมือหลัก 4 อย่าง ได้แก่ Read, Write, Edit, Bash และ system prompt ที่มีเท่าที่จำเป็น
- เน้นสถาปัตยกรรมแบบ 'วิวัฒนาการด้วยตัวเอง' ที่ให้เอเจนต์ขยายความสามารถและแก้โค้ดของตัวเอง แทนการพึ่งพามาตรฐานภายนอกอย่าง MCP
- มอบประสบการณ์นักพัฒนาที่ทรงพลังผ่านการจัดโครงสร้างเซสชันแบบต้นไม้ (Tree) และการขยายผ่าน TUI (Terminal UI)
สรุปแบบละเอียด:
-
ความหมายและปรัชญาของ Pi: 'การเขียนโค้ดคือการขยายความสามารถ'
Pi เป็นเอเจนต์เขียนโค้ดที่พัฒนาโดย Mario Zechner และทำหน้าที่เป็นเอนจินของ OpenClaw ที่กำลังได้รับความสนใจในช่วงนี้ ปรัชญาหลักของ Pi คือ "LLM เก่งมากในการเขียนและรันโค้ด ดังนั้นเราควรใช้ความสามารถนี้ให้เต็มที่" ต่างจากเอเจนต์ที่ซับซ้อนในท้องตลาด Pi รักษาแกนหลักให้เบาอย่างยิ่งและใช้ system prompt เท่าที่จำเป็น โดยไม่ได้มุ่งเพิ่มฟีเจอร์ซับซ้อนเข้าไป แต่เน้นสร้างสภาพแวดล้อมที่เอเจนต์สามารถขยายความสามารถของตัวเองได้ -
คุณลักษณะทางเทคนิคและจุดที่แตกต่าง
- ชุดเครื่องมือขั้นต่ำ: ใช้เพียง Read, Write, Edit, Bash เป็นเครื่องมือพื้นฐานเท่านั้น
- โครงสร้างเซสชันแบบต้นไม้: จัดการเซสชันไม่ใช่เป็นบันทึกเชิงเส้นธรรมดา แต่เป็นโครงสร้างแบบต้นไม้ ทำให้เวิร์กโฟลว์ยืดหยุ่น เช่น ออกไปทำ 'side quest' สำหรับงานเฉพาะอย่าง (เช่น แก้เครื่องมือ) แล้วค่อยกลับมาที่เซสชันหลักเพื่อสรุปและนำผลลัพธ์กลับมาใช้ได้
- ความเป็นอิสระจากโมเดลและการเก็บสถานะ: ออกแบบมาให้สามารถผสมข้อความจากผู้ให้บริการโมเดลหลายรายภายในเซสชันเดียวได้ และมีระบบข้อความแบบกำหนดเองที่ทำให้ส่วนขยายเก็บสถานะลงดิสก์ได้
- Hot Reloading: เมื่อเอเจนต์แก้โค้ดของตัวเอง ระบบจะโหลดใหม่ทันทีเพื่อทดสอบและวนลูปต่อได้
-
แนวทางแบบ 'Anti MCP (Model Context Protocol)'
Pi ไม่รองรับ MCP ที่กำลังเป็นกระแสโดยตรง แต่เลือกแนวทางที่เมื่อเอเจนต์ต้องการความสามารถบางอย่าง แทนที่จะดาวน์โหลดเครื่องมือภายนอก ก็จะสั่งเอเจนต์ให้ "ขยายตัวเอง" แทน หากจำเป็น ก็สามารถเรียก MCP ในรูปแบบ CLI ผ่านบริดจ์อย่าง 'mcporter' ได้ แต่โดยหลักแล้ว ระบบจะชี้นำให้เอเจนต์จัดการงานอย่าง browser automation หรือ issue tracking ผ่านโค้ด (Skill) ที่มันเขียนขึ้นเองโดยตรง -
ตัวอย่างส่วนขยาย (Extensions) สำคัญ
นักพัฒนาสามารถสร้างและใช้งานคำสั่งแบบกำหนดเองผ่าน TUI ได้ดังนี้
- /answer: ดึงเฉพาะคำถามออกจากคำตอบของเอเจนต์ แล้วแสดงเป็นช่องป้อนข้อมูลที่สะอาดอ่านง่าย
- /todos: จัดการไฟล์ Markdown ในพาธ .pi/todos และติดตามสถานะงาน
- /review: แตกกิ่งเซสชันเพื่อให้เอเจนต์รีวิวโค้ดที่เขียนก่อน จากนั้นรวมการแก้ไขกลับเข้าสู่สายหลัก
- /files: แสดงภาพรวมรายชื่อไฟล์ที่ถูกกล่าวถึงหรือแก้ไขในเซสชัน และตรวจสอบได้ทันที
- บทสรุป: อนาคตที่ซอฟต์แวร์สร้างซอฟต์แวร์
ผู้เขียน Armin Ronacher เน้นย้ำผ่าน Pi ถึงประสบการณ์แบบ "ซอฟต์แวร์ที่สร้างซอฟต์แวร์ด้วยตัวเอง" Pi ไม่ได้เป็นแค่เครื่องมือธรรมดา แต่ทำหน้าที่เป็นคู่หูที่เพิ่มความสามารถและบำรุงรักษาตัวเองให้ตรงตามข้อกำหนดของนักพัฒนาได้ รูปแบบที่ผสานมินิมอลลิสม์เข้ากับการขยายความสามารถเช่นนี้ชี้ให้เห็นว่าอาจเป็นสภาพแวดล้อมการพัฒนาแห่งอนาคต
2 ความคิดเห็น
สิ่งที่ได้เรียนรู้จากการสร้างเอเจนต์เขียนโค้ด Pi
นี่คือบทความที่ผู้สร้าง Pi อย่าง Mario Zechner สรุปสิ่งที่ได้เรียนรู้ระหว่างการพัฒนาขึ้นมา
https://github.com/mitsuhiko/agent-stuff
เป็น repo ส่วนขยายที่แนะนำไว้ครับ สำหรับ pi ดูเหมือนว่าจะจัดทำให้สามารถอัปโหลดขึ้น npm repo โดยตรงและติดตั้งได้เลย
เหมือนจะใส่ใจเรื่องส่วนขยายไว้มากกว่าที่คิด...