世界を動かす技術を、日本語で。

Phoenix.new – Phoenix用リモートAIランタイム

概要

  • Chris McCord によるElixir/Phoenix向けオンラインコーディングエージェント「Phoenix.new」の紹介。
  • Fly.io 上で完全分離された仮想マシンとVSCodeベースのIDEを提供。
  • エージェントが シェルやブラウザを駆使 し、アプリ開発・テスト・デプロイまで自動化。
  • リアルタイムプレビュー やGitHub連携など、実用的な機能を多数搭載。
  • 今後は 他言語・フレームワーク対応やエージェントの進化 も視野。

Phoenix.new: ElixirとPhoenixのための次世代コーディングエージェント

  • Chris McCord が開発した、Elixir/Phoenix専用のオンラインコーディングエージェント「Phoenix.new」発表。
  • Fly.io の仮想マシン(Fly Machine)上で動作し、完全分離された環境を提供。
  • VSCodeライクなUI とシェルアクセスを備え、ローカル環境を汚さずに開発可能。
  • エージェントが root権限 でパッケージ追加やOS操作を自動で実行。
  • リアルタイムコラボレーション やライブプレビュー機能を標準搭載。
  • ブラウザをヘッドレスで操作し、 UI変更やアプリ挙動まで自動チェック
  • GitHub CLI やポートフォワーディング、プライベートURL自動発行機能を内蔵。
  • データベース連携やEctoスキーマ生成など 実用的な開発タスクも自動化
  • 他言語(Rails, React Native, Svelte, Go等)にも順次対応予定。

Phoenix.newの特長と技術的利点

  • rootシェルアクセス による柔軟な環境構築・依存関係管理。
  • エージェントがブラウザを直接操作 し、ユーザー体験やUIテストを自動化。
  • アプリ起動から クラウド上で即時公開、プレビューURL自動発行。
  • GitHub連携 により、既存プロジェクトやチーム開発への即時適用が可能。
  • エージェントが エラー検知・自動修正・PR作成 まで一貫して対応。
  • ライブリロード やリアルタイムプレビューで、開発状況を即座に可視化。

Phoenix.newがもたらす開発ワークフローの変革

  • エージェントが 本格的なフルスタックアプリ (WebSocket、Presence、DB連携等)を自動生成。
  • シェル・ブラウザを駆使し、 人間の介在なしでも開発・テスト・デプロイを完遂
  • フロントエンド・バックエンド問わず、あらゆる開発タスクに対応
  • LLMの知識と汎用性 を活かし、未知のタスクや新規フレームワークにも柔軟に適応。
  • 開発者は 環境構築やデプロイの手間から解放、本質的な課題解決に集中可能。

エージェント主導の未来と今後の展望

  • CI環境やクラウド上でエージェントが常時作業 する新しい開発スタイルの到来。
  • ローカル開発の重要性は残るが、反復作業の多くがクラウドへシフト
  • Phoenix.new自身が GitHub IssueのトリアージやPR作成 まで自動化し始めている現状。
  • 今後は 他言語・フレームワーク対応、エージェントの自律性強化 に注力予定。
  • 開発者コミュニティとの連携を通じて、 新たな開発体験の創出を目指す

Hackerたちの意見

ああ、これを見ることができて本当に嬉しいし、試してみるのが楽しみ!エリクサー好きとして、LLMがPythonやJSみたいな大きな言語ほどエリクサーをうまく書けないんじゃないかと心配してたんだ。だから、こうやって問題を解決しようとする積極的な取り組みを見て本当に嬉しいよ。安心して任せられるね。

原則として、LLMは不変な言語の方が得意なはずだよね。遠くの関数呼び出しで変数が変更されるリスクがないから。

同じく、Theoの動画を見たけど、彼はNext.jsとPythonがLLMにとって最適な言語だって言ってた。でも、モデルが推測できるなら問題ないはず。

もっと遅れを取るんじゃないかと心配してる…ライブビュー、フェニックス、エリクサー、OTPが大好きなんだけど、エコシステムは放置されたパッケージの荒野みたいになってる。もしPhoenix.newがその問題を解決する手助けをしてくれるなら、全力で応援するよ。でもそうじゃないなら、エリクサーのコミュニティリーダーは、基盤を成長させるためのインセンティブやダイナミクスを作ることに集中すべきだと思う。例えば、TypeScriptのMastraやPythonのPydanticAIと比べてみて。エリクサー?何もない。批判するつもりはないけど、ただ残念だなと思う。そうじゃなければ、他に近いものはないと思うから。

LLMがエリクサーをうまく書けないのが、今のエリクサーの最大の売りポイントかもね(笑)。

これ、めっちゃ変なミームだね。ClaudeはElixir、特にLiveViewのフルスタックアプリを圧倒するよ。

Claudeとo3はどちらも素晴らしい(ちょっと不安定だけど)Elixir開発者だね。

Claude 3.5はとても良いElixir/Phoenixコードを生成するよ。3.7はあまり試してないけど、ここからさらに良くなると思ってる。

o3を使ってるけど、Elixirとの相性がすごくいいよ。Claudeよりも好きだけど、Claudeも悪くない仕事してる。もしウェブサイトやビジネスを潰したいなら、ChatGPT-4oのコードを使ってみて。

最近の数週間、LLMを使って新しいプロトタイププロジェクトを作るのに力を入れてる。Zed内でClaude Sonnet 3.7を専ら使ってるけど、これがめちゃくちゃ素晴らしい。たまにちょっと古いスタイルのことをしようとするけど、特に問題はないよ。新しい機能を一気に出すのが得意で、liveviewでも全然いける。全体的にすごく生産的な体験で、最近の同じくらいの規模のPythonやNext.jsアプリと同等以上の成果が出てると思う。主に一般的で理解されているパッケージを使ってるから、かなり有利だと思う。最初にPhoenixプロジェクトを自分で初期化したから、変な方向に行くこともなかったしね。

これめっちゃクールだね!それに、数週間でやっちゃうなんてすごい。どうやってアプリにVS Codeを組み込んだの?Monacoみたいなプロジェクトやvscode.devがあるのは知ってるけど、他の人がそれを基にできるとは思わなかったよ。改めて、すごいね!

これめっちゃクールに見えるけど、ちょっと不安なのは、明らかに(?)クローズドソースでホスティングされてるってことかな。新しいPhoenixプロジェクトを生成するのは「mix phx.new」だけど、「Phoenix.new」はクローズドソースのFly.io製品でPhoenixプロジェクトを作るためのもの?LLMプロバイダーがオープンソースのエージェントコーディングツールを公開して、OSSのウェブアプリフレームワークがクローズドソースのエージェントコーディングツールを出すって、ちょっと変な状況になってきてる気がする。これが公式の「Phoenix」プロジェクトじゃないかもしれないけど、DHHがクローズドソースのホスティング「Rails.new」サービスを出すのと似てる気がする。

フェニックスのクリエイターだよ。これについて質問があれば何でも答えるよ!それに、phoenix.newは地球規模のエリクサークラスターなんだ。オーストラリアでサインアップすると、シドニーにIDEとエージェントが配置されるよ。

素晴らしい仕事だね。ちょっと確認したいことがあるんだけど、「Phoenix.new」のブランディングがちょっと混乱してる。だって「Phoenix」ってElixirアプリのウェブフレームワークのイメージがあるから、これがそれ以上のものに見えるんだ。 - 「Phoenix.new」ってIDEなの? - 「Phoenix.new」って、ElixirのPhoenixウェブフレームワークを使ってアプリを作るためのAIなの? - 「Phoenix.new」はアプリをFly.ioでホスティング/デプロイする必要があるの?もしそうなら、「phoenix.flyio.new」みたいな名前の方が良くて、Fly.ioがデプロイを手助けするサービスに拡張性があると思うんだけど(Phoenix/Elixirもその一つだし) - それとも上の3つ全部なの?それと、Tidewave.aiとの比較はどうなの?(Elixirのクリエイターが作ったって聞いてるけど)もし話が混ざってたらごめんね。

LLMサービスを呼び出すためのパッケージってある?このサービスは面白いけど、Elixirで作られた別のLLM IDEは必要ないんだ。むしろElixirからLLMを呼び出す方法が本当に欲しい。

これ、ユーザーセッションごとにライブElixirクラスターを立ち上げるんだね。分散ノード間でのホットコードリロードはどうやって処理してるの?

AIエージェントはアプリと同じリモートランタイム内で動いてるんだ。BEAM VMを共有してるの?それともポートプロセスとして動いてるの?

AIエージェントの状態をアプリレベルのプロセスからどうやって隔離してるの?BEAMの監視保証を壊さずに。

Fly APIを使って孤立した環境を構築することについて、何かポイントはありますか?Phoenix.newに似たことを、ローコードのサーバーレスワークフローシステムでやろうと思ってるんです。

これ、めっちゃすごい!使えば使うほどPhoenixが好きになる。これの料金ってどうなってるの?インスタンスの通常のFlyの料金なのかな?AIのコストとか環境のコストはあるの?それと、異なるドメインで複数のプロジェクトができるの?

生成されたアプリはFly.ioにどれくらい依存してるの?

  1. アクセシビリティへのアプローチはどうしてる?phoenix.newのUIのアクセシビリティをテストしてる?多くの人がPhoenixを使ってフロントエンドを書くから、そのフロントエンドのアクセシビリティについて評価を行ったことはある? 2. サードパーティのライブラリはどう扱ってる?エージェントはライブラリのドキュメントにアクセスできるのかな?Elixirはメインストリームの言語に比べて人気がないから、トレーニングデータも少ないし、これって解決すべき重要な問題に思える。

こんにちは、確認したいんだけど、セキュリティや提出したコードをトレーニング目的で使うことに関する情報が見当たらないんだ。そっちのセキュリティポリシーはどこにあるの?

すごいデモだね!こんなエージェントを作るにはどうすればいいの?エージェントのデザインを学ぶための良いリソース知ってる人いる?ツールに依存しないリソースだと最高なんだけど。

ありがとう!この分野はほんとに複雑すぎるよね。実際は思ってるよりずっと簡単だと思うよ。オープンな秘密は、ただのループで「POST [provider]/chat/completions」してるだけなんだ。Elixirはここに特に向いてるね。Elixirでは、これはHTTP POSTを行ってトークンストリームに反応するgenserverなんだ。LiveViewチャットは、地球上のどこにいてもgenserverエージェントからメッセージを受け取るし、そのエージェントはIDEマシンと定期的にメッセージをやり取りするphoenixチャネルのWebSocketとも通信してる。これについては、ElixirConfEUのトークでも結構話してるから、詳しくはここを見てね:https://youtu.be/ojL_VHc4gLk?si=MzQmz-vofWxWDrmo&t=1040

ここでの「LLMはElixirにあまり向いてない」っていう意見にちょっと驚いてる。私はPhoenix/ElixirのサイドプロジェクトでAIツールを使った経験がかなり良かったんだけど。

LLMは確実にElixirに対して以前よりは良くなってるよね。ギャップは少し縮まったけど、まだ感じる部分がある。特にPhoenixやLiveViewで複雑なことをしようとするときは(ただのElixirとは違って)。どのLLMを使ってるとElixir/Phoenixに一番合ってると思う?

Phoenix.newはどのLLMを使ってるの?

「fly.ioでサインイン」って言ったら、20ドル払うページに飛ばされたんだけど、プランの詳細が曖昧で、「$20/月のBuilt-In AI Assistance Builds、refactors、そしてIDE内でデバッグ」って具体的に何が含まれてるの?

Phoenix.newはすごくパワフルに見えるね。絶対に試してみるよ。BEAMを最大限に活かすエージェントフレームワークを夢見てるんだけど、これじゃないけど、もしかしたらjido[0]が探してるものかも。0. https://github.com/agentjido/jido

今日学んだこと;これはすごく面白いライブラリだね。

うーん、試してみようと思ってサインアップしたけど、トライアルはなくて「$20/月の内蔵AIアシスタンス」だけで、使用制限についての言及がないのはどういうこと?

同じく。エージェントはかなり高額になることがあるよね。それに、実際にどれだけ信頼性があって効果的なのか全く分からない。まずは試してみたいな。