生成AIでシフト作成は自動化できる?AIが得意なこと・苦手なこと

シフト作成をしていると、「AIで自動的に勤務表を作れないだろうか」と考えることがあります。

近年は、ChatGPTのような生成AIが、文章作成、要約、プログラミング、データ整理など、さまざまな作業に使われるようになりました。そのため、職場の条件を入力して「このルールでシフトを作って」と依頼すれば、勤務表も自動で作成できそうに見えるかもしれません。

しかし、生成AIがどれだけ「賢く」見えても、それだけでシフト作成ができるとは限りません。重要なのは、生成AIの性質と、シフト作成という作業の性質がどの程度合っているかです。

この記事では、生成AIでシフト作成を自動化できるのかを、AIが得意なこと・苦手なことを踏まえて整理します。

目次

  1. 生成AIは何が得意なのか
  2. 生成AIはどのようにシフトを組んでいるのか
  3. 職場の条件を言葉で正確に伝えることは難しい
  4. 生成AIの出力は確率的である
  5. 出力結果の検証が難しい
  6. 実務では「生成」と「管理」を分けて考える必要がある
  7. 生成AIでシフト作成は自動化できるのか
  8. 職場の条件をシフトに反映するには、ルールとして扱える仕組みが必要

1. 生成AIは何が得意なのか

生成AIは、入力された文章や指示をもとに、自然な文章やコード、表形式のデータなどを生成する技術です。

ChatGPTのような大規模言語モデルは、膨大なテキストデータをもとに、文脈に合った出力を生成します。文章の要約、言い換え、分類、説明文の作成、一般的なコードの生成などは、生成AIが得意とする領域です。一方で、実務で使える勤務表を作る作業は、単なる文章生成とは異なります。

シフト作成では、職場ごとの条件を満たしながら、勤務表全体として矛盾のない割り振りを行う必要があります。ここに、生成AIとの相性を考えるうえで重要なポイントがあります。

2. 生成AIはどのようにシフトを組んでいるのか

生成AIそのものは、シフト作成のために設計された専用システムではありません。

しかし、自然言語で与えた指示をもとに、勤務表の候補を生成することはできます。生成AIの利点は、自然言語で柔軟に指示できることです。職場ごとの細かな運用や、ローカルルールであっても、言葉で説明できれば、その内容を条件として伝えることができます。では、生成AIは入力された条件をもとに、どのように勤務表を作ろうとするのでしょうか。

生成AIでシフトを作る場合、大きく分けると2つの形があります。

ひとつは、生成AIが自然言語のまま勤務表案を考える方法です。入力された条件をもとに割り振りを考え、矛盾しそうな部分があれば修正しながら、勤務表の案を作ります。これは、人間が頭の中でシフトを考える動きに近い方法です。

もうひとつは、生成AIが処理手順やプログラムを作り、その結果として勤務表を作る方法です。条件をプログラムに落とし込めれば、自然言語だけで考えるよりも、確認や再現性の面で有利になる場合があります。

ただし、どちらの方法でも注意が必要です。

自然言語で勤務表案を作る場合は、すべての条件を本当に満たしているとは限りません。プログラムを作る場合でも、そのプログラムが条件を正しく扱っているとは限りません。つまり、生成AIが勤務表を出力できることと、その勤務表が職場で必要な条件を満たしていることは、分けて考える必要があります。

3. 職場の条件を言葉で正確に伝えることは難しい

生成AIにシフト作成を依頼する場合、職場の条件を言葉で伝える必要があります。ここには大きな難しさがあります。

人間のシフト作成者は、職場の慣習や過去の勤務表、スタッフの状況、暗黙の判断基準を踏まえて勤務表を作成します。これらの中には、明文化されていないものも多く含まれます。しかし、生成AIは、その職場の暗黙知を最初から共有しているわけではありません。入力されていない条件は、基本的には処理対象になりません。

もちろん、生成AIは一般的な文脈を補うことはできます。しかし、特定の職場でだけ通用する判断や、担当者の中では当たり前になっている運用まで、常に正しく推測できるわけではありません。そのため、生成AIでシフト作成を行うには、職場の条件をかなり丁寧に言語化する必要があります。

ここで問題になるのは、シフト作成の条件は単独で存在しているわけではないという点です。多くの場合、条件同士には関係があります。ある条件を優先すると、別の条件を満たしにくくなることもあります。例外時にどう判断するかも必要になります。つまり、生成AIに伝えるべきなのは、個別の条件だけではありません。条件同士の関係、優先順位、例外時の扱い、どこまで許容できるかといった判断基準も含めて整理する必要があります。

さらに、一度伝えた条件が、その後のやりとりですべて安定して守られるとも限りません。会話の中で条件を追加したり、修正したりすると、以前の条件と新しい条件の関係が複雑になります。その結果、どの条件が現在有効なのか、どの条件を優先すべきなのかが曖昧になることがあります。

生成AIを使ったシフト作成では、「条件を一度書けば終わり」ではなく、条件を構造化し、修正時にも一貫して管理することが重要になります。これは、かなり高度な作業です。

4. 生成AIの出力は確率的である

生成AIの出力は、一般的なアプリケーションの処理とは性質が異なります。

通常のアプリケーションでは、同じ入力に対して同じ処理を行えば、原則として同じ結果が返ります。一方、生成AIの自然言語出力は確率的です。同じ質問をしても、毎回まったく同じ回答が返るとは限りません。これは、生成AIが次に出力する内容を確率的に選択しているためです。

シフト作成では、勤務表の形が毎回同じである必要はありません。条件を満たしていれば、複数の正解があり得ます。しかし、問題は、守るべき条件や判断基準まで揺らいでしまう可能性があることです。

もちろん、設定や仕組みによって出力の揺らぎを抑えることはできます。また、外部のプログラムや、条件を機械的に確認する仕組みと組み合わせれば、より安定した処理に近づけることもできます。

ただし、それは生成AI単体に任せるというより、生成AIの外側に、条件を管理し、結果を確認する仕組みを設ける必要があるということです。

5. 出力結果の検証が難しい

生成AIでシフト作成を行う場合、最も大きな課題のひとつが、出力結果の検証です。

文章生成であれば、出力された文章を読んで、違和感があるかどうかを判断できます。しかし、勤務表では、見た目が自然でも、条件を満たしているとは限りません。

生成AIの出力には、ハルシネーションと呼ばれる問題があります。ハルシネーションとは、存在しない情報や誤った内容を、もっともらしく生成してしまう現象です。シフト作成では、これに加えて、条件の見落としや、仕様の解釈違いも問題になります。つまり、勤務表としては自然に見えても、実際には条件を満たしていない可能性があります。この場合、人間がすべて確認する必要があります。しかし、条件が多い勤務表では、確認作業そのものが大きな負担になります。

もし生成AIで作成した勤務表を、結局人間が細かく確認しなければならないのであれば、省力化の効果は限定的になります。条件を満たしていない可能性のある勤務表を、実務で安心して使うことはできません。

6. 実務では「生成」と「管理」を分けて考える必要がある

生成AIでシフト作成を考えるときは、「生成」と「管理」を分けて考えることが重要です。もし生成AIでいちど勤務表を作れたとしても、実務で使い続けるには、どのように作成のための指示文を管理し、必要に応じてどう修正するかも考える必要があります。

たとえば、条件や指示文を整理して、次回以降も同じように使えるよう文書として保存する方法が考えられます。しかし、条件を少し修正した場合にも、その変更が意図した通りに反映されるか、別の条件に影響しないかは、その都度確認が必要です。毎回確認が必要なら、運用上の負担は大きくなります。

担当者が変わる場合も同じです。単に指示文や条件のメモを引き継ぐだけでは、どの条件をどのように伝え、どこを確認し、どのように修正していたのかまでは伝わりにくい場合があります。生成AIでシフト作成を行う方法自体が属人化すると、後任者が同じ水準で運用を続けることは難しくなります。

つまり、生成AIで勤務表を作れるかどうかとは別に、その作成方法をどのように管理し、修正し、再現し、引き継ぐかという問題があります。シフト作成を継続的に運用するには、条件を単なる文章ではなく、勤務表に反映されるルールとして管理できる仕組みが必要になります。

7. 生成AIでシフト作成は自動化できるのか

結論として、生成AIでシフト作成をある程度支援することは可能です。

条件が比較的単純で、規模が小さく、出力後に人間が確認できる前提であれば、生成AIを使って勤務表のたたき台を作れる場合はあります。一方で、複雑な条件を含む勤務表を、実務で使えるレベルで安定して作成するには、生成AI単体では安定性や確認の面で課題が残ります。

特に条件が複雑になるほど、生成AIが出力した勤務表については、誤りが含まれている可能性を常に考える必要があります。見た目には自然な勤務表であっても、一部の条件が抜けていたり、条件同士の関係が正しく扱われていなかったりする可能性があります。生成AIにその都度確認させることもできますが、その確認自体も完全とは限りません。ここに、生成AIだけでシフト作成を行う難しさがあります。

また、実務では勤務表を一度作るだけでなく、同じ基準で継続的に運用できることも重要です。条件の修正、再利用、担当者への引き継ぎまで含めて考えると、生成AIで作成する方法そのものをどのように管理するかも課題になります。

生成AIは便利な道具ですが、万能ではありません。シフト作成には、生成AIの性質上、扱いにくい要素が多く含まれます。そのため、生成AIでシフト作成を自動化できるかどうかは、何をAIに任せられるのか、どこに人間の確認や専用の仕組みが必要になるのかを分けて考える必要があります。

8. 職場の条件をシフトに反映するには、ルールとして扱える仕組みが必要

複雑な条件を安定して反映し、毎回同じ基準でシフトを作成するには、職場の決まり事をルールとして管理できる仕組みが必要になります。Assignoは、職場ごとのシフト作成ルールを設定し、そのルールに基づいてシフトを自動で割り振るためのアプリです。

生成AIでは、職場の条件を言葉で正確に伝える必要があります。一方、Assignoでは、簡単な質問に答えたり、目的別に提示されたルールから必要なものを選んだりしながら、シフト作成に必要なルールを設定できます。そのため、職場の決まり事を最初から完全に言語化できていなくても、アプリ上で確認しながらルールとして整理できます。

また、Assignoでは、設定された条件を満たすように割り振りを行い、条件を満たさない勤務表は出力されません。条件を満たせない場合は、原因を自動で解析し、どの条件を調整すればシフトを組めるかを提案します。

さらに、一度設定したルールは、継続的なリソースとして利用できます。勤務表を作成するたびに条件を一から文章で指示する必要はありません。職場の運用ルールを保存し、必要に応じてアプリ上で確認・変更しながら、毎回同じ基準でシフト作成に反映できます。担当者が変わった場合でも、設定済みのルールをそのまま引き継げるため、どの条件をどのように勤務表へ反映していたのかを、毎回ゼロから確認し直す必要が少なくなります。

複雑な条件を安定して反映し、継続的に運用したい場合は、このようなシフト作成に特化した仕組みを利用することも選択肢の一つです。

監修者:水口 泰介
アサイノ・テクノロジーズ株式会社 代表

大学病院の医師として、部署内で約60名のスタッフのシフト作成を担当した経験をもとに、シフト作成支援アプリケーションAssignoを開発。シフト作成の考え方や判断基準を整理・体系化し、誰でも使える形でノウハウを仕組み化することに取り組んでいる。

  • URLをコピーしました!