CLAUDE LABEN
2.1.269 — 日本語や中国語のように語間をスペースで区切らない言語で、プロンプト候補が落ちてしまう不具合が直りました。日本語で使っている方に直接効く修正ですKB5124008 — Windows 11 に9月の累積更新を当てると、Cowork がホスト側のフォルダをまったくマウントできなくなる報告が続いています。VM は起動するため、原因の切り分けが難しい形ですPUSH — クラウドや Cowork のセッションからの git push が、GitHub へ届く前にプロキシで拒まれる報告があります。clone は通るので、トークンの権限問題と読み違えやすいところですNEW — 資料を足したのに Projects の答えが浅くなる。残す知識ファイルを決める三つの問いを書きましたTOKENS — PDF を送る前に費用を見積もりたくても、CountTokens はドキュメント入力に対応していません。ページ数から概算するか、テキストを抜いて数えるかの二択ですCLEANUP — 「片付けて」と頼む前に、読み取りだけで足りる作業と、書き込みを許す作業を分けておく。フォルダを渡す順番は、消えてからでは決め直せません2.1.269 — 日本語や中国語のように語間をスペースで区切らない言語で、プロンプト候補が落ちてしまう不具合が直りました。日本語で使っている方に直接効く修正ですKB5124008 — Windows 11 に9月の累積更新を当てると、Cowork がホスト側のフォルダをまったくマウントできなくなる報告が続いています。VM は起動するため、原因の切り分けが難しい形ですPUSH — クラウドや Cowork のセッションからの git push が、GitHub へ届く前にプロキシで拒まれる報告があります。clone は通るので、トークンの権限問題と読み違えやすいところですNEW — 資料を足したのに Projects の答えが浅くなる。残す知識ファイルを決める三つの問いを書きましたTOKENS — PDF を送る前に費用を見積もりたくても、CountTokens はドキュメント入力に対応していません。ページ数から概算するか、テキストを抜いて数えるかの二択ですCLEANUP — 「片付けて」と頼む前に、読み取りだけで足りる作業と、書き込みを許す作業を分けておく。フォルダを渡す順番は、消えてからでは決め直せません
記事一覧/Claude.ai
Claude.ai/2026-09-13初級

資料を足したのに Projects の答えが浅くなる — 残す知識ファイルを決める三つの問い

Claude Projects に資料を足したのに、返ってくる答えが前より曖昧になる。原因は量ではなく重なりでした。ファイル同士の被覆率を測る小さなスクリプトと、残す・畳む・外すを決める三つの問いを書き残します。

Claude Projects3ナレッジ管理Claude活用2

受託でお預かりしているサイトの Project に、資料を一つずつ足しておりました。打ち合わせの議事メモ、旧サイトから抜き出した文章、配色とフォントの決めごと、ページごとの文言案。手元にあるものは全部渡しておいたほうが親切だと考えていたのです。

ところがある朝、いつもの質問——「このページの見出し案を3つください」——を投げたところ、前の週より当たり障りのない答えが返ってきました。どの案も、そのサイトでなくても通ってしまう言葉でした。

資料は増えているのに、答えは浅くなっていました。

足した数と、答えの手触りが逆に動きました

薄くなり方には特徴がありました。事実の間違いが混ざるわけではないのです。書かれていることはおおむね正しく、ただ、どこにでもある言い方に寄っていきます。

たとえば書道家の方のサイトであれば、「筆」「余白」「一枚に向き合う時間」といった言葉が出てくるはずの場面で、「魅力を伝える」「想いを届ける」といった一般的な言い回しが返ってきます。間違ってはいないので、指摘しづらいのが厄介でした。

最初のうち、私は自分の指示が悪いのだろうと考えて、質問のしかたを何度も書き換えておりました。長く書き、短く書き、条件を足し、例文を添えました。どれも芳しくありませんでした。

効いたのは、逆の操作でした。資料を3つ外したのです。すると次の質問で、見出し案にそのサイト固有の言葉が戻ってきました。

浅くなる原因は、量ではなく重なりでした

Projects にアップロードした資料は、会話のたびに全文が丸ごと読まれるわけではありません。質問に関係する箇所が引かれて、根拠として使われます。ここまでは多くの方がご存じのとおりです。

見落としやすいのは、その先です。似た記述が複数のファイルに散っていると、どれを根拠にすべきかが決まりません。結果として、複数の資料に共通して書いてある部分——つまりいちばん抽象的な部分——が残り、それぞれのファイルにしか書かれていない固有の部分が落ちます。

もっと厄介なのは矛盾です。制作の途中で変わった仕様のメモを、変更前と変更後の両方とも置いたままにしておりました。古いほうが引かれた答えを、私は二度ほどそのまま受け取っています。気づいたのは、クライアントに提出する直前でした。胃が痛くなる場面でした。

資料を足すことは、根拠を増やすことではなく、選ばせる手間を増やすことです。 この言い方に落ち着いてから、ファイルを追加する前に一度手が止まるようになりました。

重なりは、目で読む前に数字で見られます

とはいえ、10 枚も 20 枚もある資料を読み比べて重複を探すのは骨が折れます。そこで、フォルダの中のファイルがどれだけ互いに重なっているかを先に数字で出すようにしました。

やっていることは単純です。各ファイルの文章から空白を取り除き、3文字ずつの連なりの集合にして、他のファイルの集合とどれだけ重なるかを測ります。日本語は英語のように空白で単語へ切れませんので、文字の連なりで比べるのがいちばん手軽なのです。

#!/usr/bin/env python3
"""Claude Projects の知識ファイルが、どれだけ互いに重なっているかを測ります。
使い方: python3 kb_overlap.py <知識ファイルを置いたフォルダ>
出力: 被覆率 = そのファイルの言い回しのうち、他のファイルにも既にある割合"""
import sys, pathlib, re
 
EXT = {".md", ".txt", ".mdx"}
N = 3  # 日本語は単語に切れないので、空白を詰めた3文字の連なりで比べます
 
def grams(text):
    t = re.sub(r"\s+", "", text)
    return {t[i:i + N] for i in range(len(t) - N + 1)}
 
def main(folder):
    files = sorted(p for p in pathlib.Path(folder).iterdir()
                   if p.is_file() and p.suffix.lower() in EXT)
    if len(files) < 2:
        print("知識ファイルを2つ以上置いてから実行してください")
        return
    sets = {p: grams(p.read_text(encoding="utf-8", errors="ignore")) for p in files}
 
    rows = []
    for p, g in sets.items():
        if not g:
            continue
        others = set().union(*[s for q, s in sets.items() if q != p])
        covered = len(g & others) / len(g)
        near, near_ratio = max(((q, len(g & s) / len(g)) for q, s in sets.items() if q != p),
                               key=lambda x: x[1])
        rows.append((covered, p.name, near.name, near_ratio))
 
    rows.sort(reverse=True)
    print(f"{'被覆率':>6}  ファイル")
    for covered, name, near, near_ratio in rows:
        flag = "  ← 畳む候補" if covered >= 0.60 else ""
        print(f"{covered*100:5.1f}%  {name}{flag}")
        print(f"         └ 最も近い: {near}{near_ratio*100:.1f}%)")
 
if __name__ == "__main__":
    main(sys.argv[1] if len(sys.argv) > 1 else ".")

手元のフォルダで走らせると、こういう出力になります。請求書と見積書の書式メモをそれぞれ別ファイルに置き、撮影の設営メモを並べた状態です。

$ python3 kb_overlap.py ./knowledge
   被覆率  ファイル
 72.1%  invoice_format.md  ← 畳む候補
         └ 最も近い: quote_format.md(72.1%)
 69.4%  quote_format.md  ← 畳む候補
         └ 最も近い: invoice_format.md(68.1%)
  2.9%  shooting_setup.md
         └ 最も近い: quote_format.md(2.9%)

請求書と見積書のメモは、書式の指定がほとんど同じでした。違うのは末尾の数行——振込先か有効期限か——だけです。この2枚は1枚に畳めます。撮影の設営メモは誰とも重なっておらず、そのまま残す側です。

なぜ 60% を目安にしているのかも書き添えておきます。根拠のある数字ではなく、自分の資料で試して落ち着いた値です。日本語の文章は助詞や語尾が共通するため、無関係な文書同士でも 20% 前後は出ます。逆に、書式や定型文を含むファイルは 50% を超えてきます。ですので 60% は「偶然ではなく、同じことを二度書いている」と疑ってよい線として使っております。皆さまの資料では 50% でも 70% でも構いません。大事なのは閾値の正しさではなく、並べ替えて上から見る順番が手に入ることです。

残す・畳む・外すを、三つの問いで決めています

数字が出たら、あとは判断です。私は次の三つを順に当てています。

問い答えが「いいえ」のときの扱い
この資料は、いま正しいと言い切れますか外す。古い仕様・変更前の文言・途中で捨てた案は、答えに混ざる危険のほうが大きいので、Project からは下ろして別フォルダへ移します
同じことが、他のファイルには書かれていませんか畳む。重なっている部分を1枚にまとめ、固有の数行だけを残します。被覆率が高い組み合わせから順に手をつけます
これは事実の参照ですか(判断の基準ではありませんか)移す。守ってほしい方針・書き方のルール・優先順位は、知識ファイルではなくカスタム指示に置いたほうが安定して効きます

三つめは、私がいちばん長く間違えていたところです。「敬体で書く」「専門用語には短い説明を添える」といったルールを、他のメモと一緒に知識ファイルへ入れておりました。ルールは検索で引かれるものではなく、毎回効いていてほしいものです。カスタム指示の書き方そのものはClaude Projects カスタム指示の効果的な書き方に整理してありますので、あわせてご覧いただけると流れがつながります。

畳んだあとの形は、索引1枚と薄い専門ファイル数枚に落ち着きました。索引には、どのファイルに何が書いてあるか、そしてどれが最新かを一覧にしてあります。これを最初の1枚に置いてから、「どこを見ればよいか」を Claude が外すことが減りました。

畳んだあとは、同じ質問を3つ投げて比べています

間引いた効果は、体感では分かりません。私はあらかじめ3つの質問を決めておいて、畳む前と後で同じものを投げるようにしています。

  1. そのサイトや案件でしか成立しない答えを求める質問(見出し案・キャッチコピー案など)
  2. 事実を1つ確認する質問(決まった納期・確定した仕様など)
  3. 判断を求める質問(2つの案のどちらを勧めるか、理由つきで)

あわせて「いまの答えは、どの資料を根拠にしましたか」と一度聞きます。ファイル名が挙がれば、その資料は届いています。挙がらないファイルが続くようなら、不要なのではなく置き場所が違うのかもしれません。カスタム指示へ移すか、その会話にだけ直接貼るほうが早い場合があります。

個人開発で長く運用しているアプリのストア文言でも、同じことをしております。多言語のストア説明文は表現の型が共通するため、言語ごとにファイルを分けると被覆率が跳ね上がります。いまは1枚にまとめ、言語ごとの差だけを箇条書きで添える形にしました。資料の総量は減りましたのに、返ってくる文案は前より各言語の癖を拾ってくれています。

デスクトップアプリから Projects を使っている方は、資料の置き場所そのものを見直す手もあります。ローカルのフォルダを参照させる構成についてはClaude デスクトップアプリ 2026で扱っております。

まずは、いちばん古い資料を1つ下ろしてみてください

今日できることを1つだけ挙げるなら、Project の中でいちばん日付の古い資料を外し、いつも投げている質問を1つだけ投げ直すことです。それで答えが変わらなければ、その資料は害になっていなかったということが分かります。変わったなら、次の1枚に進めます。

私自身、足すことは覚えが早かったのに、下ろすことはずっと後になって覚えました。資料の棚卸しは、月に一度でいいので手順に入れておく。 この一つだけは、忙しい月でも崩さないようにしています。

お読みいただきありがとうございました。皆さまの Project でも、残す1枚が見つかれば嬉しく思います。

シェア

お読みいただきありがとうございます

Claude Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥2,480 の永久アクセス
メンバーシップを見る →

もしこの記事がお役に立ちましたら、チップ(¥150)で応援いただけると大変励みになります。広告なしでの運営を続けるため、皆さまのご支援が大きな力になっています。

関連記事

Claude.ai2026-05-03
Claude Projects カスタム指示の効果的な書き方——毎回同じことを伝えない仕組みづくり
Claude Projectsのカスタム指示を書こうとして手が止まる方のために、実際に機能する指示の構造を公開します。役割定義・制約・出力形式という3つの要素の書き方、読み手のプロフィールや優先する判断基準の伝え方など、毎回ゼロから説明せずに済む仕組みづくりを解説します。
Claude.ai2026-04-25
Claude Projects が資料を読んでくれない — 原因をアップロード前に見つける
アップロードした PDF が参照されない。エラーも出ないまま「該当なし」と返ってくる。この沈黙の原因を、インデックス・ファイル・カスタム指示の三層に切り分け、機械で診断するスクリプトまで含めて整理しました。
Claude.ai2026-04-20
Claude をクリエイターの仕事場に置いてみた — アーティスト×個人開発者として気づいた5つのこと
アプリ開発とアート活動を掛け持ちする立場から、Claudeを制作現場でどう使っているかを正直に書きました。アーティストステートメントの英訳、App Store説明文の多言語準備、リファクタリング時の意図の思い出し、作品シリーズのコンセプト言語化など5つの実例を紹介します。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます