23 ポイント 投稿者 GN⁺ 2025-02-05 | 4件のコメント | WhatsAppで共有
  • Chatは開発ツールとして悪いUIパターンである

    • コードが人間に正確さを求めるのはよいこと。コンピュータは正確さを必要とするため
    • しかしこれは、人間に機械のように考えることを強いる
    • 何十年もの間、プログラミングをより人間に優しいものにするための努力が続けられてきた。高級言語や視覚的インターフェースがその例である
    • AIはこうした問題を解決すると期待されていた。英語でプログラミングできるようになるという期待だった
  • AIコーディングツールの第一波

    • 最初のAIコーディングツールはその機会を無駄にした。派手なデモは作るが、役に立たないソフトウェアを生み出す
    • 「プロトタイプ用途」程度にしか言及されないが、実際に活用するには精度が不足している
    • 多くの人はAIモデルを非難し、もっと賢くなるべきだと主張する
    • しかし重要なソフトウェアを構築するときに必要なのは、推測ではなく明確な理解である
  • ソフトウェアを書くことは会話ではない

    • ソフトウェアを書くことは法律を書くことに近い。英語を使うが、用語を定義し、規則を設定し、複雑な相互作用を管理する
    • チャットメッセージで税法を書くことはできない。文書が必要である
    • 文書は複雑さを整理し、特定の箇所を参照し、変更を体系的に追跡できるようにする
  • 文書ベースのプログラミングの重要性

    • 意図が文書にあるとき、英語は実際のプログラミング言語になる
    • システム全体をひと目で見渡せる
    • 意図を明確にし、改善できる
    • 変更を適切に追跡できる
    • チームがシステムに共同で取り組める
    • 要件がそれ自体で品質チェックになる
    • 変更は明確な仕様から始まる
  • 次の段階のAI開発ツールの核心

    • 文書ベースでユーザーの意図を表現し、管理する方法が重要になる
    • 対話型プロトタイプではなく、実際のソフトウェア開発に必要な精密さを提供するツールが必要である
    • この視点を正しく導入する企業が、AI開発ツールの未来を主導するだろう

4件のコメント

 
softer 2025-02-06

LLMをサポートするものに知識グラフを反映しようとしていて、それが有効だとも言われています

 
beoks 2025-02-05

タイトルではチャットUIは不適切だとしていますが、内容としては曖昧な要件こそが核心的な問題だと説明していますね。
チャット形式でAIにユーザーの要求に含まれる曖昧さをその場で正させれば解決する問題のように思えますが、
あえてチャットUIを非難する理由がよくわかりません。

 
jhj0517 2025-02-05

おお、これはなんだか興味深くて共感できる意見ですね 😊

 
GN⁺ 2025-02-05
Hacker Newsの意見
  • あるユーザーはo3-miniとo3-mini-highを使ってコード生成プロジェクトを進めており、「ペアプログラミング」的なアプローチが重要だと述べている

    • コードレビューとフィードバック提供の重要性を強調し、単にコードを受け入れるだけではよくないと説明している
    • ユニットテスト生成の重要性に言及し、コードの核心を把握したうえでスモークテストを依頼するとよいとしている
    • 長いコンテキストではモデルが混乱する可能性があるため、新しい会話を始めるのがよいと助言している
    • コード例を提供し、英語だけでプロンプトしないよう勧めている
  • 別のユーザーは、チャットはUIパターンとして不適切であり、記録としてはよいが作業を行うには向いていないと主張している

    • ナラティブ方式は物を作るのに適していないと述べている
  • また別のユーザーは、Cursorに言及がなかったことに驚きを示し、Cursorによってコードを書く速度が大幅に向上したと説明している

    • git-diffスタイルでファイルに適用される出力により、変更を承認または拒否できると説明している
    • コードベースのコンテキストをある程度理解しており、明示的にファイルをタグ付けしたときに最もうまく機能すると述べている
    • ターミナルログや型エラーをチャットインターフェースに直接挿入できるのが非常に便利だと説明している
  • あるユーザーは「UXとしてチャットを使うこと」は行き止まりだと主張し、SQLの事例を挙げて説明している

    • LLMベースのチャットインターフェースはユーザーに露出しなくなるだろうと予測している
    • 自然言語インターフェースは、機械との相互作用において例外的な場合にのみ使われるだろうと述べている
  • 自然言語は正確性のために作られておらず、AIとのコミュニケーションにはプログラミング言語のサブセットが必要だと説明している

  • Danielの意見について、チャットが一般的に使いにくいUIだと主張しているのではなく、コンピュータプログラムを完全に明示するには多くの詳細が必要だと説明している

    • LLMがあいまいさを適切なデフォルトで補い、一般的なログイン画面を提示すると説明している
  • Cursorのような体験を音声で実装し、コード変更について議論できる機能に期待していると述べている

  • 要件文書をもとにAIベースのソフトウェア開発を進めるアプローチを説明し、要件をチェックリストに変換して追加指示として使う例を示している

  • 第一波はチャットではなく補完であり、チャットのほうがより直感的で労力が少ないと説明している

    • 文書は固定されたものではなく、AIを通じて反復的に修正できると説明している
  • コンピュータプログラムを説明するための新しい言語を発明し、構造化された言語モデルが現れることを期待していると述べている