TECH BLOG
テックブログ
NEWS
ニュース
RECRUIT
採用情報
CONTACT
お問い合わせ
header_bg_sp
photo
squaresquare
TECH BLOG
テックブログ

「さっき言ったよね?」AIがルールを守らなくなるのはなぜか

Claude Code生成AI活用

公開日

アウン・ピエAIエンジニア

結論から書く。AIが最初のルールを守らなくなるのは、忘れたからではなく、会話が長くなってルールが埋もれたからです。直すには、ルールをチャットの中で言うのをやめて、どの会話にも自動で入る場所(プロジェクトの指示やカスタム指示)に置きます。

AIと話しはじめるとき、最初に一つ頼んでおきました。こういう内容です。

この会話は全部ミャンマー語で答えてください

はじめのうちはミャンマー語で返ってきます。しばらくすると日本語の単語が混ざりはじめます。そのうち、段落ごと日本語になります。

「さっき言ったよね?」と言い直します。直ります。少し経つとまた同じことが起きます。

難しいルールではありません。解釈の余地もない。それでも、長くなると消えていきます。

AIには記憶がない

根っこにあるのは一つです。AIには記憶がありません。 会話をしているように見えますが、実際は違います。入力するたびに、それまでのやりとりを全部まとめて送り直しています。

そのとき送られているのは、その一行だけではありません。会話のはじめから全部が、毎回いっしょに渡っています。

AIはそれを読んで、次の一行を返します。返したら、すべて忘れます。次に入力すれば、また全部を送り直すことになります。

毎回、初対面の人に頼んでいる

こう考えてみてください。仕事を一人に頼みます。終わったらその人は帰ります。次は別の人が来ます。前の人とは無関係で、経緯を何も知りません。

だから頼む前に、引き継ぎ資料を全部渡すことになります。最初から起きたことすべて。

次もまた別の人。資料をまた全部渡す。

AIとの会話はこれと同じです。最初に「ミャンマー語で答えて」とその場で伝えました。その言葉は資料の一枚として束に入ります。

会話が長くなると、資料は積み上がっていきます。一枚目は束の底に沈みます。残ってはいる。ただ、上に新しいものが積み重なった状態で。

会話が進むたびに資料の束が厚くなり、最初に伝えたルールの一枚が底に沈んでいく図

会話が進むたびに資料の束が厚くなり、最初に伝えたルールの一枚が底に沈んでいく図

束の厚さはトークンで測る

ここで用語が一つ出てきます。AIは文章を文字のまま読みません。細かく区切ってから扱います。この区切られた一つひとつを トークン といいます。目安はこのくらいです。

  • 英語:単語1つ ≒ 1トークン
  • 日本語:文字1つ ≒ 1トークン(ときどきそれ以上)

正確である必要はありません。文章の量を測る単位だと覚えておけば十分です。会話が長くなるほど、毎回送るトークンが増えていきます。

どこまで厚くできるのか

資料の束は、いくらでも厚くできるわけではありません。一度に読める量には上限があり、これを コンテキストウィンドウ といいます。トークンで測ります。

ただ、上限に届く前から問題は始まっています。資料が何百枚も積まれると、新しく積まれた資料のほうに引っ張られやすくなります。 一枚目は残っているのに、上に積まれた何百枚の流れに負けてしまう。日本語のやりとりが続けば、AIも日本語に寄っていきます。

忘れられたように感じるのは、これが理由です。忘れているのではなく、埋もれています。

上限を本当に超えた場合は、ツールによって違います。古いほうを外して続けるものは、最初に言ったことから順に外していきます。「会話が長すぎます」と表示して止まるものもあります。

「メモリー機能」はどうなのか

ここで疑問が出てくるはずです。ChatGPTやClaudeにはメモリー機能があります。前の会話の内容を覚えているところを見たことがあると思います。それは、いま説明したことと矛盾しないのでしょうか。

矛盾しません。実際にやっているのは、大事なことを別のメモとして保存しておき、次に話すときに資料の束へ入れ直すという動きです。

新しく来た人が覚えていたわけではありません。メモを一枚、追加で渡しただけです。

ルールの置き場所を変えた

あらためて考えると、問題はルールのほうにはありませんでした。ルールを置いた場所のほうです。

チャットの中でその場で伝えたものは、資料の一枚です。あとから積まれるものに埋もれていく一枚。

そこで、チャットの中で言うのをやめて、ファイルにしました。以前使っていたツールでは、こうしていました。ルールをファイルに書いておく。新しい会話を開いて、そのファイルを添付する。これだけで、はっきり良くなりました。

今は添付する必要もありません。どの会話にも自動で入る場所が、多くのツールに用意されています。この記事を書いている時点では、Claudeならプロジェクトの「指示」、ChatGPTならカスタム指示やProjectsの指示がそれにあたります。名前は違っても考え方は同じで、一度入れておけば、新しい会話でも毎回いっしょに渡ります。

違いは単純です。チャットで言うのは、一度きり。指示に入れておくのは、毎回入っている。

引き継ぎの例で言えば、チャットで言うのは束に入る一枚です。指示に入れておくのは、束とは別に、束を渡す前に先に手渡しておく指示書のほうです。束がどれだけ厚くなっても、この一枚は束に入りません。埋もれることもありません。

ルールの置き場所の違い。チャットで言ったルールは束の中で埋もれる。指示に入れたルールは束とは別に、毎回先に手渡される

ルールの置き場所の違い。チャットで言ったルールは束の中で埋もれる。指示に入れたルールは束とは別に、毎回先に手渡される

次に、渡しておいたルールをAIが守らなくなったら、チャットに打ち直すのはやめてください。打ち直すのは、資料の束の上に新しい一枚を載せることです。しばらくすればそれもまた埋もれます。また打ち直すことになります。終わりがありません。

かわりに、そのルールをチャットの外に出します。どの会話にも自動で入る場所——プロジェクトの指示やカスタム指示——に入れてしまう。

一度入れておけば、もう二度と言わずに済みます。

SHARE

関連記事

アウン・ピエの他の記事

もっと見る ›