AI・機械学習
人間参加型ループは疲れている
The Human-in-the-Loop Is Tired (pydantic.dev)
要約
LLM(大規模言語モデル)を使ったプログラミングは、開発者にとって便利であると同時に、新たな疲労感を生み出しています。AIの出力をレビュー、指示、修正する作業が増え、本来のプログラミングの楽しさや達成感が失われ、監督疲労と呼ばれる状態に陥っています。この記事は、この状況をエンジニアリングの問題として捉え、解決策を模索する必要性を説いています。
全文翻訳
またLLMに関する考察記事です。分かっています。しかし、もう少しだけお付き合いください。これは、おそらく多くの開発者が現在経験しているものの、まだ整理する時間を見つけられていないことを言葉にしようとする試みです。LLMを使ったプログラミングは、本当に役立つと同時に、本当に不安定でもあります。この二つは共存します。もし後者が起こっていないと装うなら、私たちは皆燃え尽きてしまうでしょう。Pydanticでは、開発者がデータの検証、AIエージェントの構築、本番環境でのシステムの監視に使用するツールを開発しています。文字通り、LLM搭載ソフトウェアをより信頼性の高いものにするビジネスをしています。そして、私たち自身も奇妙な時期を過ごしています。これは、AIがプログラマーを置き換えるかどうかについての考察記事ではありません。絶望的なエッセイでも、誇大広告でもありません。これは、内部にいる人間からの、現時点での開発者の感覚と、実際に役立つかもしれないことについての考察です。
# ファブリックに手を突っ込む
私が20代前半でコーディングを学び始めた頃、プログラミングは宇宙のファブリックに手を突っ込んで、自分の意志でそれを形作ることができるという独特の感覚を覚えていることを思い出します。もちろん、それはコンパイルエラーにあまりにも多く遭遇する前のことでした。しかし、抽象化の深い基本的な層に触れているという感覚、論理だけで無から物を作り出せるという感覚は、常に私の中に残っています。私はコンピュータサイエンスの卒業生ではありません。私はデザイナーでありプログラマーです。前者については正式に訓練を受け、後者については独学です。私は、学術的な指示ではなく、苦痛な経験を通してソフトウェアエンジニアリングの形式主義にたどり着きました。もし何かあるとすれば、それは私がそれらの原則を理解した後に、それらをより真剣に受け止めるようになったということです。アーキテクチャやコード品質について苦労して意見を形成した場合、それらは教科書的なルールというよりも、傷跡のように感じられます。あの根源的な創造の感覚はどうでしょうか?それは、2010年代のローコードおよびノーコードツールが常に約束していましたが、決して完全に実現できなかったのと同じ約束です。私はDreamweaverでウェブページを構築し、Adobeが内部で絶対的なスパゲッティコードを生成するゼロコードデザインツールを宣伝するのを見ていた頃を覚えています。それは常にあと一歩のところでしたが、すぐそこにある未来をほのめかすには十分なほど良かったです(もしあなたがそれを理解するのに十分賢ければ)。現在のAIツールの波に懐疑的であれば、理解できます。私たちは以前にもこのような約束をされてきました。しかし今回は、約束と現実の間のギャップが、ついに意味のあるものに縮まりました。そして、まさにそれが、これほどまでに不安をかき立てるのです。
# 「コードが自己記述する」とは実際にはどのような感覚か
はい、コードは(ある程度)自己記述しますが、レビュー、指示、軌道修正を行う人間は、より良くならず、むしろ悪化しているように感じます。私は最近、Pydantic AIフレームワークを管理しており、オープンソースのワークフローにLLMを統合することについて、私が知る最も思慮深い人物の一人である同僚のDouweと会話しました。彼は、毎朝30件のプルリクエスト(PR)で目を覚まし、それぞれが誰かのAIによって夜間にプルされたものであり、そのすべてに対して即座の判断を下す必要があると説明しました。レビュー自体をAIに委任したいという誘惑は計り知れませんでした。しかし、彼が言ったように:「その時点で、私はまだここに何のためにいるのだろうか?」
率直に言って、ここ数ヶ月、LLMに実行させる計画を作成するために丸2日近く費やした日がありました。執拗に明確化し、指定し、再指定しましたが、それでも不可解なほど愚かなことをしました。ReactフックをStorybookのストーリーファイルにポートする。間違った計画から読み取る。存在しないコンポーネントをインベントする。これらは能力のエラーではありません。これらは一貫性のエラーです。モデルはもっともらしいコードを生成するのに十分賢いですが、複雑な変更全体で一貫した意図を維持するのに十分賢くない場合があります。これは、独特の新しい種類の疲労、監督の疲労を生み出します。マシンがほとんど正しい出力を大量に生成する間、その意図を頭の中に保持し、それでもあなたの目、あなたの判断、あなたのセンスを必要とします。Douweはそれをうまく表現しました。彼は以前、オープンソースでクールな機能について実際の人間と協力することからドーパミンを得ていました。誰かが自分の技術を向上させるのを助けること。今では、「私が書くすべてがAIのブラックホールに入っていく。実際に何かを学んでいる人は誰もいない」と言いました。その喪失は現実であり、名前を付ける価値があります。
# 強度トラップ
Simon Willisonは最近、AIの使用が仕事の強度を高めることを説明したバークレー・ハースの研究を強調しました。「一日の終わりに、もう一つプロンプトを打つ」「これを完璧にするもう一つの機能」という絶え間ない誘惑。私はそれを骨の髄まで感じました。最近、計画を正しく実行するのに非常に近かった(そう思った)ため、午前2時近くまでプロンプトを打っていました。Pydanticの別の同僚であるMarceloは、Claude Codeセッションがフリーズしたことについて尋ねられたとき、「Claudeセッションを5つ開けばいい。他のセッションにフィードバックを与えているので、あなたは気づかないだろう」と言いました。彼は冗談を言っていました。私はそう思います。しかし、それは現在の瞬間の真実を捉えています。並列処理は爽快で、ある意味で野生的です。開始できるものの数は劇的に増加しました。思慮深く完了できるものの数はまったく変わっていません。なぜなら、その部分はまだ私たちが並列化できない唯一のリソース、つまりあなたの脳を必要とするからです。
これが何が起こっているのかについての用語です:人間の報酬関数問題。機械学習では、報酬関数はエージェントに「良い」とは何かを伝えます。手書きでコードを書くことは決して簡単ではありませんでしたが、小さな報酬に満ちていました。頭の中で問題を解決すること。難解な論理を理解すること。コードがコンパイルされるのを見ること。コントロールの感覚。LLM支援プログラミングは、それらのドーパミンヒットを生み出した作業の多くを自動化し、レビューと監督の認知負荷に置き換えました。満足のいく部分は縮小しました。疲れる部分は成長しました。そして、そのギャップを埋める新しい報酬はありません。あなたの仕事が同時に生産的でありながら、あまり満足できないと感じているなら、あなたは壊れているわけではありません。フィードバックループが壊れています。そして、私たちはそれを個人的な失敗ではなく、それ自体でエンジニアリングの問題として扱い始める必要があると思います。
率直に言って、それは非常に孤独でもあります。LLMとのプログラミングは、非常に孤立した活動です。あなたとマシンが、行ったり来たり、洗練したり、プロンプトを打ったり、レビューしたりします。同僚に質問したり、問題をラバーダックしたり、何かが最終的にクリックした小さな勝利を共有したりするために振り返る自然な瞬間。それらの瞬間は、別のプロンプトに静かに置き換えられます。既存の強力な協力文化を持たないチームでは、これは人々をさらに引き離し、他の人間もこれを困難だと感じているという安心を最も必要としているまさにその瞬間に、コミュニケーションを冷え込ませる傾向があります。そして、それは孤立を悪化させる方法で中毒性があります。時には素晴らしいものが得られ、時にはゴミが手に入り、どちらになるかは決して確信が持てません。教科書的なスキナーボックスです。一歩下がって、ただ…コードを書くことが許されていることを思い出すのは、本当に難しいことです。しかし、LLM支援作業と手動作業の間で切り替えるのは、ぎこちなく不快で、2つの非常に異なる思考モードであり、切り替える許可を与えるには、ある種の成熟と自信が必要です。
# ブレークポイント
この瞬間は、レスポンシブデザインによって引き起こされた恐怖と不安を思い起こさせます。私は当時、デザイナー兼フロントエンド開発者として働いており、イーサン・マルコットやZeldman / A Book Apartの群衆を皆のようにフォローしていました。そして、私たちがすべて習得した固定幅レイアウトが基本的に終わったと言われたとき、それがどれほど不安だったかを覚えています。若い開発者のために:2009年頃、ウェブサイトが固定された、ピクセルパーフェクトな、雑誌スタイルのレイアウトから、流動的でレスポンシブなものに移行したとき、本物の文化的な瞬間がありました。そしてデザイナーたちはそれを嫌いました。コントロールの喪失は、正確なレイアウトと完璧なグリッドを中心にアイデンティティ全体を築き上げた人々にとって、実存的なものでした。ユーザーは私のデザインをあらゆる幅で見ることができると言っているのですか?どのデバイスでも?私が作成したレイアウトが…流れる?
画像デザイン:Jyotika Sofia Lindqvist
抵抗は存在しました