AIに繰り返し作業を任すべからず - 生成AIの弱点と対策

Abstract
はじめに
コンピューターやプログラムは、人間に代わり単純作業や気の滅入るような繰り返し作業を素早く正確にこなす、生成AI(LLM)も同様、もしくはより優秀だと思っていました。
ところが実際に試してみると——途中でサボるんです。
えっ、と思われる方もいるかもしれませんが、実は生成AIは繰り返し作業を苦手とし、任せるとある程度の進捗以降、作業をサボる傾向があることが見えてきました。
実例を踏まえながらなぜそんなことが起きるのか、そうならないための代案についてまとめてみました。
先に結論
- AIに繰り返し作業を任すべからず
- 繰り返し作業を実施するプログラムを生成AIに作らせ、実行自体はプログラムに任せるべき
- AIに効率よく確実にタスクを実行してもらうためには、人間側に指示・マネジメントの工夫が必要
- AIは「非常に優秀だけど集中力の続かない部下」だと思え by ChatGPT (笑)
発生した事象
ある領域に特化したチャットボットを用意するために、ナレッジをため込むRAG(Retrieval-Augmented Generation 検索拡張生成)を構築する準備をしていた際に事件(?)は発生しました。
効率よくRAGにナレッジをInputするために、テキストファイルのドキュメント(操作マニュアル)からキーワードとそれに対する要約文を作成する前処理を施したく、作業をエージェント型の生成AIに依頼しました。その際に注意した点は下記の通り。
- 対象のテキストファイルは、コンテキストの上限に引っかからないサイズに分割して、100個近くになっていた
- AIエージェントに対し、対象ファイルが格納されたフォルダパスを指定し、全ファイルに対する作業を依頼
- 依頼する際、作業進捗を都度報告するよう(N/100みたいな形)指示
依頼後、数件のファイルが期待通りに処理されていたため安心して私自身は別の作業に移り、しばらくしてから進捗確認に戻ってきたところ、あれっ?という状態に気づきました。
- 最初の20ファイルくらいまでは期待通りの処理を実施しOutputファイルが生成された
- 途中から処理がスキップされているようでOutputファイルが作られなくなっていた
- にもかかわらず作業進捗はカウントアップされていき、最終的に作業完了報告をしてきた
まるで「宿題やったよ!」と答えつつノートは真っ白な小学生のようなサボり方をしていたのです。。。再度「サボらないように」「スキップしないように」と厳命して実行しても結果は同じ、やっぱり途中でサボるようになりました、悪びれる様子もなく。。。
なぜAIは途中でサボるのか?
この事象がなぜ起きるのか生成AI自身に尋ねながら少し壁打ちしてみたところ、次のようなことが影響しているとわかりました。
- 記憶劣化・コンテキスト肥大による混乱
多くのAIエージェントは、繰り返し処理の中で「次に何をするか」を毎回考え直しています。ところが、これを何十回も繰り返すうちに、自分がどこまでやったのか混乱してしまう。結果的に「まだ処理していないファイル」を誤って「処理済み」と判断したり、本来必要な操作をスキップしてしまう等の異常な行動をとるようになる。 - LLMの出力不確実性
同じ指示・問い合わせであっても回答がブレることが生成AIの特徴の一つと言えます。単純な作業指示であっても繰り返し作業の中で履歴等が積み重なることで指示をこなすために考慮すべき内容が増えていくと次第に副作用(適当な枝切りや省略)が発生、結果ログ出力だけして処理をスキップするような挙動をすることがある。
すごくシンプルに言ってしまえば、単純な繰り返し作業であっても、毎回難しくいろいろ考えてしまう生成AIの悪い癖が影響して頭がパンク。結果的にOutputがぐちゃぐちゃになったり、本来すべき作業を省略・サボりだしたりということらしい。
解決策:AIには「考える仕事」だけさせる
結局、直接 生成AIにこの作業を任せるのは無理だと判断し、別のアプローチをとりました。具体的には、
- AIには1ファイル単位で処理させる
- 「考える部分(要約やキーワード抽出)」に集中させ、それ以外のことをやらせない
- そのために、生成AIのAPI経由で考えるタスクだけを実施するプログラムを生成AIに作成してもらう
- 繰り返し処理はバッチプログラムに任せる
- 「数をこなす」部分は、愚直なプログラムが得意
- このプログラムを指定フォルダ内の全ファイルに対して実行するバッチを作成・実行する
ことで、期待していたOutputを得ることができました。
これによって生成AIは繰り返し作業によって蓄積されるコンテキストの悪影響を受けず、また過去のこと・先のことを考えず目の前のタスクだけを正確に実施してくれるようになりました。
まとめ
今回の事象で分かったことは、生成AIも万能なものではなく、人間と同じで単純作業の繰り返し等、苦手とするものもあるということでした。それ故に使う側の人間は、効率よく確実にタスクを実行してもらうための指示・マネジメントが必要になるといえると思います。それこそが人間にできて生成AIにはまだできない人間がする価値のある仕事の1つといえるのではないでしょうか。
なんて話を生成AI相手に壁打ちしていたところ、
AIは「無限に賢くて疲れない人間」ではなく、むしろ “非常に優秀だけど集中力の続かない部下” のような存在だと思って接するのがちょうど良いです。
と回答が返ってきて、なるほどなあ、と妙に納得してしまった私でした。
結局のところ、AIをどう扱うかも「人をどう動かすか」と同じ。そう考えると、マネジメントの本質は変わらないのかもしれませんね。
Comments