戻る

LLMによるソフトウェア開発

ここ何週間かLLMによるソフトウェア開発を試して、これまでのローコード、ノーコードとは全く別物という感触は受け、プロンプトに収まる小規模のコードであれば、かなりいい精度で試作、保守できそうなことが分かった。

一方で一度にゴソッと依頼しても一般論ではぐらかされてしまうので順を追って一つずつ依頼するとか、プロンプトの記載粒度によっていい感じに行間を読んでくれることもあれば、馬鹿正直に不思議なコードが返ってくることもある。

デグレもしょっちゅう起きるし、ありもしないライブラリを期待するハルシネーションが起こることもあって、意外と人間と同じように試行錯誤するところに伴走していると、それなりに時間が溶けていく。

ChatDevなんかがやっているように、人間とLLMでペアプロするのではなしに、様々な役割のLLMを置いて、それぞれの役割を担当させて、全体をGitHubなりで束ねる仕掛けが遠からず出てくるだろうし、頑張ればissueを起票しておくと、朝までに直してくれている時代が遠からずきても驚かない。

アルゴリズムの改善を通じてコンテキスト長の制約は徐々に緩和されていくだろうが、それでも細粒度で課題を分割して、一つ一つテストしながら結合していかないと、仕様や品質の管理が難しいだろうし、そうしたモジュール化やCI/CDを支援するフレームワークができて、その上で人間の開発者とLLMが協調していくことになるのだろう。

そういった仕組みが市場に出てくる前段階から、納品物管理をリポジトリに集約したり、テストを自動化したり、CI/CDを整備したり、といったことをやっておくと、その後のLLMとの協調開発の導入がスムーズに進むのかも知れない。