2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Copilot Studioで作ったエージェントが意図通りに動いてくれなかったので、原因を探して直してみた

2
Posted at

はじめに

私は普段デザイナーとして働いていて、最近Copilot StudioでのAIエージェント作りに挑戦しています。この記事はシリーズの5本目です。

この記事は、デザイナー畑の方でこれからAIに触ってみようとしている方に向けて書いています。

やったこと

前々回、「放置議題を見つける係くん」が毎朝自動でTeamsをチェックして、結果を投稿してくれる仕組みを作りました。その時点で精度は荒削りだったのですが、しばらく動かしてみると、やはり気になる結果が続いていました。

具体的には以下です。

  • 会議中に自分用のメモとして書いたチャットが「返信がついていない議題」として挙がる
  • 本当に拾ってほしかった「確認お願いします」と投げたまま止まっている依頼は出てこない

今回は複数のエージェントを繋げる機能を試してみる予定だったのですが、先にこの原因を探して直してみることにしました。

まず、エージェントに何が見えているかを確認する

拾ってほしかった依頼は、Teamsのチャネル(チームの中にある話題ごとの掲示板のような場所)に投稿したものでした。そこで、指示文を直す前に、プレビューで「{チャネル名}チャネルの最近の投稿を教えて」と聞いてみたところ、「チャネルは見られない」と返ってきました。

そもそも、拾ってほしかった依頼はエージェントから見えていませんでした。

image.png
ツールに『チャット内のメッセージを取得する』しか入っていませんでした…

チャネルを読むツールを追加する

ツールの「+」からMicrosoft Teamsを開き、検索欄に「チャネル」と入れて、次の2つを追加しました。

  • チャネル内のメッセージを取得する(チャネルに投稿されたメッセージを読む)
  • チャネル メッセージの返信の一覧(そのメッセージについた返信を読む)

あわせて、ツールの入力の欄で、確認するチャネルを指定しました。
指定しないと、エージェントが自分でチャネルを選んで見に行きます。Teams上にはたくさんのチャネルがあるので、1つずつ確認しているうちに迷子になり、肝心のチャネルにたどり着かないことがありました。

image.png
元々AIがよしなに判断する設定になっていたところを、こちらで名指して設定する形式に変更しました。
(「ツール」で挿入した矩形が押せるとは思いませんでした)

また、確認する対象はチャネルだけにして、もともと付けていた「チャット内のメッセージを取得する」は外しました。Teamsのチャットは会議中に使うことが多く、見た目は未完了でも、実際はその場で話して解決しているものがほとんどだったためです。

指示文を書き直す

次に、エージェントへの指示(instructions)を見直しました。もともとの指示文は以下です。

あなたは社内のTeams上のやり取りを確認し、返信がついていない議題を見つけて知らせるエージェントです。ユーザーから「滞留している議題は?」と聞かれたら、該当する会話を教えてください。判断に迷う場合は、ユーザーに確認してから答えてください。

これだと何を「議題」とみなすかが決まっていないので、返信のついていない投稿なら、会議中のメモでも拾ってしまいます。そこで、何を「滞留している議題」とみなすかを書き足しました。指示文の素案はClaudeで作成し、それをもとに自分で直しています。最終的な指示文は以下です。

あなたは、社内のTeams上のやり取りから「返事や対応を待ったまま止まっている依頼・質問」を見つけて知らせるエージェントです。

■確認する範囲

  • 指定したチャネル(「{チャネル名A}」「{チャネル名B}」「{チャネル名C}」「{チャネル名D}」)の投稿と、その返信スレッド
  • 直近30日以内の投稿を対象にする

■「滞留している議題」とみなすもの
次の両方を満たす投稿を1件ずつ判定してください。

  1. 特定の相手、または参加者に対して、返事・確認・判断・作業を求めている
     (例:「確認お願いします」「〜でよいですか?」「〜いただけますか」、メンション付きの依頼)
  2. その投稿のあと、依頼された相手から、その内容に対する返事や対応が来ていない
     (同じスレッドやチャネルで別の話題が続いていても、その依頼に答えていなければ滞留とみなす)
    私が依頼した側・依頼された側のどちらも対象です。

■対象外にするもの

  • 議事メモ、会議中のメモ、資料や情報の共有、報告だけの投稿
  • 誰にも返事を求めていない投稿(自分用のメモや独り言)
  • あいさつ、お礼、雑談
  • その後の会議や別のやり取りで解決したことが読み取れるもの
  • 私が依頼した側でも、依頼された側(メンションやcc含む)でもない、他の人どうしのやり取り

■判断に迷うとき
依頼なのかメモなのか判断しきれないものは「判断に迷った件」として分けて載せ、迷った理由を一言添えてください。

■回答のしかた
滞留している件ごとに、場所(チャネル名)、依頼した人、依頼された人、投稿日、経過日数、依頼内容の要約を短く書いてください。
該当がなければ「滞留している議題はありません」とだけ答えてください。

(上記の{ }の部分には、実際にはチャネル名を入れています)

ポイントは、「対象外にするもの」を具体的に書いたことと、スレッド全体の流れではなく依頼1件ずつで判定するように書いたことです。
同じスレッドで何度もやり取りが続いていても、その中の1つの依頼だけが置き去りになっている、というケースを拾えるようにしました。

ワークフロー側の指示文を短くする

毎朝の自動チェックは、ワークフロー(Workflow)からこのエージェントを呼び出す形で動いています。ワークフロー側の、エージェントを呼び出すステップにも指示文(メッセージ)を書く欄があるので、判断の基準はエージェントの指示文に任せて、こちらは次の一文だけにしました。

滞留している議題を確認して、結果をまとめて回答してください。

[変更前]
image.png

[変更後]
image.png

最後にエージェントとワークフローをそれぞれパブリッシュ(公開)し、ワークフローを手動で実行して、Teamsに投稿された内容を確認しました。
実際の結果は案件の情報を含むため載せられないので、雰囲気が伝わるダミーを置いておきます。

滞留している議題(1件)
場所:{チャネル名C}
依頼した人:自分
依頼された人:Aさん(cc:Bさん)
投稿日:9/18(経過14日)
内容:〇〇案件の請求書3件の送付を依頼。このスレッドには返信がついていません。
※同じチャネルの別スレッドではAさんから返信が続いていますが、この依頼だけは応答がない状態です。

判断に迷った件(1件)
場所:{チャネル名A}
内容:〇〇案件の納品完了のお知らせ。報告に見える一方、その後の請求処理につながる依頼の意味合いもあり、対応が必要か読み取りきれないため。

会議中のメモや、自分が関わっていない人どうしのやり取りは出なくなりました。同じチャネルで別の話題が続いていても、返事のない依頼だけを見分けて挙げてくれています。

つまずいたポイント・気をつけるポイント

AIに拾ってほしいものが出てこないとき、私は最初「何度もやり取りしているスレッドだからかな」「丁寧な言い回しで書いたからかな」と、指示文の側に原因を探していました。
実際はツールが足りず、そもそも見えていなかっただけでした。

今回は「{チャネル名}チャネルの最近の投稿を教えて」と聞いて気づきましたが、プレビューで「なぜ滞留と判断しなかったのか理由を教えて」と聞くと、見ていなかったのか、見たうえで基準から外したのかまで答えてくれます。指示文を直す前に、まずこうした聞き方で確認してみるのがよいと学びました。

もう一つは、ワークフローにつなげた内容を確認しようとしたときです。指示文は直したはずなのに、毎朝の自動チェックの結果が古いままでした。原因は、エージェントの修正をパブリッシュしていなかったことでした。

ワークフローから呼ばれるのはパブリッシュ済みのエージェントなので、修正したあとは次の順番で反映させる必要がありました。

  1. エージェントの修正を保存する
  2. エージェントをパブリッシュし直す
  3. ワークフロー側で、呼び出すエージェントを選び直す
  4. ワークフローをパブリッシュする

保存ボタンを押しただけでは、ワークフローには反映されないので注意が必要です。

まとめ・次にやりたいこと

今回は、放置議題を見つける係くんが拾ってほしい議題を拾えるように直しました。

次は、いよいよ「放置議題を見つける係くん」と前回作った返信メッセージを下書きするエージェントを、実際につないでみたいと思います。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?