AI

Claude Codeとは? - AnthropicのCLI型AIコーディングツールについて紹介

  • POST
はじめに 本記事では、Claude Codeについてご紹介いたします。 近年、AIによるコーディング支援は急速に発展しており、Anthropic社が提供するClaude Codeはその最前線に位置しています。 従来の「エディタ連携型(VS Code拡張など)」とは異なり、CLI(Command Line Interface)ベースで動作する点が大きな特徴です。 Claude Codeとは Claude Codeは、2025年5月22日にAnthropic社から提供されたCLI型のAIコーディングツールです。 ターミナル上で自然言語を入力すると、AIがコードベースを解析し、以下のような操作をサポートします。 新機能の実装 バグ修正 リファクタリング マルチファイル編集 👉 公式ドキュメント: https://docs.anthropic.com/en/docs/claude-code/overview Claude CodeがCLIで提供されている理由 IDE依存の回避 開発者によって使用するIDE(VS Code、Xcode、Vimなど)は異なります。 すべてのIDEにAI機能を実装することは現実的ではないため、CLI形式にすることで全ての環境で共通利用を可能にしています。 進化スピードへの柔軟な対応 GUIベースの開発支援ツールはアップデートに時間がかかる傾向があります。 モデルの進化に追随しやすいCLI形式を採用することで、俊敏な更新や適応が可能となっています。 将来的にはIDE自体が不要となる可能性も見据えています。 上記のような開発コンセプトがあり、Claude Codeが注目される背景には、以下のようなCLIであることによる恩恵が大きいことがあげられます。 環境依存がないため、OSやエディタを問わず使用可能 コマンドラインベースのため、GUIよりも軽量で動作が高速 Claude CodeとCursorなどのAIエディタとの比較 AIエディタだと変更された箇所がエディタ上で可視化されるので、どのファイルのどの部分が変更されたのかすぐにわかります。 一方、Claude Codeの場合はCLIのため、どこが変更されたか把握しづらいという印象です。 特に大規模なコード生成が実行された場合、変更箇所のレビューワークが重くなる傾向があります。 Claude Codeをインストール 以下のサイトをもとに各OSに応じてインストールします。 https://docs.claude.com/ja/docs/claude-code/setup 自身のプロジェクトのルートに移動します。 cd your-project-directory .claude/settings.json を作成します。 Google CloudeのVertex AIを使用する場合は以下を設定。

生成系AIが正しいナレッジカットオフを答えない理由

  • POST
はじめに 生成系AI(LLM:Large Language Model)を使っていて、「あなたのナレッジカットオフは?」と聞いたときに、明らかに間違った日付を返されたことはありませんか? 例えば、Redditのユーザー報告によると、Geminiに英語で「今日の日付は?」と聞くと「2024年6月11日」と答えることがあるそうです。これは一見すると単純なバグのように見えますが、実はLLMの構造的な特性によるものです。 この記事では、AIの「ナレッジカットオフ」と「トレーニングカットオフ」の違い、そしてなぜAIが現在の日付について虚偽の報告(hallucination)をしてしまうのかを解説します。 ナレッジカットオフとトレーニングカットオフの違い まず、2つの重要な概念を理解する必要があります。 トレーニングカットオフ(Training Data Cutoff) トレーニングカットオフとは、AIモデルの学習に使用されたデータの最終日付です。例えば: あるモデルが「2025年7月までのデータ」で訓練された場合、トレーニングカットオフは2025年7月となります この範囲内のデータは、すべてモデルの学習に使用されたことを意味します ナレッジカットオフ(Reliable Knowledge Cutoff) 一方、ナレッジカットオフは、モデルの知識が最も広範で信頼できる日付を指します。 トレーニングデータに含まれていても、すべての情報が同じレベルで学習されるわけではありません モデルが最も確実に知識を持っているのは、ナレッジカットオフまでの情報です 具体例:Claude Sonnet 4.5 Anthropicの透明性レポートによると、Claude Sonnet 4.5は以下のように定義されています: トレーニングカットオフ: 2025年7月 ナレッジカットオフ: 2025年1月 つまり、7月までのデータで訓練されていますが、最も信頼できる知識は1月までということです。これは、後半のデータが学習に含まれていても、その範囲の情報はまだ十分に網羅的ではない、または検証が不十分であることを示しています。 なぜAIは今日の日付を間違えるのか システム時刻へのアクセスがない LLMは、リアルタイムのシステム時刻にアクセスできません。これが問題の根本原因です。 通常のプログラムであれば、OSのシステム時刻APIを呼び出せば現在の日付を正確に取得できます。しかし、LLMは以下の理由でこれができません: 純粋な言語モデル: LLMは入力されたテキストに基づいて次のテキストを予測するだけ 外部APIへのアクセス制限: セキュリティやアーキテクチャ上の理由で、外部システムへの直接アクセスは制限されている 学習データからの推論: 「今日は何日ですか?」という質問に対して、学習データ内のパターンから「それらしい答え」を生成してしまう トレーニングデータの模倣 LLMは、学習データ内に含まれる「今日は〇〇年△△月××日です」という記述を模倣して答えを生成します。 例えば: 学習データに「今日は2024年6月11日です」という記述が多く含まれていた場合 モデルは「今日の日付を聞かれたら、2024年6月11日と答えるのが適切」と学習してしまう可能性がある これは、モデルが意図的に嘘をついているのではなく、学習データのパターンを忠実に再現しようとした結果です。 Hallucinationのメカニズム この現象は、AIの「hallucination(幻覚、虚偽の報告)」の一種です: 学習データ内の日付の分布: 学習データ内で最も頻繁に「今日」として言及された日付 パターンの強化: 訓練中に繰り返し学習された日付が強く記憶される 現実との乖離: 実際の現在日とは無関係に、学習データのパターンを再現してしまう 実例:各AIモデルの状況 Gemini(Google) Redditの報告によると: