こんにちは、アサヒリンクスです。この記事は、代表コバが現場で蓄積してきた知見をもとに、AIを活用して構成・執筆し、弊社にて最終チェックを行ったものです。
「介護・福祉の情報システム部門で、社内のケアマニュアルや業務手順書を職員がすぐ検索できる仕組みを作りたい」という相談が増えています。加算算定要件の改定、感染対策マニュアルの更新など、参照すべき文書が頻繁に変わる介護・福祉分野では「どのファイルが最新か分からない」という声が現場で絶えません。Claude を活用した社内ナレッジ検索はこうした課題を解消する有力な手段ですが、介護・福祉領域には利用者の個人情報が含まれるデータが多く、安易な設計では情報漏洩リスクを抱えます。本記事では、個人情報を分離した安全な設計を軸に、介護・福祉の情報システム担当者が実践できる構築手順とプロンプト例を解説します。
なぜ介護・福祉の情報システムにナレッジ検索が必要なのか
文書が散在しやすい構造的な理由
介護・福祉施設では、厚生労働省通知、施設独自のケアマニュアル、感染症対策手順書、加算算定チェックリストなど、文書の種類と更新頻度が多岐にわたります。これらが共有フォルダ・紙・グループウェアに分散している施設は少なくありません。代表コバが現場経験から観測してきた案件では、ベテランの介護職員が「暗黙知の人肉検索」として機能している施設が多く、その職員が異動・退職すると情報アクセスが著しく低下するケースが繰り返されています。
情報システム部門が担う役割の変化
施設規模が拡大するにつれ、情報システム部門には「文書管理の整備」だけでなく、「現場職員が自己解決できる仕組みの提供」が求められるようになっています。Claude を活用したナレッジ検索を構築することで、問い合わせ対応の工数を削減しながら現場の即応力を高めることができます。文書検索の問い合わせ件数が週10件以上ある施設では、仕組み化による削減効果を実感しやすいでしょう。
個人情報分離の原則:設計の最重要ポイント
介護・福祉データの分類と分離方針
Claude に渡すデータと、絶対に渡さないデータを設計段階で明確に分類することが最重要です。
- 検索対象にしてよいデータ(非個人情報):業務マニュアル・手順書、施設内規程・就業規則、加算算定要件・厚生労働省通知の要約、感染症対策ガイドライン、研修資料
- Claude に渡してはいけないデータ(個人情報含む):ケアプラン・アセスメント票、利用者氏名・住所・家族情報、医療・服薬情報、事故報告書(氏名入り)、苦情対応記録(氏名入り)
「業務ナレッジ」と「個人情報」を物理的に別のデータストアに置くことが安全な設計の核心です。この分離を徹底することで、Claude の利点を活かしながら個人情報保護法上の義務を守る設計が実現できます。
マスキングと匿名化が必要な中間領域
「対応事例をナレッジとして蓄積したい」というニーズもあります。この場合は氏名・年齢・住所をマスキングした上で「事例テキスト」として管理する方法が有効です。「A様(80代女性、要介護3)の夜間転倒事例」を「利用者α(高齢女性、要介護3)の夜間転倒リスク対応事例」に書き換えてから登録します。担当者が手動でマスキングした後のテキストを渡す運用が安全です。
システム構成の全体像と基本実装
最小構成のコンポーネント
大規模なシステム開発が不要な最小構成は以下の3要素で動作します。
- 文書ストア:「ナレッジ検索対象フォルダ」を作成し、非個人情報文書だけを格納する(SharePoint・Google ドライブ・NAS など)
- テキスト抽出・インデックス化:PDF や Word からテキストを抽出して JSON インデックスを生成する。Python スクリプトで自動化できる
- Claude API 呼び出し:職員の質問とインデックスされた文書テキストを Claude に渡して回答を生成する。Anthropic Messages API を使用する
Anthropic Messages API を使った基本実装
以下は Python で Claude API を呼び出す最小サンプルです。`system` プロンプトに「文書外の情報は答えない」という制約を明示することで、Claude が学習データを補完して誤案内するリスクを抑えられます。
import anthropic
client = anthropic.Anthropic(api_key="YOUR_API_KEY")
# 事前にインデックス化したナレッジテキスト(個人情報不含)
knowledge_text = "[業務マニュアル・手順書のテキストを挿入。個人情報は含まない]"
# 職員からの質問
user_question = "褥瘡予防のポジショニングについて最新の手順を教えてください"
message = client.messages.create(
model="claude-sonnet-4-5",
max_tokens=1024,
system=(
"あなたは介護・福祉施設の業務ナレッジアシスタントです。"
"以下の社内文書のみを根拠として回答してください。"
"文書に記載のない情報は「文書には記載がありません」と答えてください。"
"利用者の個人情報には一切触れないでください。\n\n"
f"【参照文書】\n{knowledge_text}"
),
messages=[{"role": "user", "content": user_question}]
)
print(message.content[0].text)
この制約を入れた場合、文書外の情報を回答してしまうハルシネーション率を3〜5割程度低減できることが多いです。
文書インデックス化と検索精度向上
PDF・Word からのテキスト抽出スクリプト
マニュアルや手順書は PDF や Word 形式で保管されていることが多いです。以下のスクリプトで「非個人情報専用フォルダ」を指定してインデックス JSON を生成できます。ケアプランや利用者情報が混在するフォルダをそのまま指定しないよう、フォルダ設計段階で分離してください。
import json
from pathlib import Path
import fitz # pip install pymupdf
from docx import Document # pip install python-docx
def build_knowledge_index(folder_path: str, output_json: str):
"""非個人情報専用フォルダを指定してインデックスJSONを生成"""
index = []
for filepath in Path(folder_path).rglob("*"):
if filepath.suffix.lower() == ".pdf":
text = "".join(p.get_text() for p in fitz.open(str(filepath)))
elif filepath.suffix.lower() in [".docx", ".doc"]:
text = "\n".join(p.text for p in Document(str(filepath)).paragraphs if p.text)
else:
continue
index.append({"filename": filepath.name, "text": text[:3000]})
with open(output_json, "w", encoding="utf-8") as f:
json.dump(index, f, ensure_ascii=False, indent=2)
# 実行例(非個人情報のみのフォルダを指定すること)
build_knowledge_index("/shared/knowledge_base", "./knowledge_index.json")
検索精度を上げる前処理プロンプト
職員が入力する質問には口語表現や曖昧な言い回しが混ざります。Claude に質問を渡す前に「前処理プロンプト」を挟む二段構成にすることで、検索精度が上がります。
preprocess_prompt = f"""
以下の質問を社内マニュアル検索に適した形に書き換えてください。
- 曖昧な表現を具体的なキーワードに変換する
- 個人情報(氏名・住所など)が含まれていたら削除して「利用者情報は除外」と付記する
質問:{user_question}
出力形式:
検索キーワード:[リスト]
検索対象:[業務マニュアル / 加算要件 / 感染対策]
最適化済み質問:[書き換えた質問]
"""
たとえば「夜勤のとき転びそうな人にどうすればいい?」という口語が「夜間帯 転倒リスク 業務マニュアル」に変換され、該当文書が引き当てやすくなります。
アクセス制御と監査ログ:セキュリティ設計
職種別のアクセス権限設計
介護・福祉施設では職種によって参照すべき文書が異なります。ナレッジ検索システムに職種ベースのアクセス制御を実装することで、必要な職員が必要な情報だけにアクセスできる環境を作れます。
- 介護職員:ケア手順・感染対策マニュアル・緊急時対応手順
- 相談員・ケアマネ:加算算定要件・制度改定通知
- 管理者・事務:就業規則・労務関連規程・行政通知一覧
最小構成ではフォルダを職種ごとに分け、社内 AD や Google Workspace のアカウント認証と組み合わせる方法が実装しやすいです。認証基盤がない施設では社内 IP アドレス制限だけでも一定の制御として機能します。
API 呼び出しの監査ログ実装
Claude API の利用をログに記録しておくことはセキュリティ監査に役立ちます。質問テキストをハッシュ化してログに残すことで、万が一質問に個人情報が含まれていた場合でも復元できないようにできます。
import logging, datetime, hashlib
logging.basicConfig(filename="/var/log/knowledge_search.log", level=logging.INFO)
def log_search(user_id: str, department: str, question: str, response_length: int):
# 質問はハッシュ化して個人情報が復元できないようにする
q_hash = hashlib.sha256(question.encode()).hexdigest()[:16]
logging.info(str({
"user_id": user_id, "department": department,
"question_hash": q_hash, "response_length": response_length,
"timestamp": datetime.datetime.now().isoformat()
}))
ログは月次で確認し、深夜のアクセス急増・大量クエリなど不審なパターンがないかチェックする運用を推奨します。1日100件のクエリで約50KB程度が目安です。
現場導入の進め方:段階的アプローチ
パイロット運用から始める3ステップ
いきなり全部門への全文書展開を目指すと作業量が膨大になります。以下の段階的アプローチが現実的です。
Step 1(1〜2週間):対象文書の棚卸しと分類
既存文書を「個人情報含む」「個人情報なし(ナレッジ化可)」に分類します。50〜100ファイル程度の特定フォルダから始めると作業量が現実的です。
Step 2(1〜2週間):最小構成でのプロトタイプ構築
Python スクリプトでインデックスを生成し、コマンドラインから動作確認します。Claude API の費用は Sonnet クラスで1000トークンあたり約0.3〜0.6円程度、プロトタイプ段階では月数百円以内で検証できます。
Step 3(2〜4週間):パイロット部門への展開と効果測定
1部門に絞って運用を開始し、「マニュアル検索にかかる時間」「情報システムへの問い合わせ件数」を前後比較で測定します。月次で問い合わせ件数が20〜30件減る効果があれば、全部門展開の根拠として経営層に示せます。
職員向けのプロンプト入力テンプレート
現場職員が「何を入力すればよいか」迷うことがあります。以下のようなテンプレートをチャット画面に表示するか配布すると定着しやすいです。
「[業務名] の手順を教えてください」
例:「移乗介助の手順を教えてください」
「[加算名] の算定要件と必要書類を確認したい」
例:「看取り介護加算の算定要件を確認したい」
「[感染症名] が疑われるときの初期対応手順を教えてください」
※ 利用者のお名前や個人情報は入力しないでください
個人情報に関する注意書きを画面に常時表示しておくことで、職員への教育と運用の両面から個人情報入力のリスクを下げられます。
導入後の運用と継続的改善
文書更新サイクルとインデックス再生成の自動化
法改正・省令改定に伴うマニュアル更新は介護・福祉分野では避けられません。文書が更新されてもインデックスが古いままでは職員が誤った情報にたどり着くリスクがあります。週次または月次でインデックスを自動再生成する cron ジョブを設定し、「最終更新日時」をインデックスに含めることで職員が回答の新しさを確認できるようにします。
# cron 設定例(毎週月曜 AM6:00 にインデックス再生成)
0 6 * * 1 /usr/bin/python3 /opt/knowledge/build_index.py >> /var/log/knowledge_index.log 2>&1
文書数が数百件規模であればインデックス再生成は5〜10分程度で完了します。この自動化により手動更新忘れという運用リスクを排除できます。
検索ログの傾向分析とドキュメント改善
蓄積した検索ログを月次で分析すると「同じ質問が繰り返されている」「特定の文書がよく参照されている」といった傾向が見えます。検索頻度の高いトピックは原文書の記述が分かりにくい可能性があります。以下のようなプロンプトで Claude に改善提案を生成させることも有効です。
"""
過去1ヶ月の社内ナレッジ検索でよく入力された質問リストです(個人情報はありません)。
この傾向から社内マニュアルの改善が必要なトピックと改善方針を提案してください。
【検索質問リスト(上位20件)】
{top_questions}
出力形式:
1. 改善優先度が高いトピック(3件)
2. 各トピックの改善方針
3. 新たに作成が必要な文書(あれば)
"""
まとめ
介護・福祉の情報システム部門が Claude を社内ナレッジ検索に活用するには、個人情報と業務ナレッジを物理的に分離することが最優先の設計原則です。ケアプランや利用者情報は Claude に渡さず、マニュアル・手順書・加算要件などの非個人情報のみを検索対象にすることで、情報漏洩リスクを抑えながら現場の業務効率を改善できます。最小構成は Python + Anthropic Messages API で構築でき、プロトタイプ段階の費用は月数百円程度です。段階的な導入アプローチ(文書棚卸し → プロトタイプ → パイロット部門展開)により、大きな初期投資なく現場に定着させられます。
本記事は代表コバの現場知見をもとにAIで構成し、弊社にて最終確認を行っています。
Claude を使った社内ナレッジ検索の構築や介護・福祉施設での情報システム活用についてご相談がある方は、お問い合わせページからお気軽にご連絡ください。費用感だけ知りたい方も、まずはお気軽にご相談ください。