記事 / 業務の自動化
シフト作成をAIで自動化する手順と、AIに任せてはいけない判断
シフト作成の自動化は、集約・変換・検証をプログラムに戻し、AIには調整の判断だけを選択肢から選ばせる形にすると安定します。人数・時間帯の条件違反0件と、担当者が自分で翌月分を組める状態に到達した実案件から手順を整理します。
公開 2026年9月28日
シフト作成をAIで自動化するときは、AIに任せるのを「調整の判断」だけにします。人員データの集約、勤怠システムの形式への変換、整形、条件を満たしているかの検証は、すべてプログラムに戻します。この分け方をした実案件では、人数・時間帯の条件違反が0件になり、担当者が自分で翌月のシフトを自動作成できる状態まで届きました。毎月のシフト組みが担当者の経験に依存していて、その属人性を外したい現場向けの整理です。
要点
- AIに任せるのは調整の判断だけ。集約・変換・整形・検証はプログラムで行う
- 判断の出力に自由記述を許さない。決められた選択肢からの選択に限定すると、誤りを機械的に弾ける
- 個人情報はIDに置き換え、対応表は自社の環境から出さない。AIには置き換え後のデータだけを渡す
- ルールは法令・会社・部署の階層に分けてファイルに置く。AIとの会話に置くと引き継げない
- 納品物はツールだけではない。担当者が自分で設定して実行できるところまでを成果とする
AIに任せる範囲と、任せない範囲
| 工程 | 担当 | 理由 |
|---|---|---|
| 人員マスタ・希望休の集約 | プログラム | 入力形式が決まっていれば、AIを挟むほど誤りが増える |
| 勤怠システムの取込形式への変換 | プログラム | 形式が固定。手作業とAIのどちらも不要 |
| 希望休の衝突・責任者配置の調整 | AI | 条件が競合したときの落としどころを出すのは人の経験に近い作業 |
| 人数条件・時間帯の枠の検証 | プログラム | 満たしているかは機械的に判定できる。ここをAIに任せると見逃す |
| 例外の承認 | 人 | 誰を優先するかは業務上の判断で、自動化の対象ではない |
なぜそうなるか。実案件で起きたこと
判断だけをAIに任せると、誤りを運用上ほぼ無視できる水準まで下げられます。 複数部署のシフトを手作業で組んでいた企業では、AIが担う範囲を調整の判断だけに絞り、集約・変換・整形・検証をプログラムで行う構成にしました。AIの出力は自由記述を許さず、決められた選択肢からの選択に限定したので、外れた出力はその場で弾けます。検品では人数・時間帯の条件違反が0件でした。
ルールをどこに置くかで、引き継げるかどうかが決まります。 同じ案件では、人員マスタと部署別のルールを整備し、法令・会社・部署の階層に分けて管理しました。ルールの定義をAIとの会話ではなくファイルに置いたので、担当者や端末が変わっても同じ結果を再現できます。会話の中だけに条件があると、その会話が終わった時点で運用が止まります。
個人情報は、AIに渡す前に落とします。 職員や利用者の氏名はIDに置き換え、対応表は顧客の環境から出さない形にしました。施設向けのシフト・送迎ツールでも同じ扱いにしています。シフトの条件判断に必要なのは勤務可能な時間帯と資格と所属であって、氏名ではありません。
現場ごとの差分は、開発者ではなくテンプレートで吸収します。 施設向けの案件では、施設ごとに人員条件も車両も違うため、汎用ツールをそのまま渡しても使われないという前提から始めました。ツール本体と、それを顧客ごとに組み立てる制作アシスタントの二層に分け、非エンジニアの担当者がテンプレートから顧客別のツールを生成して納品できる形にしています。施設ごとに開発者が手を入れる体制は続きません。
シフト作成をAIで自動化する手順
- 現在の手順を工程に分解する。 集約、変換、調整、検証、承認のどこに時間がかかっているかを分ける。多くの現場で重いのは調整ではなく変換と検証で、そこはAIを使わずに済む
- ルールを階層に分けて書き出す。 法令で決まっていること、会社として決めていること、部署や施設ごとの事情、の3層に分ける。ここを飛ばすと、出てきたシフトの良し悪しを判定できない
- 個人情報をIDに置き換える。 対応表は自社の環境に置き、AIには置き換え後のデータだけを渡す。渡すのは勤務可能な時間帯・資格・所属までにする
- AIの出力を選択肢に限定する。 誰をどの枠に入れるかを、既存の候補(職員IDとシフトパターンID)からの選択として出させる。選択肢の外にある出力は、プログラムがその場で弾ける
- 検証をプログラムで書く。 人数条件と時間帯の枠を満たしているかを機械的に照合し、違反があれば人に返す。AIの出力を人が目で確認する運用にはしない
- 担当者と一緒に1〜2か月回す。 設定と実行を担当者自身に触ってもらい、段階的に手を引く。渡して終わりにすると、翌月から元の手作業に戻る
よくある失敗
- シフト作成そのものをAIに丸ごと投げる。 出てきた表が条件を満たしているかを人が目で確認することになり、手作業より遅くなります
- AIに自由記述をさせる。 出力が正しい候補かどうかをプログラムで照合できず、結局人が一行ずつ確かめることになります
- ルールをAIとの会話で伝える。 担当者が変わった時点で条件が失われ、同じ結果を再現できなくなります
- 個人情報をそのまま渡す。 IDに置き換えてもシフトの判断精度は落ちないので、渡す理由がありません
- ツールを渡して終わりにする。 設定を触れる人が現場にいないと、条件が変わった最初の月で使われなくなります
よくある質問
- シフト作成はAIにどこまで任せられますか
- 任せられるのは調整の判断だけです。人員データの集約、勤怠システムの形式への変換、整形、条件を満たしているかの検証は、プログラムで行ったほうが速く確実です。判断も自由記述ではなく、決められた選択肢からの選択に限定します。
- 希望休の衝突や責任者の配置もAIが決めてよいですか
- 案を出させるところまでは任せられます。ただし最終的に成立しているかは、人数条件・時間帯の枠・責任者の配置をプログラムで機械的に照合して判定します。実案件ではこの形で条件違反0件になりました。
- 職員の個人情報をAIに渡しても大丈夫ですか
- 渡さない形にします。氏名などはIDに置き換え、対応表は自社の環境から出しません。AIには置き換え後のデータだけを渡すので、シフトの条件判断には支障がありません。
- 部署や施設ごとに条件が違う場合はどうしますか
- ルールを法令・会社・部署(施設)の階層に分けてファイルに置きます。AIとの会話の中でルールを伝える形にすると、担当者や端末が変わった時点で引き継げなくなります。
- 担当者が自分で回せるようになりますか
- なります。実案件では、担当者と一緒に設定と実行を行い、段階的に自走する形にして、翌月のシフトを担当者自身が自動作成できる状態まで到達しました。ツールを渡すだけでは定着しません。