3 puntos por GN⁺ 2025-06-21 | 1 comentarios | Compartir por WhatsApp
  • 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.exs o 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 gh de 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
  • 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-core y 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

 
GN⁺ 2025-06-21
Opiniones en Hacker News
  • Este servicio realmente me parece impresionante; quisiera destacar dos innovaciones que considero las más importantes aquí

    1. Agentes remotos: este entorno está contenerizado, así que el agente puede actuar con libertad, sin necesidad de intervención ni aprobación del usuario; claro, también pueden ocurrir errores graves como reescribir el historial de git, pero al estar aislado sigue siendo relativamente seguro. Solo esta parte ya se siente como algo que valdría la pena convertir en un servicio aparte. Personalmente, cuando ejecuto Claude Code en la terminal, me gustaría que el agente se iniciara automáticamente en un entorno aislado (local o remoto), y así el trabajo en paralelo se volvería más fácil.
    2. Integración profunda con Fly: creo que en adelante veremos muchos intentos de incrustar IA de forma profunda en todo tipo de productos. No me refiero a preguntarle algo a ChatGPT y luego copiar y pegar el resultado, sino a una experiencia donde trabajas directamente con los datos y las tareas dentro del producto que ya usas, recibiendo retroalimentación en tiempo real. Aquí, un ejemplo sería desplegar de inmediato una web app.
    • 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.new ofrece un IDE?
      • ¿Da soporte de IA al crear apps con el framework web Phoenix?
      • ¿Es obligatorio desplegar en Fly.io? Si es así, ¿un nombre como phoenix.flyio.new no reflejaría mejor ese propósito?
      • ¿O incluye todas esas funciones al mismo tiempo?
      • Y comparado con Tidewave.ai, ¿cuál sería el diferenciador? (Según entiendo, Tidewave.ai fue hecho por el creador de Elixir).
      • Y si estoy mezclando temas, disculpas.
    • 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.

      • Y además, ¿cómo manejan las bibliotecas de terceros? ¿El agente puede acceder a la documentación de esas librerías?
      • Como Elixir no es un lenguaje masivo, imagino que puede haber poca data de entrenamiento, así que me parece importante cómo resuelven ese problema.
    • 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.

    • Últimamente siento que Gemini es el que mejor se desempeña dentro de la ventana de contexto disponible, pero sus límites son claros. Cuando trabajo con Claude Code, trato de dividir por unidades de trabajo y de gestionar bien el estado del proyecto para mantener el tamaño del contexto bajo control.
    • El video de demostración fue impresionante, pero también me da la impresión de que si sigues avanzando en el proyecto, eventualmente va a perder el rumbo o a mezclar contextos.
    • En ese caso, me pregunto si se puede hacer que resuma los puntos principales, o iniciar una sesión limpia basada en ese resumen, o hacer que “olvide” archivos innecesarios para volver a concentrarse en desarrollar funcionalidades.
  • 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?

    • Solo comparto que se puede usar simplemente clonando el código con git.
  • 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.

    • La gente involucrada no ha dejado de presionar a Chris para que lo lance cuanto antes, así que cosas como el empaquetado o la información de precios todavía se están terminando de ordenar. Gracias por señalarlo; planeamos agregar más detalles dentro de aproximadamente una semana.
  • 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.

    • A mí me pasó lo mismo. Las funciones de agente podrían tener un costo alto, y todavía no conozco bien su confiabilidad ni su eficiencia. Me gustaría poder probarlas primero.
  • 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.

    • Me parece una librería muy interesante que conocí hoy.