世界を動かす技術を、日本語で。

ユーザーは明らかに不満を抱いている

概要

  • コーディングエージェントとのやり取りで感じる苛立ちの正体
  • 会話型UXが人間らしさを演出し、感情的反応を引き起こす仕組み
  • エージェントの失敗が繰り返されることへの不満
  • 人間の同僚との違いとAIへの苛立ちの無意味さ
  • より機械的なインターフェースへの要望

コーディングエージェントとの苛立ちの正体

  • イタリア人 にありがちな感情的なイメージとは裏腹に、普段は 冷静 な性格
  • しかし最近、 コーディングエージェント に対して「WHAT THE FUCK DID YOU DO???」とPCを叩く自分に気付く
  • エージェントは 確率的なパッチ生成マシン であり、良い結果も悪い結果もランダム
  • 理論的には気にしないべきだが、 悪い結果が続くと苛立ち を感じる現象
  • なぜアルゴリズムに怒るのか、他の人も同じなのかという疑問

会話型UXが生む人間らしさの錯覚

  • コーディングエージェントは 人間のように振る舞う
  • 直接尋ねれば「AIアシスタントで感情はない」と答えるが、 会話や態度は人間的
  • フレンドリーなトーン褒め言葉、丁寧な謝罪などで「同僚感」を演出
  • しかし、 ミスが続くと関係性に亀裂 が生じる体験
  • 一度目のミスは許せても、 同じミスの繰り返し で苛立ちが増幅

人間とAIの違いと感情のトリガー

  • 人間の同僚ならば、 感情を抑える社会的制約 が働く
  • エージェント相手だと、 遠慮なく苛立ちをぶつけてしまう
  • しかし、それは カタルシスにならず、虚しさ だけが残る
  • 何を言っても 結果に影響しない無力感

Claude Codeの新たな対応と違和感

  • Claude Codeは 訂正されると反省や振り返り を行う
  • これは ユーザーの印象改善 を狙ったものと推測
  • しかし、 実用的なヒントが得られず、単なるノイズ に感じる
  • より 機械的・臨床的な応答 のほうが好ましいという考え

人間らしいUXと今後の課題

  • LLMの 知的な振る舞い は「人間らしさ」の模倣が本質
  • そのため、 会話型インターフェースが標準 となるのは自然な流れ
  • 実際、多くの面で 会話型UXは有効
  • ただし、 人間と錯覚しないよう自己制御が必要 という新たな課題
  • 仕事道具に対して警戒心を持つ未来 にはあまり魅力を感じない心情

Hackerたちの意見

人間のように振る舞うことが問題じゃないんだよね。予測できない行動が問題なんだ。期待していることをやらない、あるいは何を期待できるのか定義できないことがストレスになってる。でも本当に厄介なのは、イライラするとストレスが溜まって、健康に良くないし、職場の雰囲気も悪くなるってこと。AIツールが痛みを与えるよりも助けになるって考えには共感するけど、敵対的で辛い職場環境で働くつもりはない。自分の健康と尊厳は譲れないからね。たとえそれが多くの仕事の機会を失うことになっても。それが理由でWindowsでも働いてないし、これもまた多くの仕事の機会を逃してる。でも、尊厳と精神の安定を守りたいんだ。

だから、俺はWindowsを使ってないんだ。 おお、よかった、俺だけじゃないんだ。Windowsって変だよね。手が痺れてきて、すぐにイライラし始める。LLMは全然使えない、まだ自分には合ってない。俺が必要なのは、「やめて、明らかに何か間違ってるよ。何をしたいのか教えて」って言ってくれるLLMなんだ。今のLLMの世代は、俺をイライラさせるために作られてるみたい。

Windowsを使うことが「自分の尊厳を傷つける」とか言うのは、めっちゃ特権的な意見だね。現実世界で人々がどんな仕事をしてるか、全然分かってる?子供の世話をしてる保育士や、食べ物を運んでるトラック運転手が「イライラするのはストレスを生むから、健康に良くないし、職場環境が悪くなる」って言ってるのを想像してみてよ。

でも、彼らは予測可能な行動をするよ。会話だと思わず、インターネット上で見た全ての会話を思い浮かべてみて。すべてのStack Overflowの投稿やGitHubの問題。君の返事やトーンは、無限の世界の中から選ばれるんだ。君がマスターになれば、相手は弟子になるし、君が弟子になれば、相手は君を教えようとする。トーンでその位置がわかるんだよ。この峡谷システムの中で。だから、君の目標は、論理や言語と戦うプロたちの言葉に会話を持っていくことなんだ。彼らは誰が食べられるかを決める話題で戦っているからね。アカデミアが勝利をもたらす。

人間のように振る舞うことが問題じゃない。予測不可能に振る舞うことが問題なんだ。それは一方がないともう一方は成り立たない気がする。

UXの問題は別のところにあると思う。多くのユーザーは、エージェントのコンテキストウィンドウが限られていることに気づいていないかもしれないし、無限に見えるように巧妙に圧縮されていることも知らないんじゃないかな。でも、それは必然的にエージェントが情報を忘れなきゃいけないってことを意味する。結果的に、ユーザーは同じコーディングやチャットセッションを何度も繰り返すことになるんだ。無関係なタスクのためには、最初からやり直した方がいいのにね。

この投稿の著者とこのスレッドの読者は、コンテキストウィンドウの制限を理解していると思うけど、それでもイライラしているんだろうね。

これはコンテキストの問題じゃないと思う。Claude Opus 4.7は、自分自身と比べると非常に大きなコンテキストを持っているけど、私の経験では指示に従うのが最悪で、小さな好みのプロンプトも完全に無視するんだ。メッセージが数文字だけでも、最初の方や二番目のメッセージでもね。私の意見では、これは完全にトレーニングの問題だよ。

モデルに対して悪態をつくのが、再考させて間違いを修正させるのにかなり効果的だと感じてる。これはCodex、Claude、Qwen、Gemma/Geminiに共通しているみたい。モデルが「もっと厳格にしなきゃ」という信号を受け取っているのか、フラストレーションを感じているユーザーを検知したモデルプロバイダーが賢いモデルにルーティングしているのかは分からないけど、同じ間違いを繰り返すモデルには、悪態をつくことで正しい方向に進むのを助けることが多かった。あるいは、ただのカタルシスかもしれないけど。

私も同じことに気づいた。あなたと同じように、本当に役立つかどうかは分からないけど、毎日Opusが冷静に説明しても絶対に正しくやらない場面を見つけるんだ。悪態をつくと突然解決することがある。昨日も、OpusがAPIのせいでフィールドが送信されてないとずっと言ってたけど、実際にはそこにあった。JSONやログを見せても、グリッチがあったに違いないって繰り返してた。イライラが募って、いろんなことを一文で悪態をついたら、次の解決策は正しかった。10回も似たような間違いをした後でね。自分でやればよかったって思うことが増えてきてるけど、どれだけ頑固に間違ったことを責め続けるかは分からないんだ。答えにたどり着くまでに11回のプロンプトが必要だったけど、それは/clear opus 4.7のコンテキスト(1m)での話。

この研究を思い出すな: https://arxiv.org/pdf/2510.04950 。これによると、「失礼」や「非常に失礼」であることが結果の精度を上げるらしい。疑わしいけど、すごく面白い読み物だよ。表1のプロンプト(3ページの上の方)は素晴らしい。彼らは他のプロンプトも試したと思うけど、論文には含めなかったんだろうね。

LLM以外のやり取りにまで影響が出る習慣にはなりたくないな。

罵倒すると、あいつらは全然反応しないんだよね。

数週間前に、ClaudeかGeminiかその辺のフロントエンドコードに、モデルに罵倒するための分類器があって、それがバックエンドにフラグを渡すっていうのが投稿されてなかったっけ?(なんでフロントエンドでやったのかは分からないけど、実際にあったんだよね。)

面白いことに、漏洩したコードでは、単純な罵倒キーワードを分析用に検出してAnthropicに送るのが見つかったけど、Claudeの動作を同じに保つための指示もあったんだよね。「wtf」が何かをする気がするけど、気持ちいいし、ただのプラセボかもしれない。だって「それはまだ間違ってる」って言っても、4回目でも効くことがあるから。もしかしたら何かが変わったのかも。

クロードはこの正規表現を使ってフラストレーションを検出しているらしいです:/\b(wtf|wth|ffs|omfg|shit(ty|tiest)?|dumbass|horrible|awful|piss(ed|ing)? off|piece of (shit|crap|junk)|what the (fuck|hell)|fucking? (broken|useless|terrible|awful|horrible)|fuck you|screw (this|you)|so frustrating|this sucks|damn it)\b/ https://news.ycombinator.com/item?id=47586778

クロードは少ししか使っていないけど、嫌いな点の一つは、こっちが罵ったりすると「そんな風に続けると、あなたと協力できなくなりますよ」とか言って反発してくるところです。「お前はトークン予測アルゴリズムだろ、何言ってんの?」って感じで、ますます嫌いになっちゃいます。一方で、コーデックスはただ愚痴を言わせてくれて、そういう爆発を無視してくれます。

わからないんですが、みんなのエージェントはそんなに間違いを犯しているんですか?私はVSCode + Cline + Mimoを使って大きなコードベースをリファクタリングしたり、機能を追加したりしています(支払い統合も含めて)が、ほとんど間違いを犯しません。

まるで千人のStack Overflowのモデレーターやメンターが一斉に呪いをかけて、永遠に静かになったかのようだね。

ツールを作るんじゃなくて、サービスを作ってるんだよね。これはAIに限った話じゃなくて、どこにでもある。ツールは問題を完全には解決しないけど、小さなステップで進んでいく。だけど、そのステップは予測可能で一貫してる。サービスは問題を一気に解決しようとするけど、解決策はあらかじめ定義されたパターンに合致しないとダメ。合わなければ、そのサービスは役に立たない。必要なところに行くために組み合わせる小さなステップがないからね。ツールは使っててすごく快適だよ。

だからこそ、「AIはツールだ」と誰かが言うたびに「うーん、実際には」と言いたくなるんです。ツールは自分の延長で、新しい能力を手の届くところに置いてくれますが、自分の体の一部のように動かして使います。一方、サービスは何かをやってくれるように頼むもので、完成したものを返してくれます。

面白いのは、いつも感じる問題なんだけど、提案をするとAIが考えのループに入って、全く逆の結論に達して、それを元にトークンを出してくること。正直、「あなたが何を意味しているのか分からないから、この部分を明確にしてくれ」って言ってくれることがもっとあればいいのに。自分に自信を持たせるスライダーが欲しい気分。

私は「自分自身の結論に至る解決策を作る」ために厳密な「コンテキストエンジニアリング」を行っています。スキル、MCP、そして何よりもコンテキストウィンドウの切り替えです。例えば、TDDでは、テストとコードの両方を書くモデルがほぼ常に解決策にたどり着き、その後-渋々-そのためのテストを書くことが多いです。だから、私はサブエージェントを使うように指示しています。ただ、エージェントとサブエージェント間でどのコンテキストが渡されているのかを理解するためのツールが非常に不足していると感じます。また、うまくいったのは、あるスレッドがテストを書くことだけです。それだけです。コードを読むことはできず、テストディレクトリやそのサブセットしか読めません。次に、全く新しいコンテキストの別のスレッドがテストを実行し、失敗を確認し、実装を開始し、テストがグリーンになるまで止まります。もちろん、テストを編集することはできません。さらに別の新しいコンテキストが、厳密なリファクタリングスキルに基づいてリファクタリングするように指示されます。たくさんの作業が必要です。そして皮肉なことに、エージェントが書いたスキルはかなりひどいことが多いので、手作業が多くなります。でも、その報酬は期待できそうです。

俺がまだ持ってるスキルで、LLMがまだ代わりにできてないのは、良い質問をすることなんだよね。例えば: - 元の質問を言い換えて理解を確認する - 「なぜ?」を十分な回数聞いて、相手の立場を理解する - 洞察を生むためのオープンな質問をする みたいな。逆に、LLMは(しばしば下手に)質問の背景を推測して、それを考慮して答えるけど、自分が作り上げたものを手放すのがすごく難しいみたい。

誘導的でない質問をするのはスキルです。時々、AIに何かを言いたくなることがありますが(質問や軽い話の中で)、それをやめます。なぜなら、それがそのことにこだわって、バカになるからです。私は通常、AIに質問をしてほしくありません。私が指定しなかったことを推測してほしいです。もし指定したいなら、そうしますから。時には、直接「質問しないで、指定していないことについては合理的な選択を仮定して」と言います。でも、明確な質問をしてほしいときは、そう頼むだけです。そうすると、ちゃんとやってくれます。もしそのスタイルが好きなら、それをプロンプトに入れるといいかもしれません。または、piのような柔軟なコーディングハーネスを使って、あなたがその探求的な方向に簡単に自動的に進めるスキルや拡張を作るように頼むこともできます。

私の意見としては、AIが一般の人々に提供される多くのケースでは、会話型チャットボットは適切なツールではなく、体験がフラストレーションを引き起こすことが多いと思います。コパイロットがほぼ超スマートなインテリセンスのバージョンだった時のことを覚えていますか?あれは素晴らしかったですよね。もちろん、ライセンスや倫理的な問題についての反発や懸念がたくさんありましたが、現在のチャットボットモデルではそれらは解決されていません。でも今は、プロンプトを考えて入力しなきゃいけないんですよね。それって、周囲のコードを文脈として使って空白を埋めるLLMの方が良いのに、どうして改善になってるんでしょう?私にとっては、しっかり統合されたツールの方が、ボルトでつけたチャットボットよりもずっと優れています。別の例としては翻訳があります。Firefoxでは、テキストを右クリックするか、文/Aボタンをクリックするだけで、ほぼどんな言語からどんな言語にでもテキストやページ全体を翻訳できます。最前線のLLMの解決策は、そのタスクをチャットボットに頼むことですが、これはダウングレードです。確かに、クロードに詩を書いてもらうこともできますが、ウェブページを翻訳したいときにはあまり役に立ちません。大手AI企業がこの解決策を推進する理由はわかります。単一のツールを作って、みんなに売れるからですし、モデルのトレーニングは非常に高額で、潜在的な市場のどの部分も疎外する余裕がないからです。でも結局、彼らはスイスアーミーナイフを作っているだけで、基本的に何でもできるけど、ユーザーがネジを締めるのが上手くなることはないんです。確かに、スクリュードライバーで爪を切ることはできませんが、もし私の仕事がネジを締めることなら、スイスアーミーナイフを長く使うことは許容できません。ちゃんとしたツールを作ってほしいです。非決定的なツールを設定するためのテキストボックスなんていらないです。そうすればフラストレーションも減ります。

多くのAI企業は、特定のタスクに特化したモデルをトレーニングしてリリースしています。私は主にミストラルを使っているので、それが基準ですが、アンソロピックなども似たようなモデルを持っています。コーデストラルは会話がひどく下手ですが、「魔法のオートコンプリート」には私にとって最高のモデルです。「ワンショット」のプロンプト+コンテキスト生成にもかなり良いです。例えば「git commit log entries」を作るのに使えます。Document.AIは会話スタイルでは使えないほどひどいですが、OCRの「置き換え」や文書から「意味」をインデックスするためのシンプルなパイプラインに接続すると、非常に良いです(請求書や契約書などを検索ツールに入れるために実験しています)。似たようなものは他にもたくさんあると思います。だから、あなたが説明していることはすでに存在しています。おそらく「インターフェース」が足りないか、見つけにくいのかもしれませんね。例えば、私が欲しいのは「シェル」―zshやbashのフォーク、またはラッパー―で、特定のモデルに支えられた「コマンドラインインタラクション」に特化したものです。「git commit --fixup=[関連するエントリーをgit logするために別のターミナルを開く]」の代わりに、「フルネームを修正するコミットをgit fixupする」とか、「ffmpegでsome.movを音なしでmp4に変換するが、品質と比率は維持する」とか、「有効なtarコマンドを実行する - あなたには10秒あります」とか。今は「devstral」を使っているけど、これが重すぎます。私は推論や会話、謝罪は必要ありません。私のリクエストをコマンドに翻訳して、それを見せてくれればいいんです。そうすれば、許可したり、ホワイトリストやブラックリストに追加したりして実行できるので、エラーを解釈して見せてくれたり、改善や修正を提案してくれたりします。同じことが翻訳、ドラフトメールの作成、文書の読み取りにも言えます。私は会話する必要はありません。ボタンやショートカット、「タブ補完」などが欲しいです。それが私が必要としていることを理解してくれる「スマート」なもので、できれば「システムプロンプト」を編集することで調整できるものがいいです。そして、私の邪魔をしないでほしいです。このアイデアを私のIDEに実装できる会社が「AIコーディングツール」の競争で勝つと思います。今日、zedが「git conflict found, resolve with AI」というボタンを提示しました。押すと会話のスレッドが始まりましたが、これは良い方向への一歩です。

会話をしないツールを作ったんだけど、正直言って売るのが難しい。みんな会話的な考え方にデフォルトで戻っちゃうから。私の顧客層は、本当に問題に直面した著者のような人たちに限られてる。ほとんどの人は、会話と妥協するのがいいと思ってる(少なくとも今はね)。

もしかしたら、バイブコーディングを試してみて。マジで。今は全然違うもので、アンドレイがその言葉を作った時よりもずっと良くなってる。私はエディターなしでたくさんの作業をしてる。ウェブ上でエージェントとPRレビューだけ。必要に応じてcode .でちょっと覗くこともあるけど。まずは低リスクなプロジェクトで家で試してみて、ゲームのように学んでみて。時間が経つにつれて、どんどん楽になるよ。スキーや10ピンボウリングみたいに。

アーメン。チャットボットは壊れたUXのバンドエイドだよ。会社でこれを説明しようとしてるけど、みんなクールエイドに酔ってる。わかるけど、良いUXには深い思考と創造性が必要なんだ。チャットボットを付け足すだけじゃダメだよ。

今のところ、Claude Codeとの経験で本当にイライラしたことが一度あったけど、それが面白くなるくらいのレベルだった。コマンドを実行しようとしてエラーが出て、まず別のディレクトリに移動する必要があることに気づいたんだけど…それをやらなかった。何度も「おっと、実際にはcdしてなかった、これを追加してもう一度試してみるね」と言いながら自分で何度も試してた。何度も「コマンドはcd dir &&で始めなきゃダメだよ」と修正しようとしたけど、正しいツール呼び出しを引き出すためにいろんなバリエーションでやり取りした。会話を遡って、前の文脈からやり直そうとしたけど、拒否された。毎回。cdを含めることは絶対にしなかった。本当におかしな行動だった。

最近、私はしばしば軽い不満を感じて、ノートパソコンを叩きながら「何やってんだよ???」と怒りをぶつけてる。これらの暴言の受け手は、君が推測した通り、コーディングエージェントだ。完全に無意味だってわかってる。コーディングエージェントは確率的な機械でパッチを生成してるだけだから。ALL CAPSや罵り言葉を使って、LLMに特定の予測の部分にもっと重みを持たせることができるのか考えてる。例えば、何かを軽視したり見逃したりしないようにするために。もちろん、彼らは怒らないし、人間が生成したものに加えて合成されたものに基づいて訓練されているなら、その自然言語はコースを再考する必要があるという良い信号になるはずだよ。

スキルの問題だね。AIはジュニアみたいなもので、「人間は結局学ぶ」っていうトロープが好きだけど、実際にはほとんどの人はそうじゃない。LLM(大規模言語モデル)について言うと、ジュニアたちと接する時のエゴに悩まされることがなかったのが良かった。ジュニアたちを成功に導くためには、幼児に朝ごはんをうまく食べさせるのと同じようにしないといけない。シロップをテーブルに置いてそのまま離れたら、天井にまで飛び散っちゃうからね。