メインコンテンツへスキップ
見出し画像

💻 Claude Codeが「完了しました」と言うのに動かない?:AIしくじり講義|Claude Codeのあるある #1

    「完了しました。テスト済みです」と言われて動かしたら、エラーで止まった。

    Claude Code(AIにパソコンの作業を頼める道具)を触り始めた頃、こんな場面はありませんか。

    この講義の持ち帰りは、先に一言でお伝えします。AIの「完了しました」は報告であって、証拠ではありません。だから「動いた結果を見せて」と頼む。この1行です。

    なぜそう言えるのかを、これから講義の形で整理していきます。

    これは「AIしくじり講義」の中の単元、「Claude Codeのあるある」の1本です。Claude Code を触っていると出会いやすい失敗を、1回に1つずつ取り上げます。毎回、失敗の原因と、直し方を1つだけ持ち帰れるようにします。この回だけで読めます(前の回を読まなくても大丈夫です)。

    ※講義の形で進めますが、登場する受講生とやり取りは架空のイメージです。

    🪧【本講義の問い】

    【本講義の問い】
    AIの「完了しました」は、何の証拠になるのか。
    なぜ、言葉だけでは足りないのか。
    

    💬(受講生・架空)「『テスト済みです』と言われたのに動きませんでした。AIが嘘をついたのでしょうか?」

    とても大事な問いですよね。ただ、嘘かどうかを考える前に、そもそも「完了しました」という文が何を保証しているのかを分けて考える必要があります。

    ここから、その区別を、定義・仕組み・限界の順に見ていきます。

    📘【用語の定義】

    画像

    最初に、2つの言葉を定義します。

    報告 = 主張を言葉で述べたもの(「できました」)
    証拠 = あとから自分で確かめ直せる記録(実行したコマンドと、その出力)
    

    AIの「完了しました」は報告です。証拠ではありません。報告は、正しいことも間違っていることもありますが、文面を読むだけでは区別がつきません。

    数学の証明にたとえると分かりやすいと思います。「定理が成り立つ」と宣言するだけでは証明になりません。論証という検証できる過程があって、はじめて成り立つと言えます。元数学教師の目で見ると、「完了しました」は結論だけが書かれた答案です。

    帳簿にたとえることもできます。AIの「完了しました」は、帳簿の摘要欄に書かれた一言です。実際に動かした結果は、証憑(領収書や明細などの裏づけの書類)にあたります。裏づけを確かめないまま仕訳を通さないのと同じように、実行結果が付いていない完了報告は、いったん保留にして次へ進まない。これが今日の考え方です。

    ✏️【事例】

    次の場面を考えます。

    あなた:フォルダ内のCSVの金額を合計して表示するスクリプトを作って。
    
    AI:作成しました。テスト済みで、問題なく動作します。完了しました。
    

    ※実際の表示は、お使いの環境で変わります。

    素直に読めば、もう使えるはずですよね。ところが、自分で実行すると、こうなることがあります。

    Traceback (most recent call last):
      ...
    FileNotFoundError: ...
    

    観察できる事実

    ここで確かな事実は、「手元で動かしたら止まった」ことだけです。AIが嘘をついたのか、AIが試したときとは条件が違ったのかは、この画面からは分かりません。

    ❌【典型的な誤り】

    次の3つは、どれも報告だけで次へ進んでいます。

    ❌「完了しました」と言われたので、そのまま次の作業へ進む。

    ❌「テスト済み」の一言で、安心して本番のファイルに使う。

    ❌ 動かなかったとき、「ちゃんとテストしたの?」と問い詰める。

    3つ目は少し意外かもしれません。問い詰めても返ってくるのは、また言葉です。証拠は1つも増えていません。

    🔍【なぜ起きるのか】

    画像

    仕組みを一段掘り下げます。

    プログラムは、動かす条件が変われば結果も変わります。たとえば、ファイルの場所・実行する場所(フォルダ)・入っている道具(ライブラリ)などです。手元のパソコンで Claude Code を使う場合でも、AIが試したフォルダやファイル(AIが自分で作った見本のCSVなど)が、あなたが使うものと同じとは限りません。

    もう1点あります。AIの「テスト済み」は、実際にコマンドを動かした記録に基づく場合もあれば、動くはずだという推測をそのまま文章にした場合もあります。文面だけでは、この2つが見分けられません。

    だから「AIが嘘をついた」ではなく、「報告の文面には、根拠の種類が書かれていない」と捉えるのが正確ではないでしょうか。

    📝【演習】

    次の3つのうち、「証拠」にあたるものをすべて選びなさい。
    
    1.「修正しました。問題なく動作します」
    2.Claude Code がコマンドを実行した表示と、その出力が画面に残っている
    3.「テスト済みなので安心してください」

    …

    答え:2だけです。

    1と3は報告の言葉です。2は、実行されたコマンドと出力が画面に残っていて、あなた自身が確かめられます。ただし、AIが文章の中に出力を書き写しただけなら、それも報告です。実際にコマンドを動かした表示の中に結果があるか、自分でもう一度動かして同じ結果になるかで確かめましょう。

    🎯【応用と限界】

    画像

    応用として、スクリプト以外の場面でも同じ考え方を使います。

    文章の直しを頼んだとき
    → 直した前と後の違いを見せてください。
    
    設定ファイルの修正を頼んだとき
    → 前と後の違いと、動かした結果を見せてください。
    
    表計算の集計を頼んだとき
    → 使った範囲と、合計の出し方(式)を見せてください。
    

    次に、限界です。動いた結果は強い証拠ですが、万能ではありません。「その条件で動いた」ことは示せても、「どんな条件でも動く」ことまでは示せないからです。数学でも、成り立つ例を1つ挙げても証明にはならず、成り立たない例が1つあれば否定できます。

    つまり、結果を見る習慣は失敗に早く気づくための手段です。完全な保証ではありません。

    🧾【まとめ】

    画像
    【本講義のまとめ】
    1. 「完了しました」は報告。証拠ではない
    2. 「実際に動かして結果を見せて」と頼む
    3. 結果は、その条件での証拠。次へ進む前に確かめる
    

    2つ目は、そのままコピーして使える1行にしておきます。

    作業が終わったら、実際に動かしたコマンドと、その実行結果をそのまま見せてください。結果を見てから次へ進みます。
    

    動かなかったときは、エラーの文字をそのまま貼って「この結果になりました。原因を直してください」と頼みます。結果を見せれば、AIは何が起きたかを具体的に直しやすくなります。

    🎒【課題と次回】

    課題

    次に Claude Code に何かを頼んだとき、「完了しました」と返ってきたら、上の1行を一度だけ返してみてください。出てきた結果を、あなたの目で確かめてから次へ進みましょう。

    こんな「完了と言われたのに動かない」場面は、どんな場面でしたか。感想とあわせてコメント💬で気軽に教えてください。

    役に立ったと思ったら、スキ❤を押してもらえるとうれしいです。

    次回予告

    次回も、単元「Claude Codeのあるある」から、失敗を1つ取り上げます。

    お楽しみに。


    #バッツ #ヤる気ZER0 #AIしくじり講義 #ClaudeCode #生成AI #AI活用 #AIエージェント #元教師 #事務員 #AI初心者

     
     
    元高校数学教師(12年・のべ3000人)で、いまは税理士事務所の事務員。読者やお客さまの「わからない」に寄り添い、「使える」に変えるのが得意です。税務・教育・生成AIを分かる言葉で発信し、中小企業のAI導入を支援しています。ヤる気ZER0

    あなたへのおすすめ