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

バイブコーディングの逆効果なインセンティブ

概要

AIコーディングアシスタントは「vibe coding」による中毒性とコスト増大の問題を抱える。 トークン数課金モデルが冗長なコード生成を促進し、経済的な逆インセンティブを生む。 簡潔さを求めると正確性が損なわれるというトレードオフも存在する。 ユーザー側の工夫で対策は可能だが、根本的な解決には企業側のインセンティブ設計の見直しが必要。 AIの問題というよりは、ビジネスモデルの設計に起因する現象であることを強調する。

Vibe Codingの逆インセンティブ

  • AIコーディングアシスタント(例:Claude Code)は 中毒性 が高いことを体感すること
  • 「もう一歩で完璧な解決策が得られる」という 可変比率強化 が依存傾向を加速すること
  • 労力に対して大きな報酬が得られる「 effort discounting」効果が心理ループを生み出すこと
  • 完了バイアス (始めたタスクは終わらせたい本能)と組み合わさり、プロンプトを繰り返す傾向が強まること
  • 結果として、利用コストが高騰しやすい現象を分析すること

コストと冗長なコード生成の問題

  • Claude CodeなどのAIは 冗長で過剰なコード を書きがちであることを確認
  • 経験豊富な開発者なら数行で済むところを、AIは 段階的かつ過剰防御的 に解決しがちであること
  • LLMは 抽象的な論理設計 が苦手なため、根本的な解決策よりも小手先の対応が増える傾向を持つこと
  • 実例として、人間によるminimax実装400行に対し、Claude Codeは627行+多数の追加ファイルを要したこと
  • バグ修正のたびに冗長なコードをAPIに送信する必要があり、 コストと手間が増大 すること

LLMの訓練データと経済的インセンティブ

  • LLMの訓練データには 冗長で非効率なコード が多く含まれている可能性が高いこと
  • AIコーディングアシスタントは トークン数課金 (生成・処理したテキスト量による課金)を採用していること
  • これにより「 トークン消費を増やすほど企業の収益が増える」という逆インセンティブが働くこと
  • 冗長なコードがやり取りのたびに文脈として含まれ、 無駄なコストが積み重なる 現象を説明
  • 企業側はこの問題を積極的に解決する動機が弱いこと(Upton Sinclairの格言に例えること)

簡潔さと正確性のトレードオフ

  • Giskard AIのPhareベンチマーク研究によると、「 簡潔に答えよ」という指示は 正確性を損なう 傾向があること
  • モデルは短くするために 事実誤認や不正確な回答 をしやすくなることを確認
  • コード生成でも同様に、 簡潔さを優先すると品質が下がる 現象が日常的に観察されること
  • LLMは chain-of-thought reasoning (思考の連鎖)で冗長に説明したほうが精度が上がる傾向があること
  • 経済的インセンティブ(トークン消費最大化)と品質(正確性やエレガントなコード)との 根本的なミスマッチ が存在すること

ユーザーができる対策

  • 実装前に必ず計画を立てさせること :詳細な設計プランをAIに作成させることで、無駄な実装を減らすこと
  • 明示的な許可プロトコル :AIがコード生成前に必ず許可を求めるよう指示し、無駄な出力を抑制すること
  • Gitによる実験と大胆な枝切り :バージョン管理を活用し、うまくいかない場合は枝ごと捨てることで冗長な修正を避けること
  • 安価なモデルの利用 :小型・安価なモデル(例:Claude 3.5 Haiku)を使うことで、自然と簡潔なコードを得やすくすること
    • Claude 3.5 HaikuはClaude 3.7の26%の価格で利用可能であり、冗長さも少ない傾向があること

より良いインセンティブ設計への提案

  • LLMコーディングエージェントの評価・報酬を コード品質指標 (簡潔・保守性・正確性など)で行うよう転換すること
    • ただし、品質指標の策定は主観的になりやすい課題があること
  • 企業は 効率性を報いる価格モデル の導入を検討すること(現時点では具体案は未確定)
  • LLMの訓練時に RLHF(人間によるフィードバック強化学習) を活用し、エレガントな解答を優遇すること
    • 複数案から最良コードを選ばせる手法の導入を検討すること
  • 企業が 冗長なコード生成が長期的には損失につながる と認識すること
    • Sam AltmanがChatGPTユーザーの丁寧な言葉遣いがコスト増につながっていると認めた事例を紹介すること

結論:AIの問題ではなくビジネスモデルの課題

  • 本質的にはAIそのものの問題ではなく、 ビジネスモデルや収益構造 が逆インセンティブを生んでいること
  • ユーザー・開発者が価値を感じるのは「 根本的な問題解決をもたらす、簡潔で保守性の高いコード」であること
  • 企業がこの価値と経済的インセンティブを 整合させる設計 を目指すべきであること
  • それまでは「 簡潔さは知性の証、だが機械に魂はない」という意識で使いこなすこと
  • AIは指示通りに動くだけであり、問題の根源は 人間のインセンティブ設計 にあると認識すること

Hackerたちの意見

その「もう少しで完璧」な感じ、つまり完璧な解決策まであと一歩という感覚が、すごく中毒性があるんだよね。バイブコーディングは、変動比強化の原則に基づいていて、これは報酬が予測できない形でやってくる強力なオペラント条件付けの一種なんだ。固定された報酬とは違って、この間欠的な成功パターン(「コードが動いた!すごい!でも壊れた!なんで!?」)は、ギャンブル行動に似た、脳の報酬経路でより強いドーパミン反応を引き起こすんだ。自分は「バイブコーダー」ではないけど、GenAIツールの「魅力」の一部としてこれをすごく理解してる。画像生成ツールに自分の思い通りにやらせようとするのは、まさに「ギャンブルみたい」な感じがする。

ギャンブルみたいじゃなくて、実際にギャンブルだよ。ドルをチップ(トークン、カジノによってはチップをトークンって呼ぶところもある)に交換して、機械に入れて賞品を得るチャンスを得るんだ。レバーを引いてもうまくいかないかもしれないけど、2回目はうまくいくかもしれないし、そうじゃないかもしれない。どちらにしても、ハウスが勝つ。これはギャンブルとして規制されるべきだよ、だってそうなんだから。メタファーなんてない、スロットマシンと違うのはAIが現金を直接出力することはないってことだけで、ただお金を生む可能性のある出力をするだけ。だから、最初のギャンブルで運が良ければ、次のチャンスを与えてくれるんだ。ギャンブルは続くよ。

でも、何にでも同じことが言えるよね?スタートアップ、結婚、子供。解雇されたコーダーたちは、うまくいかなかったキャリアに賭けてたんだ。人生にもっと確実性が欲しいなら、政治に関わらなきゃいけない。たとえそうしても、未来がどうなるかなんて保証はない。社会は30年後、100年後に崩壊するかもしれない…これはすべて、前の世代の物語に基づく幻想を満たすためのロールプレイに過ぎない。

イメージジェネレーターに自分の思い通りにやらせようとするのは、まるで「ギャンブル」みたいな感じだよね。特に、ヌードみたいに明確に生成しないって言われてるものを生成させようとすると、ハッキングしてる気分になる。

  1. そうだね。遅くまでClineやClaude(他のシステムも)を正しい答えに導くために頑張ってきたよ。AWS Bedrockを使えるのはすごく良かった(注:私はAmazonで働いてる)。2. エージェントを制約のあるエリアで、機能やオブジェクトに取り組ませると良い結果が出てる。明確に定義した(私が定義した)境界の中でね。もしジュニアエンジニアの評価基準が、彼らを1日1回訂正することなら、エンジニアは週に1回、シニアは月に1回、プリンシパルは四半期に1回…みたいな感じ。これらのエージェントを超エネルギッシュなインターンみたいに扱って、頻繁にちょっと手を加えてあげて。3. 標準的な組織管理のコーディングプラクティスが適用される。エージェントに作業を見せさせたり、計画を立てさせたり、ユニットテストをさせたり、調査させたりするんだ。基本的に、私たちはオンデマンドの低品質なインターンを持つソフトウェア開発マネージャーになってきてるってことだね。これはすごく強力なツールだけど、彼らから超エレガントでコンパクトなコードを期待しないで。今はそれをシニアエンジニア(人間)に任せておこう。(注:AlphaEvolveの発表を見て、次は超エネルギッシュな応用科学インターンが来るのかなって思ってる…)

面白いことに、Sonnet 3.7のごちゃごちゃした問題の約90%は、プロンプトの最後にちょっと言葉を追加するだけで解決するんだ。「必要な最小限のコードを書いて」ってね。言葉の選び方にはそれほど敏感じゃなくて、「簡潔に」や「最小限の変更を加えて」も同じことになるんだけど、結果的にそのコードは指示なしのバージョンよりも50%は短くなることが多い。

まあ、記事にはそれが精度を下げるって書いてあるね。そういう問題にしょっちゅう直面するの?

一方、Geminiは超防御的なコーディングをする傾向があるね。絶対に起こらないような状況でも、すべてのエッジケースを個別にチェックするし、もし起こったとしてもNOPだし。

LLMを使ってコーディングするのがギャンブルみたいで、あと一つのプロンプトで欲しいものが手に入るかもっていう最初の主張について、もっと書かれていたらよかったな。これって、プロセスに対するコントロールがどれだけ少ないかを本当に表してるし、同時にコントロールがあるという幻想も持ってる。コードが冗長になるのは、もっと利益を上げるためだとはあまり思わない。モデル提供者が簡潔なコードを優先していない要素はあるかもしれないけど、もし「質」を保ちながら簡潔さが可能なら、あるモデルが他のモデルに対して十分な優位性を持つことになるから、提供者はそれをやるだろうと思う。

アンドレイ・カルパティの元ツイートで気になったのは、「雰囲気に身を任せて」って言ってたことで、これが結果にも当てはまるのかなって思った。

同意するよ、最近Cursorを使ってReactアプリを作ってるから、最初の主張についてよく考えてる。フロントエンド開発ではフィードバックループがかなり短縮されるから、より一般的だと思う。ポジティブなフィードバックを多くもらうほど、コードを書くときにそれを使うことに慣れてくるんだ。ここにはもう一つの逆説的なインセンティブがあると思う - 組織は機能や製品を早く生産したいと思っていて、LLMがそれを助けるけど、長期的には開発者の認知能力やスキルが低下するリスクがあるんだ。使わないことでそれを失ってしまうからね。

プロセスに対するコントロールがどれだけ少ないかを本当に捉えている一方で、コントロールの幻想を持っている。これは実際、人生についての大きな洞察で、いくつかの東洋の哲学では、私たちはそれに到達することが求められている。私たちはコントロールの幻想を愛しているけど、実際にはそれを持っていない。人生はほとんど、私たちが経験するように展開されていくものだ。

でも、ギャンブルと同じように、正しいやり方もあるよね。確かに、スロットマシンにコインを突っ込んでトランス状態になってるおばあちゃんもいるけど、ブラックジャックをプレイして平均を上回る人たちもいる。どうやってプレイするかを知っていたり、デッキに「感覚」を持っていたり(カードを数えることも…)、最も重要なのはいつ降りるか、立ち去るかを知っていること。同じように、LLMを使うにはコンテキストサイズやプロンプトを理解する必要があるし、モデルが自分の尻尾を追いかけているだけなのか、ユーザーを喜ばせるために「解決策」を強引に作ろうとしているのかを見極める感覚が必要だよ。

まだ歪んだインセンティブはないと思う。今はお金を燃やして、赤字で運営する時代だから。防壁はなく、トークンあたりの質と価格だけで、リーダーはすぐに移動する。あと、著者は無制限の遅いリクエストで20ドルのCursorを検討すべきだと思う。ゴミを吐き出すときにトークンごとに支払うのは痛いだろうし、十分なコンテキストを提供したと思っても、実際には足りなかったりする。捨てられたコードやプロンプトの行数をカウントするプラグインを誰か作る必要があるね。

ここには二つの歪んだインセンティブがあるんだ。著者が注目している主なものは、LLM企業が冗長な回答を生産するようにインセンティブを受けていること。だから、すでに冗長なプロジェクトを拡張するようにLLMに依頼すると、使われるトークンが増えてコストが上がるんだ。二つ目はもっと対人関係的なもので、成果を出すプレッシャーの中で、LLMに頼って80%まで進めて、残りの20%を磨くのがとても簡単になる。私は新しい言語を学ぶ必要がある新しい領域にいるから、過去のやり取りに基づいてChatGPTに練習問題やコーディングのエチュード、宿題を考えてもらうようにしてるんだ。

https://archive.ph/EzbNK

こういう歪んだインセンティブは、ほとんどすべての開発者向けのソフトウェアサービスツールの中心にあるよね。他人のホスティングされたモデルを使うと、トークンの使用量が増えるインセンティブが働くけど、AIに特有のことじゃない。データベース・アズ・ア・サービスの会社を考えてみて。CPU使用量を最適化するインセンティブはないし、CPUごとに料金を取る。ディスク圧縮を改善するインセンティブもないし、ディスク使用量に対して料金を取る。いくつかのDBベンダーは、ディスク圧縮を明示的に無効にして、ストレージ容量に対して喜んで料金を取ってる。自分でソフトウェアやモデルを運用すると、インセンティブが一致する:電力を少なく使う、メモリを少なく使う、ディスクを少なく使う、など。

最近の「広範なイベント」がログやメトリクスに取って代わるトレンドが好きなんだ…ギガバイト単位で課金する会社が先導して広めてるよね。

自分でソフトウェアやモデルを動かすと、インセンティブが合うんだよね。電力を少なく使ったり、メモリを少なく使ったり、ディスクを少なく使ったり。でも、うちのチームの時間はめっちゃ貴重なんだ。ほんとにほんとに貴重。あ、他の人を雇う余裕もないしね。でも、やっぱり私たちの時間は超貴重。これらのツールが必要なんだよ!

「雰囲気コーディング」みたいな「目を閉じて」何かを作る方法は良くないと思うし、しばらくは悪いままだろうけど…「雰囲気アーキテクティング」は今後の道になると思う。AIを使ってアーキテクチャプランを生成・調整するのに成功したことがあって、スタブファイルや関数を作らせて、それを個別に埋めていく感じ。コードを打たずにほぼ全てを進められるけど、いつもよりかなり多くのアーキテクチャ的思考とコードを読む必要がある(それからAIに「もっと良くして」って言う)。盲目の人たちが象を触って部分的にしか理解できないアナロジーみたいに考えてる。AIは高レベルのアーキテクチャにはまあまあだけど、低レベルの生産にはまあまあで、全体像やパーツの組み合わせ(どれが欠けているか)を理解するには人間が必要だね。

あなたが言ってるのは、バイブコーディングの「正しい」やり方だね。バイブコーディングの問題の多くは、ユーザーが使っている技術の能力を誤解していることから来てる。彼らは現在のシステムの能力を過大評価していて、実質的に魔法が起こることを期待してる。適切なガイダンスやコンテキスト、価値のある情報をコーディングIDEに提供していないんだ。2030年代の考え方を2025年のシステムに適用しようとしてるけど、まだそこには至ってないよ。できるだけ多くのガイダンスとコンテキストを提供すれば、もっと良い体験ができるよ。

みんながこれらのAIツールから得ている生産性が理解できない。試してみたけど、非常にシンプルなものか、ゼロから完全に新しいものを作る以外では、何も価値のあるものが得られない。例えば、クラウドに簡単なタスクをこなすウェブサービスの基本を頼むことはできるけど、大規模で複雑な、場合によっては多言語のコードベースでバグ修正や機能開発を手伝わせようとすると、全く役に立たない。それが実際に僕の時間の大部分を占めてるタスクなのに。新しいものを素早く立ち上げる時は、AIにやらせる必要はないんだよね。だって、それは簡単な部分だから!何か見落としてるのかな?使い方が間違ってる?みんながどれだけ中毒性があるとか、生産性がすごいとか、コードがAIによって書かれて監査されてるって話してるのをよく見るけど、本当にシンプルな反復的なプログラミング以外でそれが可能だとは思えない。

何か見落としてるのかな?使い方が間違ってる?その話がもっと理解できるのは、ほとんどの開発者が主にCRUDウェブアプリやアドウェアを書いてることを思い出すときだね。これは基本的に解決済みの問題だから。

おそらく、コーディングに費やす時間の80%は、先月読んでないコードファイルの中にいる。理解する前にコードのセクションを30秒以上読む必要があるなら、AIに説明してもらう。大体、1〜15分かかるような複雑さのコードをうまく説明してくれるけど、もっと複雑な質問にはうまく答えられないし、複雑なコードを理解するのも苦手。僕にとってはまあまあ役立つツールだと思う。最も使いこなしているのは、僕が10分で読むコードを1時間以上かかる人たちだと思う。つまり、経験が少ない人たちが最も価値を得ているってことだね。

昨日、Cursorを試してみて、初めての(意図的に非常に怠惰な)バイブコーディングアプローチをやってみたんだ(シンプルなthreejsプロジェクト)。タスクを受け入れて、いろいろやってみたけど、失敗して、またやってみて、また失敗して、結局はダメだった。魔法の呪文をちょっといじって、うまくいくまで頑張ることもできるけど、正直、あまりハマらなかった。LLMは、分解された孤立したサブタスクには価値を感じるけど、LLMに聞く方がググるより早いからね。私にとって、AIが本当に役立つのは、自分の複雑なコードベースをスキャンして統合できるようになったときだと思う。そうすれば、そこで動く解決策を提供してくれて、APIポイントを妄想したり、互換性のないライブラリのバージョンを行き来したりしなくて済むから(これが私の主な問題)。

使った経験は良かったけど、注意点としては、Gemini Pro 2.5だけが役に立って、しかも「スポット」タスクにしか使えなかったって感じ。通常は、ちょっと面倒なことをやるためにCLIツールやスクリプトを作るのに使ってる。Teamsのミーティング中に、RoslynコンパイラSDKを使って、コードベースから非常に繰り返しのパターンを取り除くCLIツールを作ったこともある。あるOCDな人が同じ無駄なことを何千回も繰り返してたんだ。ツールは数秒でそのゴチャゴチャを片付けてくれたよ。

ここで最初に聞くべき最も重要な質問は、コーディングエージェントを使ってるかどうかだね。LLMを使ったコーディングであまり成果が出ていない人は、ClaudeやGPTにコードスニペットを求めて、それを自分で貼り付けてビルドしてることが多い(あるいは、エディタでLLM拡張のオートコンプリートを使ってる)。真剣にLLMを使っているほとんどの人はエージェントを使っていて、つまりLLMがファイルを作成したり、リントしたり、コンパイルしたり、問題を見つけたら反復したりしてる。LLMをうまく使うにはもっといろいろあるけど、これが基本的な部分だね。

プロトタイピングには非常に役立つと思う。これらのツールはすぐに複雑さの限界に達して、質の低いコードを出力するけど、グリーンフィールドのプロトタイプにはそれで十分だ。AIコーディングツールを使って新しいライブラリをテストしたり、迅速に探索したりすることができて、その動作する例を手動で修正して、自分のコーディング基準に合わせることができる。クリーンなカプセル化でより良く機能するから、手動でコードをクリーンアップするサイクルを行うことでコーディングツールの寿命を延ばすこともできるし、一度に一つのスコープのコンポーネントに取り組むことができる。アイデアを試したり、より早く学んだりするのには素晴らしいけど、私の目標は自分でプロトタイピングしている技術をよりよく理解することだから、プロダクション品質のコードを出力させようとは思っていない。LLMが適切な型安全なコンパイル、リント、テスト、カプセル化、コードレビューなどを持つしっかりしたアーキテクチャのプロダクションコードベースで動作できる未来があると思うけど、監視や品質管理、修正がないとすぐにコードベースが劣化しちゃうから、かなり厳しく管理する必要があるね。

これまで試すたびに同じ問題が発生してる。普段扱ってるコードは組み込みC/C++で、社内ライブラリを使ってるから、ツールがあまり役に立たないんだ。存在しないインターフェースを生成しようとしたり、手で書くよりも悪いコードを生成したりする。正確性が求められるし、コードを説明できることも重要だから、そういうツールの使用は説明の妨げにもなる。自分で全部書くまで手取り足取りしないといけないし。関数のドキュメント生成もあまり役に立たないし、生成されたコメントは全然洞察を与えてくれない。価値のあるものを生成するために書かなきゃいけない量は、自分でドキュメントコメントを書くよりも大変だし。個人プロジェクトのzigでは、完全に消えちゃったり、ひどいコードを生成されたりする(私のコードはそんなに悪くないのに!)。ここには中間地点がないみたい。ペアプログラマーとしてツールを使ってみたこともあるけど、しばしば迷ったり、すでに言ったことを繰り返すループにはまったりする(おそらくコンテキストウィンドウから外れちゃう)。他の人がそういうツールを使っているときは、思考するために使うのをやめるように頼まないといけない。そうしないと、私が言ったことをLLMに渡したり、作業をさせようとしたりするから、教えたりメンターしたりするのがほぼ不可能になる。数学やプログラミングのデバッグには自信があるけど、LLMが間に入ると、どこで間違ったのか、どうやって正しい道に戻すのかを推測するのが不可能になる。思考プロセスが失われちゃうから(そもそもなかったかもしれないし)。これは「バイブコーディング」でもないし、日常的にどんなタスクでも使うには十分に役立つとは思えない。私がphindを使う主な理由は、検索クエリをうまく操作できないときにqwantの代わりに使うためで、LLMの出力は無視して、参考文献だけを見ることが多い。

ここで気持ちを表明してくれてありがとう。前の職場では生産性向上のためにAIツールを試すように言われて、あなたが言ってるようなシナリオに似た状況に直面してた。生産性向上が期待できる部分は改善が見られなかった一方で、スピードアップがあった部分はそれほど重要なミッションではなかった。でも、AIが時々「ファジー」検索をしてくれるのは本当に助かった。例えば、ある機能の口語的な呼び方がソースコードの命名規則と合わないこともある。AIはコミットメッセージやレビュー情報の関連性を見つけてくれて、git-blameを探す時間を節約してくれた。ただ、そういう問題は必ずしもボトルネックではなく、同僚にSlackで聞けばもっと安く解決できることが多かった。

「グルーコード」や、本当に面倒なプロセスを自動化するための内部アプリには信じられないほど役立つ。ただ、通常はそういうツールを開発するのにかかる時間が積み重なって、コアな作業から時間を奪ってしまう。例えば、2つの3Dアプリケーション間で微妙に異なる実装のために、うまく動作しないファイルを扱うとき。ファイルが正しく動作するようにパッチを当てるPythonスクリプトを頼むと、問題を説明するだけでほぼ瞬時にできる。プロトタイピングにも役立つ。美しいコードベースを作るのに1ヶ月かける前に、まず何かを立ち上げて、時間をかける価値があるかどうかを評価できるようにする。アイデアに実現可能性があるかどうかを確認するためにね。プログラミングの問題の90%はラバーダッキーで解決できるし、これもまた貴重な領域だよ。AIが正しくなくても、LLMと話すことで解決策が見えてくることが多い。

彼らは生産性を上げているわけじゃない。短期的にはね。外国のコードやベースを学ぶのに役立つ便利なツールではあるけど、面倒なブロッカーにぶつかったときに助けてくれるんだ。通常は何時間もかかる問題や、別の視点が必要な時にね。彼らは意見を聞く場を提供してくれて、質問をしたり、コードについてもっと考えたりする手助けをしてくれる。ここで大事なのは「もし」だよ。「もし」ちゃんと読む気があればね。危険なのは、何も理解せずにただクリックして再プロンプトして、何かが動くまで続ける人たちだ。そういう人たちは、何が起こっているのか、どう動いているのか全く分かっていない。これがAIコードエディタの最大の問題になるだろうね。人々が「イエスに運転させる」状態になってしまって、その過程でツールの非効率的な使い方がスループットを遅くし、高い請求書につながるんだ。AIはトークンごとにかなりのコストがかかるし、それはどんどん上がっていく。確かに中毒性があると思うし、「生産性の向上」というのは人々が感じるものだけど、誰も測ってないよね。測るのは難しいし。でも、もし1時間問題にハマるのと3日かかるのを比べたら、確かに生産性は上がったって言えるよね。その特定のシナリオではね。平均すると?誰にも分からない。彼らは便利なツールだけど、誤解されていることも多いし、多くの人が理解するための時間を取るのが面倒くさいんだ。見出しや根拠のない主張を読んで、ハイプやFOMOに圧倒されちゃう。だから、こうなっちゃった。別のテックバブルだね。実際、スーパーバブルだよ。ツールが長く私たちと共にいるわけじゃないとか、役に立たないわけじゃないんだ。ただ、今は過大評価されすぎてるってことだね。

「バイブコーディングをガチャゲームに例える」というのは予想外の新しい視点だね。確かに、もっと知識があるはずの人たちがAIやLLMを第二の救世主のように持ち上げている理由がわかる。まるで、ハイな人たちが大麻を癌の治療法として語るのと同じだね。