Pythonに頼らないAIエンジニア。AI/IA ワークフローツール jumon.app を開発中。

GitHub Twitter

2023-10-07

AIはプログラミングの生産性を向上させる

開発者がAIコーディングアシスタントから得る恩恵はほとんどない?という記事があるが、組織の構造問題を除き、AIをうまく使えば確実にコーディングの生産性は向上する。この記事はクリックベイトであるという指摘もあり、バグレートが41%上昇したというのもデータが公開されていないのでどれほどの影響があったのかは不明だ。

AIが役に立たないという記事の方が注目を集めるようになったことはハイプサイクルが幻滅期に入ったことを示唆しているが、AIにおける生産性向上が組織を変えるには至っていないのは、イノベーションのジレンマにおける破壊的イノベーションの前触れなのかもしれない。

Lex FridmanによるCursor Founder Teamへのインタビューが公開され、Cursorにおける宣言型プロンプトレンダリングエンジン、コードをサーバーに送信しないコード検索アルゴリズム、高速に推論するためのアンサンブルモデル、コンテキストのおけるトレードオフ、AWSでのスケーリングなど、AIコーディングアシスタントに関する興味深い話が多数取り上げられた。

Cursorではコーディングアシストにより複数行の補完ができるほか、複数ファイルのコードの解説、コード変換やリファクタなど、時間のかかる作業を素早く達成できる。レビューを受けることがないアイデアからPoCレベルのコードをつくりあげる生産性は2-5倍にはなるだろう。

今のところロジックが正しいか、バグが発生しそうにないか確認が必要であり、どう動くか全く知らないアルゴリズムを依頼して作り上げられる信頼性はない。そういった意味では理解できないコードは書かせず、コードの匂いを嗅ぐことができる内容に限られる。プロダクションレベルのコードを5倍速く書くことはまだできないが、デバッグやアークテクチャの変更に関しては劇的に削減できる可能性はある。

Cursor Teamはソフトウェアを自動で作成するエージェントではなく、エンジニアが運転席に乗り、AIと協力してプロジェクトを進めるハイブリッドエンジニアリングを目指している。まさに知能拡張の考え方だ。プログラムの定型作業、雑用はAIがこなし、人間にはより抽象度の高い判断、トレードオフの決断に集中できるようになる。実際Cursorのエンジニアは今が一番プログラムが楽しいし、情熱が重要だと説いている。

AIが近い将来コーディングを全てやるようになる、AIはコーディングに役に立たないといった二項対立ではなく、AIによって拡張する高い生産性や抽象度を活かせる組織形態やプロダクト開発の方法とは何か、という構造の問いに核心は移っていると思う。


2023-09-10

LLMがバカになっているのはなぜか

ChatGPTやClaudeのようなチャットボットが最近バカになっているという話をよく聞く。コードを作成するように求めても”ここにコードが入ります”みたいに省略したり、同じ数学の問題でも正解率が以前より悪くなったことが測定されている。

この原因にはいくつか仮説があり、一つはコスト削減として出力を少なくするようにプロンプトを変えたり、量子化によって計算量を削減することによって精度が下がっているというものだ。AI企業は公式には否定していて、Claudeに至ってはシステムプロンプトの変更履歴を公開している。性能とコストが低い別モデルがあるのに、わざわざ最新モデルの性能を落とすことは不自然でもある。

他にも仮説はいくつかあり、トレーニングデータが劣化してる説、夏休みや冬休みなどの休暇をLLMが真似て怠けている説、人間が出力に慣れて同じ出力なのに満足しなくなった説、基本モデルとプロンプトは変えていないが微調整は頻繁に行われている説などがある。

人間の心理的なものなのか、LLMの”気分”によるものなのか、モデルの微調整の結果によるものなのか答えはわからないが、いずれにせよ、LLMを真剣に使うならば自分で評価することは欠かせないだろう。


2023-09-01

AI(人工知能)かIA(知能拡張)か

1960年代のAI創世記から続く議論がある。それはAI (Artificial Intelligence=人工知能) か、IA (Intelligence Augmentation=知能拡張) かという対立だ。今でこそ”AI”は世の中にあふれているが、当時は実現するかもわからず、概念としての議論が主だった。マービン・ミンスキーはAIの創始者の一人として汎用的・自律的な知能を目指し、マウスを発明したコンピューターUIの創始者ダグラス・エンゲルバートは、人間中心の知能の拡張を目指した。

AIは人間の知能を置き換えることを目的としていて、IAは人間の学習や能力を強化することを目的としている。現在のLLMは、人間の価値に従うように会話の応答を学習していて、自律的に行動するまでには至っていない。人間の知識や判断を拡張するIAの範疇の中にある。OpenAIのようなAI企業が実現しようとしているAGIは、真のAIとして、人間の知能を置き換えることを目指している。

AIの真の能力を発揮するために、判断が遅い人間とはコミュニケーションしない前提での学習をした方が“高性能”になる可能性があるだろう。一方で、その“高性能”が人間の価値に合ったものになるかというアラインメントや、仕事を代替する失業も課題にあがる。

IAの思想からすれば、人間が主体的にAIを使って知能を拡張するという補完的な関係となる。そのため、AIの監督やインターフェースの設計が重要になる。エンゲルバートは技術と人間の共生・共進化を視野に入れ、人間中心のシステム設計と技術が人間に適応すべきだという主張をした。

これからのAIがどちらに向かうのか、どちらの立場が望ましいのか、改めて考える必要がある。