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

AnthropicがClaudeのAIの行動を隠そうとする。開発者たちはそれを嫌っている

概要

  • Anthropic のAIコーディングツール Claude Code の進捗出力仕様変更
  • ファイル名の表示が デフォルトで非表示
  • 開発者から 情報隠蔽への反発 が発生
  • セキュリティ・効率・コスト面 での懸念
  • 今後も仕様変更の可能性 あり

Claude Codeの出力仕様変更と開発者の反発

  • Anthropic がAIコーディングツール Claude Code の進捗出力仕様を変更
  • バージョン 2.1.20 で、ファイル名や行数の表示を省略し「Read 3 files(ctrl+oで展開)」などの簡易表示に変更
  • 詳細表示 はキーボードショートカットで可能だが、毎回操作が必要で 作業効率低下
  • 開発者は どのファイルにアクセスしているか を即時把握したいニーズ
    • セキュリティ監査
    • 間違ったファイル参照の早期発見
    • 会話履歴からの活動監査
  • 間違ったファイル参照 の早期発見により、 トークン消費の抑制 にも寄与

開発者コミュニティの反応

  • GitHub IssueやHacker Newsで 不満の声 が多数
  • 「Claude Codeは単純化されすぎている」との批判
  • Verboseモード で詳細表示可能と案内されたが、「ノイズが多すぎて実用的でない」との指摘
  • デフォルト出力が「searched for 2 patterns, read 3 files」など 有益な情報に乏しい との声
  • 「有用な情報の削除であり、単なる簡略化ではない」との厳しい意見

Anthropic側の対応と説明

  • Boris Cherny (Claude Code責任者)が議論に参加
  • 「UIの簡素化が目的で、本質的な情報(差分やコマンド出力)に集中できる」と説明
  • 開発者には「数日間試してほしい」と提案
  • 社内開発者からは「ノイズが減り好評」との声も
  • Verboseモード の仕様を変更し、ファイルパス表示のみを可能に
    • ただし、 従来の詳細表示とは異なり、一部情報は非表示に
  • 「出力が多すぎてターミナルで圧倒される」というユーザーの声も紹介

続く議論と今後の展望

  • 出力簡略化を歓迎するユーザーは少数派
  • 「ファイル名表示で作業効率やトークン節約に役立った」との体験談多数
  • Claude Codeは今後も 頻繁に仕様変更 が予想されるが、 従来の挙動への完全な回帰は未定
  • AIツールが内部動作を隠すこと への警戒感
    • 「透明性が損なわれれば、ミスや非効率が増える」
    • 「AIの意図やロジックを追えないと、監督や修正が困難」
  • 開発者の信頼性・効率性に直結する重要な論点

Hackerたちの意見

彼らにとって、誰も見たくないようなコードベースができるだけ多く存在するのが利益になるんだろうね。コードを見ないことを奨励するのは、実質的にワークフローのロックインだよ。

俺は毎回、全ての変更やファイルをしっかりレビューしてて、そのためにかかる時間の約40%を使ってる。コードを開発してた人たちにとっては、ほとんどコード生成に切り替えた人が多いと思うから、同じだと思う。どれだけ時間をかけるかは、その内容にどれだけ気を使うかによるんだよね。手動で書くのとは全然違う感覚だよ。

チェルニーはフィードバックに応じて変更を加えた。「これに既存の冗長モード設定を再利用しました」と彼は言った。「ファイルパスを表示しますが、全思考やフック出力、サブエージェントの出力は表示しません(これは明日のリリースに含まれます)。」もっと情報を見せるという要求に対して、逆に情報を減らして応える方法だね。

言葉の意味がすっかり失われちゃったね。「冗長」ってもう「必要以上に言葉が多い」って意味じゃなくて、「ちょっといつもより多い」って感じ。「速い」も「素早い動きや効果を特徴とする」って意味じゃなくて、会社によって違うけど、同じ「スピード」でも「ファストモード」って呼ばれることがある。言葉が突然全く違う意味を持つ新しい世界になって、いろんなものに使われるラベルを読んだだけじゃプログラムを理解できなくなっちゃった。彼らが思う「冗長」の意味が、自分が理解してきた意味と合ってるかどうかも調べる必要があるんだ。

これが、クラウドが時々やることなんだ。「あ、待って…既存の冗長モードをこれに再利用しよう、シンプルだし、ユーザーのリクエストにも合ってるから膨張を制限できる」

読まれたファイルの数だけを表示するのから、実際のパスやファイル名を表示するように変わったんだ。つまり、もっと情報が見えるようになったってこと。編集: あ、冗長モードは以前より少なく表示されるかもしれないし、すごく冗長に表示するには新しいモード(^o)を使わないといけないみたい。

でも、彼は実際に再利用された「冗長モード」を使おうとしたの?私は試したけど、必要以上に冗長すぎるし、今の通常モードはほぼミュートモードみたいになってる。最近はバックグラウンドでいろんなことを動かし始めて、変な点滅が起きるし、Claudeは頑固に自律的になっちゃった。飛びながら動いて、私に質問して、数秒待ってからデフォルトの選択肢に進む。まだ選択肢を考えてるのにね。Escを連打しても、時々それでも止まらないことがある。最近のアップデートには本当にイライラしてるよ。

まあ、他にもオープンコード [1] みたいな代替手段があるよ。オープンコードはクラウドコードの体験に一番近いと思ってて、結構良いと思う。ただ、今のところはまだクラウドコードの方が好きかな。 [1] https://opencode.ai/

oh-my-pi プラグ https://github.com/can1357/oh-my-pi

オープンコードは、普通のターミナルスクロールを使ってくれたらもっと良いのに… :(

自分では試してないけど、別のスレッドでMaxのサブスクリプションでもOpenCodeが使えないって文句言ってる人がたくさんいたよ。

クラウドコードは何が違うの?それでも好きなのは?オープンコードに夢中で、もう戻れないよ。作業の仕方がすごくいいし、もっと進んだTUIも好きなんだ。

opencode+glm5は今のところ結構気に入ってる。

隠すのが変なのは、クラウドが何をしているのかを見る理由は好奇心だけじゃないからだよ。問題が起こる前にそれをキャッチするためなんだ。例えば、誤解して全コードベースを読み始めたり、触れたくないファイルを変更しようとしたりする時ね。冗長モードの修正は良いけど、正直言って最初から明らかだったはずだよ。AIにファイルを触らせるなら、どのファイルを触っているのか正確に知りたいじゃん。理論的にツールを信じていないからじゃなくて、実際に自分が意図したことをやっているか確認するためなんだ。抽象化は素晴らしいけど、ビルドを壊すものを隠すのは良くないよね。

それは、混乱する前に脱線したときにキャッチすることに関することだね。最新のAIプログラミングの「メタ」は、長時間自律的に動作するように設計されたエージェントチーム(または群れ、クラスター、何でもいいけど)みたいだ。そう考えると、これらの変更はもっと理解できる。彼らは、エージェントが作業しているのを見ている人間のためにUXを設計しているわけじゃない。彼らは、途切れずに動作するエージェントのために設計していて、重要なのは最終的な出力だけで、そこに至るまでのステップはどうでもいいってことだ。とはいえ、「脱線する」問題は最新のモデルでも全然解決されてないってことには同意するよ。自律的に動くAIエージェントのチームが実際に正しいものを作ることをどうやって信頼できるのか、全然わからない。

そう、だから一般的には「許可を求める」プロンプトを使ってるんだ。面倒なことが多いけど(「このセッションを許可する」みたいな中間の選択肢があればいいのに)、モデルが全く違うプロジェクトで問題を解決しようとしたときにキャッチするのは貴重なんだ。数百のライブラリプロジェクトを持つモノリシックなコードベースで作業しているから、間違った場所を掘り始めないことが重要なんだ。以前よりは良くなったけど、間違うと極端な失敗モードになることがある。指示に誤った意味を与えられて、20分以上も無駄にぐるぐる回ってイライラしてたこともあるよ。

脱線をキャッチするもう一つの側面は、質の高い変更に必要な文脈を読まずに編集をしたがるときだね。

その通り!これがコードレビューをしながら進める最良の方法だよね。そうすれば、より良く方向性を定められるし。Anthropicがこれを理解していないのは本当に変だよ。

競合他社がClaudeのChain-of-Thoughtをトレーニングしづらくするためだと思う。

誰かに生き方を教えようとしてるわけじゃないけど、この議論の別の側面も見えるようにしたいんだ。俺は毎日、5つ以上のエージェントを動かしてる。出力を徹底的に測定、テスト、検証してるよ。ここで出力のノイズが減るのは大事だと思ってる。プロセスを細かく管理するつもりは全然ないから、単純に追いつけないんだ。ログを見たい時は、「問題を解決する過程やデータの探索を、変更や作業をする前にステップバイステップで話して」と具体的なフォーマットでリクエストしてる。前のアプローチにこだわる人たちのために出力モードを用意してあげるといいと思うよ。それが彼らにとって大事なことだって明らかだから。

俺は毎日5以上のエージェントを動かしてる。 どんなプラン使ってるの?24/7で5エージェントを動かすのは、すぐに数個の200ドルのサブスクリプションを食いつぶしちゃうだろうね。

これはこの話の根本的な緊張感だね、そうだよ。

+1 まず、ほとんどのコメントに同意するけど、彼らは「デフォルト」「ハイ」「冗長」とかの3つの表示モードを提供すればいいと思う。でも、リアルタイムでエージェントの作業を見守るこの働き方は、すぐに時代遅れになる気がする。まだそこまで行ってないけど、これらのモデルがどれだけ早く改善されるかはみんな見てきたからね。去年はCursorがすごく良いって言ってたけど、すべての変更をよりよく理解できるから。今はそんなこと言ってないけどね。

この記事は主にこのHNの議論についてだよ: https://news.ycombinator.com/item?id=46978710

「隠す」っていうのが結構重要だよね。--jsonを使えばほとんどすべてが見えるし(システムプロンプトやツールの説明を除いて)... ターミナルは好きだけど、ある時点で生産環境のnginxログを見てるみたいで、ただの無駄な情報の流れに感じることがある。だから、自分でOpenADEっていうADEを作ったんだ(https://github.com/bearlyai/openade)。ネイティブハーネスを使ってて、いいUIもあって、ClaudeとCodexが一緒にプランを作る機能もあるよ。まだベータ版だけど、ここ数週間はこれをメインで使ってる。

--json まじで?これじゃUXの面で比較にならないよね。

もし混乱してなければ、これについてはHNでAnthropicの開発者が明確に言及してたよ(私は開発者じゃないし、製品も使ってないし、競馬にも関わってないけどね :) https://news.ycombinator.com/item?id=46981968

アンスロピックはかなり危うい立場にいるね。モデル同士の競争は激しいし、今のところの差別化要素は、いわゆるハーネスだけなんだ。アンスロピックはニッチを見つけようとして、開発者にアプローチしてるけど、うまくいってるみたい!でも、彼らがこの頑固さで忘れてるのは、競争が本当に厳しいってこと。開発者からの評価を得たとしても、こんな馬鹿げた理由であっという間に失うかもしれないよ。

もう彼らとは関係が切れちゃったよ。2つのサブスクリプションを持ってたけど、1つはキャンセルして、ここ数週間はCodexをずっと使ってる。Claude Codeは全然必要なくて、開くたびに遅さにイライラするし、フィードバックもない。シンプルなプロンプトで20分も回ってるのを見てるのは本当にムカつく。正直、全然恋しくないよ。

どんどん多くのLLMプロバイダーが、自分たちの思考や内部の動作を隠そうとしてるのに気づいたよ。アンスロピックは、Claude CodeからオープンコードやオープンウェイトのLLMに簡単に移れないようにしたいんだ。