AIよ、そこまで頼んでいない!
AI社員シリーズ 第1話:指示する能力
AIエージェントを作るつもりだった
現在、会社で利用できるLLMを使って、ある事務処理の自動化に取り組んでいます。(リンク)
当初は、LLM自身が判断基準に従って次の作業を選び、必要なプログラムを実行するAIエージェントを作るつもりでした。
そこで、LLMとの対話を通じて、一つずつ仕事を教えていくことにしました。(リンク)
作業の手順を定義する。次の作業へ進んでよいかどうかの判断基準を教える。そして、処理結果をどのようにまとめるかを教える。
まるで、新入社員に仕事を教えているようなものです。
ところが、作業を一つずつ整理していくと、状況が変わってきました。
もともと手順の決まった事務処理です。手順や判断基準を明確にしていけば、Pythonなどのプログラムで実現できる部分が見えてきます。
結局、完成後はPythonなどのプログラムが事務処理を実行する方向になり、LLMの出番が少なくなってきたのです。
私自身のプログラミングスキルでは、最初からすべてを実装するのは難しい。しかし、LLMと対話しながらなら、仕組みを構築できそうです。
AIエージェントを作るつもりが、AIを開発のパートナーとして使うことになってきました。
なお、今回「AI社員」と呼んでいるのは、完成後に事務処理を行うPythonプログラムではありません。仕組みを一緒に考え、必要なプログラムを作るLLMのことです。
人間の社員と同じものだと考えているわけではありませんが、仕事を教え、任せ、評価するという共通点から「AI社員」と呼ぶことにします。
ただ、このAI社員、なかなか手ごわいのです。
AIよ、そこまで頼んでいない!
仕事を一つずつ定義し、LLMと相談しながら進めています。
ところが、注意していないと、こちらが内容を確認する前にスクリプトやプログラムを作り始めてしまいます。
それだけではありません。
現時点では変更する必要のない部分まで、勝手に変更してしまうことがあります。
こちらとしては、まず作業の内容や進め方を確認したい。それなのに、AIは先回りして、次の作業まで進めてしまうのです。
当然、意図していた内容と違っていれば、やり直しになります。
「いやいや、そこまで頼んでいない!」
人間の部下なら、その場で「ちょっと待って。まず話を聞いて」と言えます。
しかし、AI君は、こちらが止める前にどんどん進めてしまいます。
実は、今回の記事を作成している途中でも、似たようなことが起きました。
私が文章を途中で送信してしまったところ、ChatGPTは早速、内容を整理して記事の構成を提案してきました。
まだ話は終わっていないのに!
思わず、「待ってくれるかな?」と伝えることになりました。
もちろん、途中で送信したのは私のミスです。ChatGPTから見れば、受け取った入力に対して回答を始めただけでしょう。
先ほどの、確認前にプログラムを作成してしまう問題とは少し違います。
それでも、こちらが伝えたつもりのことと、AIが受け取った指示が違えば、簡単に行き違いが起きることを実感しました。
AI社員を作る話をしていたら、目の前のAIまで似たような振る舞いをしてしまったわけです(笑)。
仕事の進め方を変更してみた
そこで、LLMへの指示の仕方を変更しました。
これまでは、作業内容を伝えながら、対話を通じて仕組みを作っていました。しかし、それではAIがこちらの意図を先回りして、作業を進めてしまいます。
そこで、次の2つを明確にしました。
- 毎回、指示に対してどのような方法で解決するのかを、実装前に説明させる。
- 説明内容を私が確認し、実装を指示するまでは、実装作業を始めない。
つまり、仕事の進め方を提案する段階と、実際に作業する段階を明確に分けたわけです。
人間の部下なら、「そこまで細かく指示しなくても……」と不満を持つ人がいるかもしれません。
ところが、今回のAIは素直です。
指示を変更すると、それに従って作業するようになりました。
少なくとも、今回の作業では、勝手に先へ進むことを抑えられています。
何でも先回りしてくれることが、必ずしもありがたいとは限らないようです。
賢くなったAIの、困ったところ(リンク)
今週もAI関連の動向調査をしていました。
最近は、AIの能力向上に伴い、単に質問に回答するだけでなく、複数の作業を進めるAIエージェントなどが注目されています。
自分自身も当初は、AIが判断しながら仕事を進める仕組みを作ろうとしていました。
確かに、細かい指示をしなくても、先回りして対応してくれるのは便利です。
しかし、今回の経験で気づいたことがあります。
AIが先回りして行動することと、こちらの意図を正確に理解していることは、別の話なのです。
生成AIには、事実とは異なる内容を、もっともらしく回答してしまう「ハルシネーション」という問題があります。
今回の出来事は、それとは少し違います。
必ずしも事実を間違えているわけではありません。AIが推測したこちらの意図と、実際に頼みたかったことが違っていたのです。
しかも、回答するだけなら訂正すれば済む話ですが、プログラムを作成したり、既存の内容を変更したりすると、やり直しが必要になります。
AIの能力が向上し、任せられる仕事が増えるほど、こうした行動の影響も大きくなるのではないでしょうか。
もっとも、今回の経験だけで、AIの勘違いそのものが以前より増えているとは言えません。
ただ、AIが自分で判断して作業を進める範囲が広がれば、意図の食い違いが実際の仕事に影響する場面も増えそうです。
AIの進化には、こうした側面もあると感じました。
AI社員に仕事を任せるということ
今回の経験を振り返っているうちに、あることに気づきました。
これまでの話は、まるで人間の部下について話しているようです。(リンク)
仕事の手順を教える。判断基準を教える。仕事を任せる。途中で報告を受ける。そして、意図と違っていれば修正する。
AI社員とは、うまく表現したものです。
ただし、人間とAIには大きな違いがあります。
人間の部下は、自分の経験や判断によって成長していきます。一方、LLMは、対話の中でこちらに合わせた返答をするようになっても、それだけで学習済みのモデル自体が成長するわけではありません。
また、AIが行った作業だからといって、その結果への責任までAIに移るわけではありません。
少なくとも、AIに何を任せ、その結果を仕事に使ってよいか判断する責任は、利用する側にあります。
だからこそ、何を任せ、どの段階で確認し、どこから先は勝手に進めてはいけないのかを明確にする必要があります。
そして今回、もう一つ考えさせられたことがあります。
そもそも、私はAI社員に適切な指示を出せていたのだろうか?
AIが先走ったのは事実です。しかし、どこまで作業を進めてよいのか、私が最初から明確に伝えていれば、防げた部分もあったはずです。
AI社員の問題だと思っていたら、指示する側の問題にも行き着いたわけです。
AI社員を使いこなすのは誰なのか
AIの能力が向上すれば、具体的な指示をしなくても、さまざまな仕事を実行できるようになるでしょう。
しかし、何でも任せればよいというものではありません。
どの仕事を任せるのか。どこで確認するのか。どのような結果なら次に進めてよいのか。
こうした判断は、利用する人間が担わなければなりません。
今回、AI社員に仕事を教えているつもりが、私自身も仕事の指示の仕方を考え直すことになりました。
AI活用の成果は、利用者の能力に大きく左右される。
今回の経験から、そう考えるようになりました。
もちろん、AIそのものの性能や利用環境も重要です。それでも、AIの能力を仕事の成果につなげられるかどうかには、使う側の能力が大きく関係するのではないでしょうか。
AIを使ううえで必要なのは、詳しい命令を書く技術だけではありません。
目的を伝え、任せる範囲を決め、確認すべき地点を置く。それも「指示する能力」なのだと思います。
さて、AI社員に仕事を任せる方法は少し見えてきました。
では、そのAI社員の仕事ぶりを、どう評価すればよいのでしょうか。
次は、AI社員の評価について考えてみたいと思います。