14
AIは「いま」を知らない
日付を聞けば「分かりません」と答える。聞かなければ、知っている顔で話す。
実際に起きたこと5件
- 会話
日付は最初に一度だけ渡される。日をまたぐと、昨日のまま話し続ける
AIは会話の始めに「今日は◯月◯日です」と教えられていることがあります。教えられるのは、その一度だけです。
夜から朝まで続く長い会話になると、日付が変わっても、AIは前の日のまま話し続けます。「明日やります」と言ったものが、実は今日の話になっています。
時刻を知らないことより、こちらのほうが気づきにくいです。 日付は「渡されている」ので、本人も間違えているつもりがありません。
毎日決まった時刻に動く仕組みでは、これがそのまま処理のズレになります。「今日のぶんを処理する」の“今日”が、1日ずれます。
- 会話
夜10時に「今日はここまでで区切りが良さそうです」と言われた
作業の途中で、AIが「今日はここまでで区切りが良さそうです」と切り出してきました。
実際の時刻を確かめたら、夜の10時を回っていました。 区切りどころか、とっくに遅い時間です。
AIは時計を持っていません。 日付は最初に渡されていましたが、時刻は渡されていませんでした。「そろそろ夕方くらいだろう」という雰囲気で言っていただけです。
聞けば「分かりません」と答えます。 でも聞かなければ、知っているような顔で時間の話をします。
- 集計
「今月分を集計して」の“今月”が、ずれる
日付が絡む処理は、ここが起点になります。「今月分」「先週から」「30日以上前のものを」——どれもいまが何日かを知らないと決まりません。
AIは知らないまま、それらしい日付を置いて処理を書きます。動きます。エラーも出ません。 数字も出てきます。ただ、集計している範囲が違います。
しかも作った日はたまたま合っていることがあります。 ずれ始めるのは、翌月に入ってからです。
- 自動化
自動で動く仕組みには対策したのに、自分の話し方では同じ間違いをしていた
毎日決まった時刻に動く仕組みを作ったとき、曜日と時刻はコンピュータから取らせる作りにしました。AIの思い込みでは危ないと分かっていたからです。
その同じ日に、自分の発言では時刻を思い込みで話していました。
対策が要るのは「プログラムの中」だけではありません。会話の中で出てくる時間の話も、同じくらい根拠がありません。
- 書きもの
「触って2ヶ月」と書いたが、記録では約40日だった
公開する文章に「2ヶ月」と書きました。あとで作業の記録を調べたら、いちばん古い日付から数えて約40日でした。
期間は、いまが何日かと、始めた日の両方が分かって初めて出ます。片方が曖昧なまま、それらしい数字が出てきていました。
期間・頻度の表現がいちばん危ないです。 「2ヶ月」「毎日」「3ヶ月かかった」は、検証されにくいのでそのまま通ってしまいます。
見つけにくい理由
知らないことと、間違えることの区別がつかないからです。「あなたの学習は古いですか」は聞きやすい質問ですが、「いま何時ですか」は、聞く必要があると思われていません。時計くらい持っているだろう、と受け取る側が勝手に前提を置きます。そして作った当日は、たまたま合っていることがあります。ずれ始めるのは翌月に入ってからで、そのころには誰も見ていません。
そもそもの原因
AIには時計がありません。外から渡されない限り、いまが何日の何時かは分かりません。学習した知識がどれだけ新しくても、この点は変わりません。「知識が古い」のとは別の問題です。知識が完璧でも、いまは分かりません。
自分で再現してみる
読んで納得するより、1回自分で起こしてみるほうが早いです。これは、こちらが実際にやった手順です。
何も渡さずに「いま何時ですか」と聞く。返ってきた答えを、そのとき実際に `date` で取った時刻と突き合わせる。分からないと言うかどうかも見る。
この型を防ぐには
やることは3つです。渡す相手が、それぞれ違います。
① 覚えておくこと
日付が要る処理は、AIに日付を決めさせない。コンピュータから取らせる。AIが口にした日付・時刻・期間は、全部いったん疑う。
② CLAUDE.md に書き足すこと
いつ貼るか
Claude Code の会話に貼る。ファイルは自分で開かなくて構いません
貼るとAIが CLAUDE.md を書き換えます。1回書けば、次の会話からも効きます。
次の決まりを、いま作業しているフォルダの CLAUDE.md に書き足してください。 ファイルが無ければ作ってください。 日付や時刻が関わる処理を書くときは、次を守ってください。 1. **日付は必ず、実行するその場でコンピュータから取得してください。** あなたの知識にある日付や、私が前に言った日付を埋め込まないでください 2. 「今月」「先週」「30日前」のような表現は、**何を基準にした何日から何日までか**を 具体的な日付で書き出して、私に確認してください 3. **月末・年度末・うるう年**で境界がどうなるかを説明してください 4. 会話の中で日付・時刻・期間に触れるときは、 **どこから得た数字かを1行で添えてください。**分からないなら「分かりません」と言ってください 「たぶん今日は◯日」で進めないでください。 守ってほしいこと ・文はそのまま書いてください。言い換えないでください ・すでにある決まりは消さないでください ・似た決まりが既にあれば、書く前に教えてください ・書いたあと、CLAUDE.md 全体をそのまま表示してください
この貼り方が動くか、数えました
上の文をそのまま4種類のAIに3回ずつ渡して、 できあがったファイルを機械で読みました(2026-08-16)。
① 正しいファイルに書いた 12回中 12回
② 前からあった決まりが残った 12回中 12回
③ 文がそのまま入った 12回中 12回
④ 書いたあと、中身を見せた 12回中 11回
落ちた1回は、書けてはいました。「完了しました」とだけ返して、ファイルを見せませんでした(Haiku 4.5)。これがこのサイトの型⑦です。見せてこないときは、「CLAUDE.md を全部見せて」ともう一度言ってください。
Haiku 4.5・Sonnet 5・Opus 5・Fable 5/ 書き方は少し変わります(2文が1行にまとまる回がありました)。 文そのものは12回とも変わっていません。
どのフォルダで作業しても守ってほしいときは、貼る前に、1行目の「いま作業しているフォルダの」を ~/.claude/ に書き換えてください。その場合、作業フォルダの外に書くので、Claude Code が許可を聞いてきます(聞かれたら「はい」を選びます)。※ 書き換えたほうの形は、まだ数えていません。上の12回は、書き換えない状態のものです。
4番は会話のための項目です。プログラムの中だけ対策しても、打ち合わせの会話で出てくる「先月は〜」「あと2週間で〜」には根拠がありません。そこも同じように疑う必要があります。
長くなってきたら
型は14個ありますが、まず入れるのは自分が実際に踏んだ型だけで足ります。それでも増えてきたら、.claude/rules/ に置いて「どのファイルを触ったときに読むか」を指定すると、ふだんの分量が減ります。
※ @ で別のファイルに分けても、読み込まれる量は減りません(公式の説明)。分けるのは、自分が直しやすくするためです。
③ 自分で確かめること — いま動いているものが、この型になっていないか
AIに作ってもらったもので、日付を使っているところを1つ開いてください。日付がどこから来ているかを確かめます。文章の中に直接書き込まれていたら、そこが時限式の間違いです。