-
Chatは開発ツールとして悪いUIパターンである
- コードが人間に正確さを求めるのはよいこと。コンピュータは正確さを必要とするため
- しかしこれは、人間に機械のように考えることを強いる
- 何十年もの間、プログラミングをより人間に優しいものにするための努力が続けられてきた。高級言語や視覚的インターフェースがその例である
- AIはこうした問題を解決すると期待されていた。英語でプログラミングできるようになるという期待だった
-
AIコーディングツールの第一波
- 最初のAIコーディングツールはその機会を無駄にした。派手なデモは作るが、役に立たないソフトウェアを生み出す
- 「プロトタイプ用途」程度にしか言及されないが、実際に活用するには精度が不足している
- 多くの人はAIモデルを非難し、もっと賢くなるべきだと主張する
- しかし重要なソフトウェアを構築するときに必要なのは、推測ではなく明確な理解である
-
ソフトウェアを書くことは会話ではない
- ソフトウェアを書くことは法律を書くことに近い。英語を使うが、用語を定義し、規則を設定し、複雑な相互作用を管理する
- チャットメッセージで税法を書くことはできない。文書が必要である
- 文書は複雑さを整理し、特定の箇所を参照し、変更を体系的に追跡できるようにする
-
文書ベースのプログラミングの重要性
- 意図が文書にあるとき、英語は実際のプログラミング言語になる
- システム全体をひと目で見渡せる
- 意図を明確にし、改善できる
- 変更を適切に追跡できる
- チームがシステムに共同で取り組める
- 要件がそれ自体で品質チェックになる
- 変更は明確な仕様から始まる
-
次の段階のAI開発ツールの核心
- 文書ベースでユーザーの意図を表現し、管理する方法が重要になる
- 対話型プロトタイプではなく、実際のソフトウェア開発に必要な精密さを提供するツールが必要である
- この視点を正しく導入する企業が、AI開発ツールの未来を主導するだろう
4件のコメント
LLMをサポートするものに知識グラフを反映しようとしていて、それが有効だとも言われています
タイトルではチャットUIは不適切だとしていますが、内容としては曖昧な要件こそが核心的な問題だと説明していますね。
チャット形式でAIにユーザーの要求に含まれる曖昧さをその場で正させれば解決する問題のように思えますが、
あえてチャットUIを非難する理由がよくわかりません。
おお、これはなんだか興味深くて共感できる意見ですね 😊
Hacker Newsの意見
あるユーザーはo3-miniとo3-mini-highを使ってコード生成プロジェクトを進めており、「ペアプログラミング」的なアプローチが重要だと述べている
別のユーザーは、チャットはUIパターンとして不適切であり、記録としてはよいが作業を行うには向いていないと主張している
また別のユーザーは、Cursorに言及がなかったことに驚きを示し、Cursorによってコードを書く速度が大幅に向上したと説明している
git-diffスタイルでファイルに適用される出力により、変更を承認または拒否できると説明しているあるユーザーは「UXとしてチャットを使うこと」は行き止まりだと主張し、SQLの事例を挙げて説明している
自然言語は正確性のために作られておらず、AIとのコミュニケーションにはプログラミング言語のサブセットが必要だと説明している
Danielの意見について、チャットが一般的に使いにくいUIだと主張しているのではなく、コンピュータプログラムを完全に明示するには多くの詳細が必要だと説明している
Cursorのような体験を音声で実装し、コード変更について議論できる機能に期待していると述べている
要件文書をもとにAIベースのソフトウェア開発を進めるアプローチを説明し、要件をチェックリストに変換して追加指示として使う例を示している
第一波はチャットではなく補完であり、チャットのほうがより直感的で労力が少ないと説明している
コンピュータプログラムを説明するための新しい言語を発明し、構造化された言語モデルが現れることを期待していると述べている