ディスカッション (11件)
「Plain」は、人間による開発はもちろん、AIエージェントによるコーディングや運用も考慮して設計された、新しいフルスタックPythonフレームワークです。Web開発の複雑さを排除し、直感的な体験を提供することを目指しています。
Djangoをフォークして、なんか適当にいろいろ変えただけに見えるんだけど?
いいじゃん。この考え方はすごく好き。自分もサイドプロジェクトの「バイブ・コーディング(LLM任せの開発)」のほとんどにDjangoを使ってきたけど、まさにこの論文で言及されている理由と同じなんだよね。
Djangoのコードはパッとレビューしやすいし、LLMも書き慣れてる。
ただDjangoはもう古くて肥大化してるから、フォークして整理するのは良いアイデアだと思う。次のサイドプロジェクトで使ってみようかな。
これも「バイブ・コーディング」か。パスで。
こういうの、ずっと考えてたんだよね。コーディングでLLMを使うなら、人間がレビューする行数を可能な限り減らせるのが大きなメリットだと思う。中身が詰まったカスタムメイドのDSLで設定を記述し、ビジネスロジックは最小限のコードで済むようなアプリなら、人間は素早くレビューできるし、LLMも操作しやすい(優れたドキュメントやLint、エラー表示、あるいは将来的なファインチューニングモデルがあればの話だけど)。
「慣習に従う」とか「オピニオン重視のデフォルト設定」で動くものはすべて、ノイズやレビューが必要な行数を減らす助けになる。
すべてのプロジェクトに最適とは限らないけど、このアプローチは多くの開発において有効だと確信してる。複雑性の削減は、「エージェント駆動開発」をサステナブルにするための重要な要素の一つになるはず。
要約:
- Djangoのフォーク
- オピニオン重視(独自の設計思想あり)
- 型付け済み
- スキル/ルール/ドキュメントが組み込み済み
理屈はわかるし反対じゃないけど、既存のものと比べて何がそんなに優れているのかよくわからないな。自分で「バイブ・コーディング」しなくて済む分、トークンを節約できるくらい?
将来的にエージェント向けに最適化された新しいライブラリは出てくると思うけど、これがそうなのかは疑問。
「エージェントのため」に新しいものを発明するのって、いつも逆効果な気がする。新しい技術は学習データに含まれていないから、その使い方を一から教えなきゃいけない。なぜすでに学習データにある技術を使わないのか?エージェントはPythonとDjangoを知ってる。あるいは、Goの方がいいかもしれない(エージェントがコードを書くなら、パフォーマンスやメンテナンス性、デプロイのしやすさの面で余計な手間がかからないから)。
LLMの性質上、膨大な学習データから知っているもの以上に、エージェントが使いこなせるような新しい発明品を作ることはできない。スキルとして教え込むことはできるし、それは役に立つけど、結局それは彼らにとっての「母国語」じゃないからね。
本当にエージェントのためのものを作るなら、10年前に人間向けの人気のツールを作っておいて、学習のための膨大なコードとドキュメントを蓄積しておく必要がある。
これ結構良さそう。ここの反AI的なコメントには正直うんざりする。
Djangoのコードベースと比較してみると、トップレベルのモジュール構成がずっと整理されていて、AIにとっても発見しやすくなってる。各モジュールの中には詳細なREADMEがあって、エージェント(と人間)に役立つ説明や例が詰まってる。これを「粗悪品」とか「適当な変更」と切り捨てる理由がわからないな。フレームワークが向かうべき方向性としてかなり自然だと思うけど。
Plainの開発をずっとワクワクしながら追ってるんだ。Djangoの荒削りな部分が、一貫性のある綺麗なソリューションで解決されていくのを見るのは最高。
Dave Gaeddertさん、素晴らしい仕事だ!
他のコメントで「粗悪品」なんて言われてるのを見ると悲しくなるよ。彼は「バイブ・コーディング」が流行るずっと前からこれに取り組んでいたんだ!本当に優れた設計判断がたくさん詰まってるし、「エージェント向け」というマーケティング戦略だけで切り捨ててほしくないな。
プロジェクトの「Getting Started」ガイドでこのパターンを見たのは初めてかも:
claude "$(curl -sSf https://plainframework.com/start.md)"
https://plainframework.com/start.md
通常は以下が実行されるみたいだね:
uvx plain-start .
これが中身:https://tools.simonwillison.net/zip-wheel-explorer?package=p...
ここのコメント欄の批判なんて無視していいよ。ソフトウェア開発が急速にエージェント駆動に向かっているという潮流を否定する人は、いずれ自分でツケを払うことになるんだから……。
このコンセプトはすごくいいと思う。自分はRails派だけど、Djangoの価値も認めてるし、それをエージェント向けに最適化するという発想は理にかなってる。
次の論理的なステップは、これをGoやRustで実装してパフォーマンスをさらに高め、単一バイナリでのデプロイを可能にすることじゃないかな。