- Phoenix.new là một AI coding agent hoàn toàn trực tuyến được tối ưu riêng cho Elixir và framework Phoenix
- Người dùng có thể viết mã trong IDE chạy trên trình duyệt, thông qua máy ảo cách ly, đồng thời chia sẻ root shell với agent
- Agent của Phoenix.new có thể điều khiển trực tiếp trình duyệt để kiểm thử UI, đồng thời tự động hóa từ chỉnh sửa mã, triển khai cho đến tích hợp GitHub
- Người dùng có thể theo dõi tiến độ phát triển thông qua xem trước ứng dụng theo thời gian thực và giám sát log
- Có kế hoạch mở rộng sang nhiều ngôn ngữ và framework khác nhau, tạo kỳ vọng về sự thay đổi trong quy trình phát triển tương lai
Giới thiệu
- Chris McCord là lập trình viên đã tạo ra framework Phoenix của Elixir
- Gần đây tại Fly.io, ông đã tập trung vào một dự án bí mật nhằm tạo ra môi trường nơi các agent LLM có thể hoạt động với Elixir và Phoenix tốt như với Python hay JavaScript
- Kết quả của dự án đó là sự ra mắt của Phoenix.new
- Phoenix.new là một AI coding agent dành cho Elixir và Phoenix hoạt động hoàn toàn trực tuyến, với đầy đủ tính năng
- Đây được nhấn mạnh là công cụ tối ưu cho cộng tác thời gian thực và tạo prototype nhanh
Các đặc điểm chính của Phoenix.new
- Hoạt động trong môi trường trình duyệt, nhưng vẫn cung cấp cho cả người dùng lẫn agent root shell của một máy ảo cách ly được tạo bằng Fly Machine
- Người dùng có thể truy cập shell đúng như mong muốn trong giao diện kiểu VSCode
- Agent được tối ưu riêng cho Phoenix nên hiểu được các yêu cầu của ứng dụng cộng tác thời gian thực
- Phoenix.new tích hợp sẵn trình duyệt, để agent điều khiển nó ở chế độ "headless" nhằm kiểm thử và tương tác với các thay đổi ở frontend
- Thay vì chỉ chụp màn hình, nó có thể nắm được nội dung trang thực tế và trạng thái JavaScript
Lợi ích của quyền truy cập root
- Agent có thể mở shell trực tiếp như người dùng và tự tiến hành các thử nghiệm phát triển
- Vì là môi trường VM cách ly, mọi hành động như thêm package vào
mix.exshay cài gói APT ở cấp hệ thống đều có thể thực hiện - Cấu trúc này tự động hóa phần lớn các công việc lặp đi lặp lại và gây phiền toái
- Tất cả ứng dụng được tạo ra đều chạy ngay trên cloud, đồng thời tự động được cung cấp URL chia sẻ riêng tư (miền
.phx.run), tích hợp port forwarding, kết nối GitHub và các guardrail hạ tầng của Fly.io (ảo hóa, WireGuard, mạng cô lập) ghCLI của GitHub được cài sẵn mặc định, nên agent cũng có thể thực hiện các công việc cộng tác nhóm như clone repository, xem issue, tạo PR- Vòng lặp triển khai và kiểm thử tự động đã sẵn sàng, cho phép agent xử lý từ khởi chạy ứng dụng đến phát hiện và sửa lỗi
Xác nhận bản build theo thời gian thực
- Phoenix.new chạy trình duyệt thực để kiểm thử ứng dụng web
- Khi thêm tính năng frontend, nó không chỉ viết và biên dịch mã mà còn trực tiếp thao tác UI, đồng thời kiểm tra song song trang, trạng thái JavaScript và log máy chủ
- Live app preview được tích hợp trong chính giao diện của nó, cho phép theo dõi quá trình phát triển và thay đổi theo thời gian thực
- Các thay đổi cũng được đồng bộ theo thời gian thực trên nhiều tab
.phx.run
Không chỉ dừng ở prototyping đơn giản
- Công cụ này đã được dùng để phát triển ứng dụng full-stack hoàn chỉnh có WebSocket, Phoenix Presence và cơ sở dữ liệu thực
- Mọi việc có thể làm trong shell và trình duyệt đều có thể được agent xử lý tự động hoặc theo yêu cầu của người dùng
- Hỗ trợ như khám phá cơ sở dữ liệu sau khi thiết lập
$DATABASE_URL, đề xuất schema Ecto, cài MySQL client, v.v.
- Hỗ trợ như khám phá cơ sở dữ liệu sau khi thiết lập
- Các LLM hiện đại có kiến thức rộng và khả năng khái quát hóa tốt, nên có thể kỳ vọng mở rộng sang ngôn ngữ và framework mới
- Ví dụ: đã từng thành công khi code "tại chỗ" một ứng dụng Phoenix LiveView Tetris; trong tương lai có thể hỗ trợ Rails, React Native, Svelte, Go, v.v.
- System prompt hiện tập trung vào Phoenix, nhưng đã bày tỏ ý định mở rộng sang ngôn ngữ và framework khác
Triển vọng của kỷ nguyên agent bất đồng bộ
- Bài viết nhấn mạnh rằng đây là thời điểm quy trình làm việc của lập trình viên đang thay đổi mạnh mẽ
- Trong tương lai, phát triển phần mềm được dự đoán sẽ chuyển từ cách xử lý tệp trong shell cục bộ sang mô hình do agent dẫn dắt trong môi trường CI bất đồng bộ
- Dù phát triển cục bộ sẽ không biến mất, phần lớn công việc lặp lại sẽ chuyển sang môi trường cloud lấy agent làm trung tâm
- Trên thực tế, Phoenix.new đã được dùng hằng ngày cho các việc như phân loại issue của
phoenix-corevà tạo PR sửa lỗi - Chris McCord bày tỏ sự phấn khích và kỳ vọng về thay đổi này cũng như tiềm năng tương lai của Phoenix.new
1 bình luận
Ý kiến trên Hacker News
Tôi thấy dịch vụ này thực sự ấn tượng, và muốn nêu ra hai đổi mới quan trọng nhất ở đây
Tôi muốn đề xuất Kasm Workspaces, có thể tự do khởi chạy môi trường desktop Linux từ xa dựa trên docker, và cũng rất phù hợp làm môi trường phát triển AI; nó còn hỗ trợ tính bền vững cho thư mục home và các gói, liên kết docker hub, thảo luận trên reddit về tính bền vững của gói
Có ý kiến cho rằng việc agent có thể tự do đi lại trong môi trường container hóa là một đổi mới, nhưng tôi vẫn băn khoăn không biết nó có thực sự mang tính đột phá không
Xin nói rõ tôi là người sáng lập Phoenix, nếu có gì thắc mắc tôi có thể trả lời; tham khảo thêm thì phoenix.new là một cụm Elixir toàn cầu được triển khai trên khắp thế giới, ví dụ nếu bạn đăng ký từ Úc thì IDE và agent sẽ được gán ở Sydney
Công việc rất tuyệt, nhưng khi nhìn thương hiệu Phoenix.new tôi hơi bối rối, không rõ đây có phải cùng thứ với framework web Elixir mà tôi vốn biết hay còn hơn thế nữa
Tôi được biết môi trường Phoenix.new có kèm trình duyệt Chrome không giao diện và agent có thể điều khiển nó; khi ra lệnh thêm tính năng frontend, nó không chỉ viết code rồi cho qua compile và lint, mà còn tự chạy ứng dụng, thao tác UI và đồng thời kiểm tra nội dung trang, trạng thái JavaScript và log máy chủ; tôi muốn biết liệu có thể chạy trình duyệt không giao diện và agent này cục bộ trong môi trường như Cursor không
Tôi không tìm thấy tài liệu nào về chính sách bảo mật hay việc mã do người dùng gửi lên có bị dùng cho mục đích huấn luyện hay không; muốn biết có thể xem chính sách bảo mật liên quan ở đâu
Tôi muốn hỏi họ tiếp cận vấn đề khả năng truy cập như thế nào, có kiểm thử khả năng truy cập cho UI của phoenix.new không; nhiều người cũng viết frontend bằng Phoenix nên tôi cũng muốn hỏi liệu họ đã từng đánh giá khả năng truy cập của frontend được tạo ra chưa
Nếu có insight nào về việc provision môi trường cô lập bằng Fly API thì bạn có thể chia sẻ không; tôi cũng đang thử một cách tiếp cận tương tự cho hệ thống workflow serverless low-code
Là người thích Elixir và tin vào tương lai của agentic AI, tôi thấy dịch vụ này rất tuyệt; tôi có vài câu hỏi về quản lý ngữ cảnh và mô hình đang dùng
Tôi không chắc Phoenix.new là sản phẩm của Fly.io hay là một dự án trực thuộc của họ, cũng muốn biết chính sách giá có được nêu rõ không, đặc biệt là các chi phí bổ sung như triển khai web service vĩnh viễn; trên di động tôi thấy khá khó tìm những thông tin này ở trang đầu
Tôi từng rất lo Elixir sẽ bị tụt lại về hỗ trợ LLM, nên thật mừng khi thấy những nỗ lực như thế này giúp giảm bớt nỗi lo đó; nhờ các thử nghiệm tích cực này mà tôi có cảm giác tương lai của Elixir sẽ an toàn hơn
Tôi còn đùa rằng việc LLM không viết Elixir tốt có khi lại là sức hấp dẫn lớn nhất của Elixir
Tôi từng có trải nghiệm Claude tạo ra ứng dụng Elixir full-stack có cả LiveView rất tốt; cảm giác là meme về chuyện này không thật sự đúng
Vài tháng gần đây tôi đã dùng LLM để viết code Elixir, và dù không hoàn hảo như với JS thì tôi vẫn thấy khá ổn
Trong vài tuần gần đây tôi đang dùng LLM để làm các prototype mới, chủ yếu dùng Claude Sonnet 3.7 qua github copilot trong Zed và trải nghiệm rất tuyệt; thỉnh thoảng nó cố dùng cách làm cũ, nhưng không phải vấn đề lớn; nó cũng tạo được tính năng LiveView mới khá dễ dàng; nhìn chung năng suất không khác quá nhiều so với khi tôi làm dự án Python hay nextjs; có lẽ tôi cũng hưởng lợi vì chủ yếu dùng các package phổ biến, được biết đến rộng rãi; lúc đầu tôi tự tạo dự án phoenix rồi mới giao cho LLM thì tình trạng nó đi chệch hướng kỳ quặc cũng giảm đi
Là người làm với Common Lisp, tôi nghĩ sẽ rất tốt nếu có thể bổ sung huấn luyện cho LLM bằng codebase hiện có; chỉ đọc tài liệu có vẻ không giúp cải thiện nhiều độ chính xác khi sinh mã hay năng lực giải quyết vấn đề nói chung
Tôi muốn hỏi @chrismccord, nhưng đang hơi lẫn lộn không biết đây là dự án hợp tác giữa Chris và Fly.io hay sao; có phải không thể tách ứng dụng ra để tự vận hành hoàn toàn không, và điều đó có nghĩa đây không phải dự án Phoenix mã nguồn mở không
Tôi khá bất ngờ trước ý kiến cho rằng LLM xử lý Elixir không tốt; bản thân tôi đã dùng các công cụ AI khá ổn cho các side project Phoenix/Elixir
Tôi chỉ dùng LLM với Elixir nên không có đối tượng để so sánh, nhưng dù Claude đôi khi tiếp cận theo hướng kỳ quặc, sau khi cho nó đọc tài liệu chính thức thì nó hoạt động khá tốt
Tôi cảm thấy khả năng của LLM với Elixir rõ ràng đã tốt hơn trước rất nhiều; so với Elixir đơn thuần thì các tác vụ phức tạp hơn như Phoenix, LiveView vẫn còn khó; tôi tò mò không biết LLM nào hợp nhất với Elixir/Phoenix
Khi nhấn "Sign in with fly.io" thì nó chuyển sang trang thanh toán, nhưng không có thông tin chi tiết về những gì được bao gồm trong mục ‘Built-In AI Assistance’ giá $20; có nói là IDE cung cấp các tính năng như build, refactor, debug, nhưng tôi muốn biết phạm vi cụ thể rõ hơn
Tôi vừa đăng ký thử thì thấy không có dùng thử miễn phí mà vào thẳng gói thuê bao $20, và cũng không ghi rõ giới hạn sử dụng
Phoenix.new trông rất mạnh và tôi chắc chắn sẽ thử; tuy chưa hẳn là framework agentic tận dụng tối đa môi trường BEAM mà tôi mơ tới, nhưng có lẽ jido có thể đảm nhận vai trò đó