Claude Media
Claudeで客室清掃の仕上がり写真を点検表に照らす手順 — 合否と再清掃の指示

Claudeで客室清掃の仕上がり写真を点検表に照らす手順 — 合否と再清掃の指示

清掃後の客室写真を点検項目ごとに合否判定し、再清掃の指示まで出させる手順です。判定不能の区分と、臭いや衛生など写真では決められない項目の切り分けも扱います。

客室清掃の仕上がりは、清掃スタッフが自分でチェックし、リーダーが抜き取りで見直す流れが多いはずです。ここで時間を食うのは、全室を歩いて回る点検そのものです。

写真を撮って点検表に当てる部分は、Claudeに下書きさせられます。ベッドのシワ、鏡の拭き跡、アメニティの欠品のように、写真で見える項目が対象です。

臭い、水回りの衛生、マットレスの下は、写真では決められません。この線引きを先に決めてから、点検表と撮り方を整えます。

写真で決められる項目と、決められない項目

最初に、点検表の各項目を3つに振り分けます。Claudeに渡すのは、写真で決められる項目だけです。

区分項目の例扱い
A写真で判定できる項目の例ベッドメイクの乱れ、備品の欠品、ゴミの残り、鏡の拭き跡扱い合否をClaudeが下書きする
B写真だと確度が下がる項目の例髪の毛1本、水垢の薄い曇り、小さな染み扱い「判定不能」を許し、人が現物を見る
C写真では決められない項目の例臭い、排水口の衛生、マットレス裏、換気の効き扱い人が現場で確認する(Claudeには出させない)

B区分が肝になります。公式のドキュメントは、画像の解釈が不正確になる場合として、低品質・回転した画像・200ピクセル未満の非常に小さな画像を挙げています。髪の毛や薄い曇りは、撮り方ひとつで写ったり消えたりします。ここを無理に合否へ寄せると、見逃しも誤指摘も増えます。

仕分け

点検表の振り分けで見る3つの観点

  • 見えるか

    全景や近接で、その項目の状態が写真に写っているかを見ます。写らない項目はC区分です。

  • 基準を言葉にできるか

    「きれい」では判定できません。「枕の縫い目が入口側を向いている」のように観察できる文にします。

  • 誤判定の代償は何か

    見逃したときに宿泊者へ直接影響する項目ほど、写真だけで閉じず、人の確認を残します。

点検表を、写真で判定できる文に直す

既存の点検表は「ベッド周り:良好」のような書き方が多く、そのままではClaudeが基準を取り違えます。1項目を、観察できる状態の文に書き直します。

同じ内容を店舗の手順書から起こす方法は、Claudeで開店・閉店チェックリストを店舗マニュアルから作り、更新差分も確かめるにあります。客室でも考え方は同じで、項目にIDを振り、合格の基準を1文で書きます。

項目ID: B-02
場所: ベッド
区分: A
合格の基準: シーツに目立つシワがなく、枕が2つ並び、
           ベッドカバーの端が左右で同じ高さに垂れている
不合格の例: シーツの中央に大きな折れ筋がある / 枕がずれている
撮影: ベッド全景(入口側から)1枚

「不合格の例」を添えるのがコツです。例示は出力の形式や質を揃える有効な方法で、3〜5個入れると結果が良くなるとされています。点検表の不合格例は、そのまま例示になります。

基準に数字を入れられる項目は、数字にします。「歯ブラシ2本、シャンプー1本」のように個数で書ければ、欠品の判定は写真から読み取りやすくなります。ただしClaudeは物体の数を概算で答えることがあり、小さいものが大量にあるほど数え違いが出ます。個数が多い備品は、棚ごとに撮り分けます。

撮影の約束:清掃スタッフが迷わない最小限

写真の質が判定の質を決めます。点検表に撮影位置を書き込み、清掃スタッフが同じ写真を撮れるようにします。

  • 1項目につき全景を1枚。気になる場所は近接をもう1枚
  • 照明をつけ、逆光を避ける
  • スマートフォンの縦横は統一し、傾けて撮らない
  • 備品棚などは、手前の物が奥を隠さない角度で

画像のサイズにも決まりがあります。形式はJPEG、PNG、GIF、WebPです。1枚あたりの上限はAPIで10MB(base64に変換した後の大きさ)、claude.aiでは10MBです。Amazon BedrockとGoogle Cloud経由では5MBです。1回に送れる枚数は、claude.aiで1メッセージあたり20枚、APIでは200kトークンのコンテキストウィンドウを持つモデルで100枚です。

客室1室を15枚前後で撮るなら、枚数の上限には収まります。気をつけたいのは、1回のAPIリクエストに20枚を超える画像を入れた場合です。このときは、すべての画像に、より厳しい1枚あたりの寸法の上限がかかります。対策は、長辺を2000ピクセル以下に縮小するか、20枚以下に分けることです。複数室をまとめて送りたいときは、室ごとにリクエストを分けるほうが安全です。

解像度は、モデルによって上限が違います。長辺の上限は、Claude 4.7以降のモデルで2576ピクセル、それ以外で1568ピクセルです。スマートフォンの写真(4000×3000前後)はそのまま送ると縮小されます。縮小で細部が潰れる心配があるなら、送る前に自分で縮小・切り出しをしておくと、何が見えているかを把握できます。

プロンプトの形:判定区分に「判定不能」を入れる

渡し方の基本は、写真を先に、指示を後に置くことです。画像のあとにテキストを置く構成が推奨されています。複数枚送るときは、Image 1:のようにラベルを付け、プロンプトの側から名前で呼べるようにします。

ラベルには、撮影位置と項目IDを書きます。Claudeは画像のメタデータ(撮影日時など)を受け取りません。日時や部屋番号は、自分でテキストに書きます。

Image 1: 305号室 / B-02 ベッド全景
Image 2: 305号室 / B-05 洗面台全景
Image 3: 305号室 / B-06 洗面台の鏡(近接)

指示文は、次のような構成にします。

あなたはホテルの客室清掃の点検補助です。
添付の写真を、下の点検項目に照らして判定してください。
 
判定は次の3種類だけを使います。
- 合格: 基準を満たしていると写真から読み取れる
- 不合格: 基準を満たさない状態が写真に写っている
- 判定不能: 写真から決められない(暗い・ぶれ・見切れ・基準の対象が写っていない)
 
守ること:
- 写っていないものは推測しない。判定不能にして理由を書く
- 不合格には、写真のどこに何が見えるかを具体的に書く
- 不合格には、再清掃の指示を1文で添える(誰が何をするか)
- 臭い・衛生状態・写真に写らない場所は判定しない
 
出力は表で、列は 項目ID / 判定 / 根拠 / 再清掃の指示 とします。
 
点検項目:
(ここに点検表を貼る)

3区分のうち「判定不能」を明示するのが要です。区分がないと、Claudeは写真から読み取れない項目にも、どちらかの判定を返しがちになります。「写っていないものは推測しない」の一文で、見えない棚の中身を勝手に補うことを抑えられます。

出力形式を固定したいときは、表のかわりにJSONを指定する方法もあります。形式を指定する指針や、スキーマで出力を縛るStructured Outputsの案内は、公式のプロンプト指針にあります。

写真の渡し方:claude.aiで試す、APIで回す

まずclaude.aiで数室分を試すのが手軽です。画像はファイルと同じようにアップロードするか、チャット欄にドラッグ&ドロップします。1メッセージの上限は20枚です。プロンプトを調整し、判定の傾向が掴めたら、日々の運用はAPIに移します。

APIでは、画像をimageコンテンツブロックで渡します。供給方法は、base64の埋め込み、画像のURL、Files APIのfile_idの3種類です。ただしAmazon BedrockとGoogle Cloudでは、現状base64のみ使えます。次は、base64で複数枚を送る例です(公式の例に沿った形で、モデル名は公式の例の表記です)。

import base64, pathlib
import anthropic
 
client = anthropic.Anthropic()
 
def image_block(path):
    data = base64.standard_b64encode(
        pathlib.Path(path).read_bytes()
    ).decode()
    return {"type": "image", "source": {
        "type": "base64", "media_type": "image/jpeg", "data": data}}
 
shots = [
    ("305号室 / B-02 ベッド全景", "photos/305_bed.jpg"),
    ("305号室 / B-05 洗面台全景", "photos/305_sink.jpg"),
]
content = []
for i, (label, path) in enumerate(shots, 1):
    content.append({"type": "text", "text": f"Image {i}: {label}"})
    content.append(image_block(path))
content.append({"type": "text", "text": pathlib.Path("prompt.txt").read_text()})
 
resp = client.messages.create(
    model="claude-opus-5-5",
    max_tokens=2000,
    messages=[{"role": "user", "content": content}],
)
print(resp.content[0].text)

prompt.txtには先ほどの指示文と点検表を入れます。ANTHROPIC_API_KEYは環境変数に置き、スクリプトに直接書きません。

費用は、画像のトークン数に比例します。画像は28×28ピクセルのブロックで数えられ、1000×1000ピクセルなら1296トークンです。高解像度に対応するモデルは、同じ画像に最大でおよそ3倍のトークンを使います。細部の判定に高解像度が必要ない項目は、縮小してから送ると費用と待ち時間を抑えられます。

判定を鵜呑みにしない:人が確認する範囲

Claudeの返す表は、点検の一次仕分けです。ドキュメントでも、画像の解釈は丁寧に見直すこと、精度が必須のタスクを人の監督なしで任せないことが求められています。客室では、次の4つに分けて人の確認を残します。

落とし穴

合格の表は、写っていない場所の合格を意味しない

表の「合格」は、送った写真の範囲での合格です。ベッドの下、引き出しの中、カーテンの裏は、写真に撮らなければ判定の対象外です。点検表の項目がC区分のまま残っていないか、毎回の運用前に見直します。

人の確認

写真判定のあとに人が確かめる4つ

  • 臭いと衛生

    排水口のぬめり、トイレの隅、タオルの残り香は、写真に写りません。清掃後の最終確認は人が現場で行います。Claudeの表は「写真で見える項目は済んだ」という意味でしか読めません。

  • 判定不能と、確度の低い不合格

    判定不能の行は人に回します。不合格にした根拠が「写真の左側に曇りが見える」のように曖昧なら、現物を見て決めます。

  • 枚数を数える項目

    物体の数は概算になることがあり、小さな物が多いほど数え違いが出ます。ミニバーの補充のように個数が合否に直結する項目は、人が数えます。

  • 写真の真正性

    Claudeは、画像がAIで生成されたものかどうかを判定できません。他の部屋の写真の使い回しや、昔の写真の再提出は、写真判定では防げません。日時や部屋番号を写り込ませる運用(部屋番号の札と一緒に撮る)や、無作為の現場確認で補います。

返ってきた再清掃の指示は、そのまま渡さない

再清掃の指示は、Claudeの下書きをリーダーが読んでから現場に渡します。基準の取り違えがあると、不要な再清掃が発生して現場の信頼を失うためです。次の2点だけを確認すれば十分です。

  • 根拠に書かれた「写真のどこ」が、実際の写真でその場所を指しているか
  • 指示の内容が、点検表のその項目の「不合格の例」と矛盾していないか

指摘箇所を画像上で正確に指させる使い方は、あてにしないほうが安全です。位置や座標の出力は概算なので、頼る前に確認が要ります。位置は言葉で書かせ、確認は人の目で行います。

写真に写り込むものの扱い

客室写真には、清掃の対象以外が写ることがあります。宿泊者の私物、書類、忘れ物、スタッフ自身です。扱いを決めておきます。

  • 宿泊者の私物や書類が写るときは、写さない構図で撮る。写ってしまったら、その写真は送らない
  • 忘れ物は点検写真に混ぜず、遺失物の手順に従って別に記録する
  • 人が写る写真は、運用で原則禁止にする

Claudeは、画像の人物の名前を答えることを拒否します。AIが人を特定しない設計であっても、写り込んだ個人情報の扱いは、施設側のルールで決めます。

画像データの扱いについては、Vision機能のFAQに次の記述があります。アップロードした画像はAPIリクエストの間だけ保持され、処理が終われば自動で削除されます。また、アップロードされた画像でモデルを学習することはありません。利用する経路(claude.ai、各クラウド経由)ごとの設定は、契約やプランの条件も別に確かめます。法人で使うときは、社内の情報管理の担当者と取り扱いを揃えてから始めます。

運用前に、自施設の写真で精度を測る

導入前に、過去の点検で人が合否を付けた写真を30〜50組用意します。合格・不合格・判断が割れた例を混ぜ、Claudeに判定させて人の判定と突き合わせます。

見るのは正解率ではなく、次の2つです。

  • 人が不合格としたものを、Claudeが合格にした件数(見逃し)。ここは少ないほうがよく、多い項目はC区分に戻す
  • Claudeが不合格にしたものを、人が合格とした件数(過剰指摘)。多い項目は、基準の文を書き直す

項目ごとに見逃しが多い場所は、B区分に落とすのが現実的です。自施設の客室や備品の見た目に合わせて、点検表の基準文と「不合格の例」を入れ替えると、判定が揃っていきます。

外観の傷を写真で仕分ける運用の考え方は、Claudeで外観検査の不良品を写真から分類するにまとめています。一次仕分けと人の確認を分ける発想は、客室でもそのまま使えます。巡回報告書として、指摘と是正期限を項目別に並べる書き方は、Claudeで店舗巡回の報告書を写真から作る手順が参考になります。

まとめ

写真判定の価値は、全室の目視確認を置き換えることではなく、人が見る室を絞ることにあります。合格の多い室は抜き取りで済ませ、判定不能や不合格の多い室に、リーダーの時間を回します。

始めたあとも、振り分けは固定しません。運用中に人が覆した判定を月に一度ほど拾い、見逃しが続く項目はB区分やC区分へ戻します。逆に、合否が安定して人の判定と合う項目は、抜き取りの頻度を下げる材料になります。

この記事を共有:XはてブLinkedIn