- Phoenix.new คือ เอเจนต์เขียนโค้ด AI แบบออนไลน์เต็มรูปแบบ ที่ออกแบบมาเฉพาะสำหรับ Elixir และเฟรมเวิร์ก Phoenix
- ผู้ใช้สามารถเขียนโค้ดใน IDE บนเบราว์เซอร์ ผ่านเครื่องเสมือนแบบแยกส่วน และแชร์รูทเชลล์ร่วมกับเอเจนต์ได้
- เอเจนต์ Phoenix.new ควบคุมเบราว์เซอร์ได้โดยตรงเพื่อทดสอบ UI และทำงานอัตโนมัติตั้งแต่แก้โค้ดไปจนถึงดีพลอยและเชื่อมต่อ GitHub
- ผู้ใช้สามารถติดตามสถานะการพัฒนาได้ผ่าน พรีวิวแอปแบบเรียลไทม์และการมอนิเตอร์ล็อก
- มีแผนจะขยายไปยังภาษาและเฟรมเวิร์กที่หลากหลาย ทำให้น่าจับตา การเปลี่ยนแปลงของเวิร์กโฟลว์การพัฒนาในอนาคต
บทนำ
- Chris McCord เป็นนักพัฒนาที่สร้างเฟรมเวิร์ก Phoenix ของ Elixir
- ช่วงหลังเขาทุ่มเทกับโปรเจกต์ลับที่ Fly.io เพื่อสร้าง สภาพแวดล้อมที่เอเจนต์ LLM ทำงานกับ Elixir และ Phoenix ได้ดีพอๆ กับ Python และ JavaScript
- ผลลัพธ์ของโปรเจกต์นั้นคือการเปิดตัว Phoenix.new
- Phoenix.new คือ เอเจนต์เขียนโค้ด AI สำหรับ Elixir และ Phoenix ที่ทำงานออนไลน์ทั้งหมดและมีฟังก์ชันครบถ้วน
- ถูกเน้นว่าเป็นเครื่องมือที่เหมาะอย่างยิ่งสำหรับการทำงานร่วมกันแบบเรียลไทม์และการสร้างต้นแบบอย่างรวดเร็ว
จุดเด่นหลักของ Phoenix.new
- แม้จะ ทำงานในสภาพแวดล้อมเบราว์เซอร์ แต่ก็ให้ทั้งผู้ใช้และเอเจนต์เข้าถึง เครื่องเสมือนแบบแยกส่วน ที่สร้างด้วย Fly Machine พร้อมรูทเชลล์
- ผู้ใช้สามารถเข้าถึงเชลล์ได้ตามต้องการผ่านอินเทอร์เฟซสไตล์ VSCode
- เอเจนต์ถูกปรับให้เหมาะกับ Phoenix โดยเฉพาะ จึงเข้าใจความต้องการของแอปพลิเคชัน การทำงานร่วมกันแบบเรียลไทม์
- Phoenix.new มีเบราว์เซอร์ในตัว และเอเจนต์สามารถควบคุมแบบ "headless" เพื่อ ทดสอบและโต้ตอบกับการเปลี่ยนแปลงฝั่งฟรอนต์เอนด์
- จึงรับรู้ได้ทั้ง คอนเทนต์จริงของหน้าเว็บและสถานะ JavaScript ไม่ใช่แค่ภาพหน้าจอ
ข้อดีของสิทธิ์เข้าถึงระดับรูท
- เอเจนต์สามารถเปิดเชลล์โดยตรงและทดลองพัฒนาได้เหมือนผู้ใช้
- เนื่องจากเป็นสภาพแวดล้อม VM แบบแยกส่วน จึงสามารถทำสิ่งต่างๆ อย่างการเพิ่มแพ็กเกจใน
mix.exsหรือการติดตั้งแพ็กเกจ APT ระดับระบบได้ทั้งหมด - โครงสร้างนี้ช่วย ทำงานซ้ำๆ และงานจุกจิกจำนวนมากให้เป็นอัตโนมัติ
- ทุกแอปที่สร้างขึ้นจะ ทำงานบนคลาวด์ได้ทันที พร้อม URL สำหรับแชร์แบบส่วนตัว (โดเมน
.phx.run), การทำ port forwarding แบบรวม, การเชื่อมต่อ GitHub และ guardrails ด้านโครงสร้างพื้นฐานของ Fly.io (virtualization, WireGuard, isolated network) แบบอัตโนมัติ - มีการติดตั้ง
ghCLI ของ GitHub มาให้โดยค่าเริ่มต้น ทำให้เอเจนต์สามารถทำงานร่วมกันในทีมได้ เช่น โคลนรีโพสิทอรี, เปิดดู issue, สร้าง PR - มีลูปการดีพลอยและทดสอบอัตโนมัติเปิดไว้ ทำให้ เอเจนต์จัดการได้ตั้งแต่รันแอปไปจนถึงตรวจพบและแก้ไขข้อผิดพลาด
การตรวจสอบบิลด์แบบเรียลไทม์
- Phoenix.new ใช้ เบราว์เซอร์จริง ในการทดสอบเว็บแอปพลิเคชัน
- เมื่อต้องเพิ่มฟีเจอร์ฝั่งฟรอนต์เอนด์ มันไม่ได้แค่เขียนโค้ดและคอมไพล์ แต่ยังควบคุม UI โดยตรง พร้อม ตรวจดูหน้าเว็บ สถานะ JavaScript และเซิร์ฟเวอร์ล็อกไปพร้อมกัน
- มี พรีวิวแอปแบบสด ฝังอยู่ใน UI ของตัวเอง ทำให้ติดตามการพัฒนาและการเปลี่ยนแปลงได้แบบเรียลไทม์
- การเปลี่ยนแปลงจะซิงก์แบบเรียลไทม์ในหลายแท็บ
.phx.runด้วย
ทำได้มากกว่าการสร้างต้นแบบแบบง่ายๆ
- มีการพัฒนา แอปแบบฟูลสแตก ที่เชื่อมต่อ WebSocket, Phoenix Presence และฐานข้อมูลจริงได้แล้ว
- ทุกอย่างที่ทำได้ในเชลล์และเบราว์เซอร์ เอเจนต์สามารถจัดการให้ได้ทั้งแบบอัตโนมัติหรือเมื่อผู้ใช้ร้องขอ
- รองรับงานอย่างการสำรวจฐานข้อมูลหลังตั้งค่า
$DATABASE_URL, เสนอ Ecto schema, ติดตั้ง MySQL client เป็นต้น
- รองรับงานอย่างการสำรวจฐานข้อมูลหลังตั้งค่า
- LLM รุ่นใหม่มี ความรู้กว้างขวางและความสามารถในการทั่วไป จึงมีความเป็นไปได้ที่จะขยายไปยังภาษาและเฟรมเวิร์กใหม่ๆ
- ตัวอย่าง: เคยเขียนแอป Phoenix LiveView Tetris แบบสดๆ ได้สำเร็จ และต่อไปอาจรองรับ Rails, React Native, Svelte, Go เป็นต้น
- แม้ system prompt ตอนนี้จะเน้น Phoenix เป็นหลัก แต่ก็ แสดงเจตนาจะขยายไปยังภาษาและเฟรมเวิร์กอื่น
มุมมองต่อยุคของเอเจนต์แบบอะซิงก์
- มีการเน้นว่านี่คือช่วงเวลาที่ เวิร์กโฟลว์ของนักพัฒนากำลังเปลี่ยนแปลงครั้งใหญ่
- ในอนาคต การพัฒนาซอฟต์แวร์คาดว่าจะเปลี่ยนจากการจัดการไฟล์บนโลคัลเชลล์ ไปสู่รูปแบบที่ เอเจนต์เป็นผู้ขับเคลื่อนในสภาพแวดล้อม CI แบบอะซิงก์
- แม้การพัฒนาแบบโลคัลจะไม่หายไป แต่ งานซ้ำส่วนใหญ่จะย้ายไปอยู่ในสภาพแวดล้อมคลาวด์ที่มีเอเจนต์เป็นศูนย์กลาง
- ในทางปฏิบัติ Phoenix.new ถูกนำมาใช้กับงานประจำวันแล้ว เช่น การคัดแยก issue ของ
phoenix-coreและการสร้าง PR เพื่อแก้ปัญหา - Chris McCord แสดง ความตื่นเต้นและความคาดหวัง ต่อการเปลี่ยนแปลงนี้และศักยภาพในอนาคตของ Phoenix.new
1 ความคิดเห็น
ความคิดเห็นบน Hacker News
รู้สึกว่าบริการนี้น่าประทับใจมาก และอยากชี้ให้เห็นนวัตกรรมสำคัญที่สุด 2 อย่างที่นี่
อยากแนะนำ Kasm Workspaces ซึ่งสามารถเปิดสภาพแวดล้อมเดสก์ท็อป Linux แบบรีโมตที่อิง docker ได้อย่างอิสระ และเหมาะมากกับสภาพแวดล้อมพัฒนา AI ด้วย รองรับทั้งโฮมไดเรกทอรีและการคงอยู่ของแพ็กเกจด้วย, ลิงก์ docker hub, กระทู้ reddit เรื่องการคงอยู่ของแพ็กเกจ
มีความเห็นว่าการที่เอเจนต์สามารถวิ่งไปมาอย่างอิสระในสภาพแวดล้อมแบบคอนเทนเนอร์ได้นั้นเป็นนวัตกรรม แต่ก็ยังสงสัยอยู่ว่ามันนับว่านวัตกรรมจริงไหม
ขอเปิดเผยว่าตนเป็นผู้ก่อตั้ง Phoenix และยินดีตอบคำถามหากมีอะไรสงสัย อนึ่ง phoenix.new คือคลัสเตอร์ Elixir ระดับโลกที่กระจายตัวอยู่ทั่วโลก ตัวอย่างเช่น ถ้าสมัครจากออสเตรเลีย ก็จะได้รับ IDE และเอเจนต์ในซิดนีย์
งานยอดเยี่ยมมาก แต่พอเห็นแบรนด์ Phoenix.new แล้วแอบสับสนเล็กน้อยว่า นี่คือ Elixir web framework ที่รู้จักอยู่แล้ว หรือเป็นอะไรที่มากกว่านั้น
phoenix.flyio.newจะสื่อจุดประสงค์ได้เหมาะกว่าหรือเปล่าได้ทราบว่าสภาพแวดล้อมของ Phoenix.new มีเบราว์เซอร์ Chrome แบบ headless รวมอยู่ด้วย และเอเจนต์สามารถควบคุมมันได้ ถ้าสั่งให้เพิ่มฟีเจอร์ฝั่งฟรอนต์เอนด์ มันจะไม่ใช่แค่เขียนโค้ดแล้วคอมไพล์กับ lint ให้ผ่านเท่านั้น แต่จะรันแอปจริง ควบคุม UI และตรวจดูทั้งเนื้อหาหน้าเว็บ สถานะ JavaScript และ server log ไปพร้อมกัน จึงสงสัยว่าสามารถรันเบราว์เซอร์ headless และเอเจนต์ลักษณะนี้แบบโลคัลในสภาพแวดล้อมอย่าง Cursor ได้หรือไม่
หาเอกสารเกี่ยวกับนโยบายความปลอดภัย หรือว่ามีการนำโค้ดที่ผู้ใช้ส่งขึ้นไปใช้ฝึกโมเดลหรือไม่ไม่เจอ จึงอยากทราบว่าสามารถดูนโยบายด้านความปลอดภัยที่เกี่ยวข้องได้จากที่ไหน
อยากทราบว่ามีแนวทางด้าน accessibility อย่างไร และมีการทดสอบ accessibility ของ UI ของ phoenix.new หรือไม่ เพราะหลายคนก็เขียนฟรอนต์เอนด์ด้วย Phoenix จึงอยากถามด้วยว่าเคยประเมิน accessibility ของฟรอนต์เอนด์ที่สร้างขึ้นมาหรือไม่
ถ้ามีอินไซต์เกี่ยวกับการ provision สภาพแวดล้อมแบบแยกโดยใช้ Fly API อยากให้ช่วยแชร์ด้วย เพราะฉันเองก็กำลังลองแนวทางคล้ายกันกับระบบเวิร์กโฟลว์เซิร์ฟเวอร์เลสแบบ low-code
ในฐานะคนที่ชอบ Elixir และเชื่อในอนาคตของ agentic AI คิดว่าบริการนี้เจ๋งมาก และมีข้อสงสัยเกี่ยวกับการจัดการบริบทกับโมเดลที่ใช้
ยังไม่แน่ใจว่า Phoenix.new เป็นผลิตภัณฑ์ของ Fly.io หรือเป็นโปรเจกต์ภายใต้เครือของมัน และอยากรู้ว่ามีนโยบายราคาอธิบายไว้อย่างชัดเจนหรือไม่ โดยเฉพาะค่าใช้จ่ายเพิ่มเติมสำหรับการ deploy เว็บเซอร์วิสแบบถาวร เป็นต้น ตอนดูบนมือถือรู้สึกว่าหาข้อมูลเหล่านี้บนหน้าแรกได้ยาก
กังวลมาตลอดว่า Elixir อาจตามหลังในแง่การรองรับ LLM แต่ดีใจมากที่มีความพยายามแบบนี้ ซึ่งช่วยลดความกังวลนั้นลง และทำให้มั่นใจมากขึ้นว่าอนาคตของ Elixir จะปลอดภัยขึ้นด้วยความพยายามเชิงรุกเหล่านี้
แอบคิดติดตลกว่า การที่ LLM เขียนโค้ด Elixir ได้ไม่เก่ง อาจกลับกลายเป็นเสน่ห์ที่สุดของ Elixir ก็ได้
เคยมีประสบการณ์ว่า Claude สร้างแอป Elixir แบบฟูลสแตกที่มี LiveView รวมอยู่ด้วยได้ดีมาก ดังนั้นมีมในประเด็นนี้เหมือนจะไม่จริงเท่าไร
ช่วงหลายเดือนที่ผ่านมาได้ใช้ LLM เขียนโค้ด Elixir และคิดว่าถึงจะไม่สมบูรณ์แบบเหมือน JS แต่ก็ถือว่าทำได้ดีทีเดียว
ช่วงไม่กี่สัปดาห์ที่ผ่านมาใช้ LLM สร้างโปรโตไทป์ใหม่ โดยหลัก ๆ ใช้ Claude Sonnet 3.7 ผ่าน github copilot ใน Zed และประสบการณ์ยอดเยี่ยมมาก แม้บางครั้งมันจะพยายามใช้วิธีการเก่า ๆ แต่ก็ไม่ได้เป็นปัญหาใหญ่ และยังสร้างฟีเจอร์ใหม่ของ LiveView ได้ง่ายด้วย โดยรวมแล้วผลิตภาพไม่ได้ต่างจากที่เคยรู้สึกในโปรเจกต์ Python หรือ nextjs มากนัก น่าจะได้ประโยชน์จากการใช้แพ็กเกจที่เป็นที่นิยมและรู้จักกันดีด้วย ตอนแรกให้มันสร้างโปรเจกต์ phoenix ด้วยตัวเองก่อน แล้วค่อยปล่อยให้ LLM ทำต่อ ก็ช่วยลดการออกนอกลู่นอกทางแปลก ๆ ได้ด้วย
ในฐานะคนที่ทำงานกับ Common Lisp รู้สึกว่าน่าจะดีถ้าสามารถทำการฝึกเสริมให้ LLM ด้วยโค้ดเบสที่มีอยู่ได้ เพราะดูเหมือนว่าการอ่านเอกสารเพียงอย่างเดียวไม่ได้ช่วยให้ความแม่นยำในการสร้างโค้ดหรือความสามารถในการแก้ปัญหาทั่วไปดีขึ้นนัก
อยากถาม @chrismccord ว่านี่เป็นโปรเจกต์ร่วมระหว่าง Chris กับ Fly.io หรือไม่ เพราะค่อนข้างสับสน และสงสัยว่าเป็นไปไม่ได้ใช่ไหมที่จะดึงแอปออกมาแยกแล้วรันเองทั้งหมด ซึ่งจะหมายความว่านี่ไม่ใช่โปรเจกต์ Phoenix แบบโอเพนซอร์สหรือเปล่า
ค่อนข้างแปลกใจที่มีคนบอกว่า LLM จัดการกับ Elixir ได้ไม่ดี เพราะตัวเองเคยใช้เครื่องมือ AI กับโปรเจกต์ Phoenix/Elixir งานอดิเรกได้ค่อนข้างดี
ฉันใช้ LLM แค่กับ Elixir เลยไม่มีอะไรให้เปรียบเทียบ แต่แม้ Claude จะชอบเข้าหาปัญหาแบบหลุดประเด็นอยู่บ่อย ๆ พอให้มันอ่านคู่มือเองแล้ว มันก็ทำงานได้ดีมาก
รู้สึกได้ชัดว่า LLM เก่งเรื่อง Elixir มากขึ้นกว่าแต่ก่อน แม้งานซับซ้อนอย่าง Phoenix หรือ LiveView จะยังยากอยู่บ้าง จึงอยากรู้ว่า LLM ตัวไหนเหมาะกับ Elixir/Phoenix มากที่สุด
เมื่อคลิก “Sign in with fly.io” กลับถูกพาไปหน้าชำระเงิน แต่ไม่มีรายละเอียดว่าฟีเจอร์ใดบ้างรวมอยู่ใน ‘Built-In AI Assistance’ ราคา $20 แม้จะบอกว่ามีฟีเจอร์อย่าง build, refactor, debugging ภายใน IDE แต่ก็อยากรู้ขอบเขตที่ชัดเจน
สมัครเข้าไปดูทันทีแล้วพบว่าไม่มี free trial และเป็นโครงสร้างแบบสมัครสมาชิก $20 ทันที อีกทั้งก็ไม่ได้ระบุเพดานการใช้งานไว้ด้วย
Phoenix.new ดูทรงพลังมากและตั้งใจว่าจะต้องลองทดสอบดู แม้อาจยังไม่ใช่เฟรมเวิร์ก agentic ที่ใช้ประโยชน์จากสภาพแวดล้อม BEAM ได้เต็มที่อย่างที่ฝันไว้ แต่บางที jido อาจทำหน้าที่นั้นได้