- Phoenix.new es un agente de codificación con IA totalmente en línea especializado en Elixir y el framework Phoenix
- Los usuarios pueden escribir código en un IDE basado en navegador mediante una máquina virtual aislada y compartir el shell root con el agente
- El agente de Phoenix.new controla directamente el navegador para probar la UI y automatiza desde modificaciones de código hasta despliegues e integración con GitHub
- Los usuarios pueden revisar el progreso del desarrollo mediante previsualización de la app y monitoreo de logs en tiempo real
- Se planea expandirlo a varios lenguajes y frameworks, lo que hace anticipar cambios en los flujos de trabajo de desarrollo del futuro
Introducción
- Chris McCord es el desarrollador que creó el framework Phoenix de Elixir
- Recientemente, en Fly.io se enfocó en un proyecto privado para crear un entorno donde los agentes LLM funcionen en Elixir y Phoenix tan bien como en Python o JavaScript
- Como resultado del proyecto, se presentó Phoenix.new
- Phoenix.new es un agente de codificación con IA para Elixir y Phoenix que funciona completamente en línea y viene con todas las funciones incluidas
- Se destaca como una herramienta optimizada para colaboración en tiempo real y prototipado rápido
Características principales de Phoenix.new
- Aunque funciona en un entorno de navegador, ofrece tanto al usuario como al agente un shell root en una máquina virtual aislada creada con Fly Machine
- El usuario puede acceder al shell como espera hacerlo desde una interfaz estilo VSCode
- El agente está especializado en Phoenix y entiende los requisitos de las aplicaciones colaborativas en tiempo real
- Phoenix.new integra un navegador, y el agente lo controla en modo "headless" para probar e interactuar con cambios en el frontend
- En lugar de capturas de pantalla, puede entender el contenido real de la página y el estado de JavaScript
Ventajas del acceso root
- El agente puede abrir directamente el shell como lo haría un usuario y realizar experimentos de desarrollo
- Como se trata de un entorno de VM aislado, también puede hacer cosas como agregar paquetes a
mix.exso instalar paquetes APT a nivel de sistema - Esta estructura automatiza gran parte del trabajo repetitivo y molesto
- Todas las apps generadas funcionan de inmediato en la nube y reciben automáticamente URL privadas para compartir (dominio
.phx.run), port forwarding integrado, integración con GitHub y guardrails de infraestructura de Fly.io (virtualización, WireGuard, red aislada) - El CLI
ghde GitHub viene instalado por defecto, por lo que el agente también puede realizar tareas de colaboración en equipo como clonar repositorios, revisar issues y crear PRs - Con el ciclo de despliegue y pruebas automatizado ya disponible, el agente se encarga desde ejecutar la app hasta detectar y corregir errores
Verificación de compilación en tiempo real
- Phoenix.new ejecuta un navegador real para probar aplicaciones web
- Al agregar funciones al frontend, no solo escribe y compila código, sino que manipula directamente la UI mientras verifica al mismo tiempo la página, el estado de JavaScript y los logs del servidor
- Su propia UI incluye una previsualización en vivo de la app, lo que permite monitorear en tiempo real el desarrollo y los cambios
- Los cambios también se sincronizan en tiempo real entre varias pestañas de
.phx.run
Puede hacer más que simple prototipado
- Ya se ha usado para desarrollar apps full stack con WebSocket, Phoenix Presence y bases de datos reales integradas
- Todo lo que se puede hacer desde el shell y el navegador puede ser manejado por el agente, ya sea automáticamente o a solicitud del usuario
- Después de configurar
$DATABASE_URL, puede explorar la base de datos, proponer esquemas de Ecto e incluso instalar un cliente MySQL
- Después de configurar
- Los LLM modernos tienen conocimiento amplio y capacidad de generalización, por lo que también se espera su expansión a nuevos lenguajes y frameworks
- Ejemplo: una experiencia exitosa de programar “al vuelo” una app Tetris con Phoenix LiveView; en el futuro también podría abarcar Rails, React Native, Svelte, Go y más
- Aunque el system prompt está centrado actualmente en Phoenix, se expresa la intención de expandirse a otros lenguajes y frameworks
Perspectiva de la era de los agentes asíncronos
- Se enfatiza que estamos en un momento de gran cambio en el flujo de trabajo de los desarrolladores
- Se prevé que el desarrollo del futuro cambie desde manejar archivos en un shell local hacia una forma liderada por agentes en entornos de CI asíncronos
- Aunque el desarrollo local no desaparecerá, la mayoría de las tareas repetitivas se moverán a entornos en la nube centrados en agentes
- De hecho, Phoenix.new ya se está usando en tareas cotidianas como clasificar issues de
phoenix-corey crear PRs para resolver problemas - Chris McCord expresa entusiasmo y grandes expectativas por este cambio y por las posibilidades futuras de Phoenix.new
1 comentarios
Opiniones en Hacker News
Este servicio realmente me parece impresionante; quisiera destacar dos innovaciones que considero las más importantes aquí
Quisiera recomendar Kasm Workspaces: permite levantar libremente desde remoto un entorno de escritorio Linux basado en Docker, y también encaja muy bien como entorno de desarrollo para IA. Además, soporta persistencia del directorio home y de paquetes, enlace de Docker Hub, discusión en Reddit sobre persistencia de paquetes
Hay quien opina que lo innovador es que un agente pueda moverse libremente dentro de un entorno contenerizado, pero me pregunto si realmente eso es tan innovador.
Aclaro que soy el fundador de Phoenix; si tienen preguntas, puedo responderlas. Como referencia, phoenix.new es un clúster global de Elixir desplegado por todo el mundo; por ejemplo, si te registras desde Australia, se te asignan un IDE y un agente en Sídney.
Gran trabajo. Viendo la marca Phoenix.new, me quedó algo de confusión sobre si esto es lo mismo que el framework web de Elixir que ya conocía, o algo más que eso.
phoenix.flyio.newno reflejaría mejor ese propósito?Me enteré de que el entorno de Phoenix.new incluye un navegador Chrome headless y que el agente puede manipularlo. Si le ordenas agregar funcionalidad al frontend, no solo escribe código y hace pasar compilación y lint, sino que también levanta la app, manipula la UI y revisa al mismo tiempo el contenido de la página, el estado de JavaScript y los logs del servidor. Me pregunto si sería posible ejecutar localmente ese navegador headless y el agente en un entorno como Cursor.
No pude encontrar documentación sobre la política de seguridad ni sobre si el código enviado por los usuarios se usa para entrenamiento. Me gustaría saber dónde se puede consultar esa política.
Me gustaría saber qué enfoque tienen respecto a accesibilidad (Accessibility) y si hacen pruebas de accesibilidad sobre la UI de phoenix.new. Como mucha gente también construye frontend con Phoenix, quisiera preguntar si han evaluado la accesibilidad del frontend generado.
Si puedes compartir alguna perspectiva sobre el aprovisionamiento de entornos aislados usando la API de Fly, me interesaría mucho; yo también estoy intentando un enfoque parecido para un sistema de flujos low-code serverless.
Como alguien a quien le gusta Elixir y que cree en el futuro de la IA agentic, este servicio me parece muy genial. Tengo curiosidad por el manejo del contexto y por los modelos que usan.
No me queda claro si Phoenix.new es un producto de Fly.io o un proyecto bajo su paraguas. También me pregunto si la política de precios está explicada con claridad, sobre todo los costos adicionales relacionados con despliegues web permanentes; desde el móvil me costó encontrar esa información en la página principal.
Me preocupaba mucho que Elixir se quedara atrás en el soporte de LLM, así que me alegra mucho ver esfuerzos como este, porque alivian esa preocupación. Gracias a intentos activos como este, me da más confianza en que el futuro de Elixir será más seguro.
Me hace pensar, medio en broma, que el hecho de que los LLM no escriban tan bien código Elixir podría terminar siendo el mayor encanto de Elixir.
He tenido la experiencia de que Claude generó bastante bien una app full-stack de Elixir con LiveView incluido. Siento que ese meme no es un hecho, sino más bien una percepción.
En los últimos meses he usado LLM para escribir código en Elixir y, aunque no llega al nivel de JS, me parece que funciona bastante bien.
En las últimas semanas he estado creando nuevos prototipos con ayuda de LLM. Principalmente usé Claude Sonnet 3.7 con GitHub Copilot en Zed, y la experiencia fue excelente. A veces intenta usar formas anticuadas, pero no suele ser un gran problema. También crea con facilidad nuevas funciones de LiveView. En general, no sentí una diferencia grande en productividad respecto a proyectos en Python o Next.js. Probablemente también ayudó que usé paquetes populares y conocidos. Al principio hice que generara yo mismo el proyecto Phoenix y luego se lo dejé al LLM, y así también se redujo que se desviara hacia direcciones raras.
Desde la perspectiva de alguien que trabaja con Common Lisp, creo que sería bueno poder complementar el entrenamiento del LLM con la codebase existente. No parece que solo leer documentación mejore realmente la precisión al generar código ni la capacidad general para resolver problemas.
Quisiera preguntarle a @chrismccord: me confunde si esto es un proyecto conjunto entre Chris y Fly.io. ¿No es posible separar completamente la app y operarla por cuenta propia? ¿Eso significaría que no es el proyecto open source de Phoenix?
Me sorprende la idea de que los LLM no manejan bien Elixir. Yo he tenido experiencias bastante buenas usando herramientas de IA en side projects con Phoenix/Elixir.
Yo solo he usado LLM con Elixir, así que no tengo con qué compararlo, pero aunque Claude a veces se va por caminos extraños, si le haces leer el manual directamente luego funciona bastante bien.
Siento claramente que la capacidad de los LLM con Elixir ha mejorado bastante respecto a antes. En tareas complejas como Phoenix o LiveView sigue habiendo dificultades, más que con Elixir simple. Me pregunto qué LLM encaja mejor con Elixir/Phoenix.
Al hacer clic en "Sign in with fly.io" te lleva a la página de pago, pero no hay detalle sobre qué incluye exactamente la opción de "Built-In AI Assistance" por $20. Dice que ofrece funciones dentro del IDE como build, refactor y debugging, pero quisiera entender claramente cuál es el alcance.
Me registré enseguida para revisarlo y vi que no hay prueba gratuita: solo se puede entrar directamente a la suscripción de $20. Tampoco se especifica ningún límite de uso.
Phoenix.new se ve potente y definitivamente pienso probarlo. Todavía no es el framework agentic que yo soñaba para aprovechar al máximo el entorno BEAM, pero quizá jido pueda cumplir ese papel.