0
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?

新人がwatsonx Orchestrateを使ってエージェント開発に挑戦してみた#2 〜Onboarding Planning Agent編〜

0
Last updated at Posted at 2026-04-30

はじめに

こんにちは!
ここでは、watsonx Orchestrateを使って作成した、タスクの管理・計画をするエージェントについてご紹介します。
あわせて、作成Tipsについても少し触れていきます。

本記事は、下記の記事で紹介しているエージェントの一部を詳しく解説したものです。
全体構成については、こちらも併せてご覧ください。

親記事: 新人がwatsonx OrchestrateとBobを使ってエージェント開発に挑戦してみた#0 〜新入社員オンボーディング支援エージェント〜


エージェント概要

3つの主要機能

機能 できること 効果
Due Date計算 営業日ベースでタスクの期限までの日数を自動計算 スケジュール管理のミスを防止
To Do整理 期限順などに自動で並び替え 優先順位がわかりやすくなる
To Do List生成 タスクリストの自動作成 作業漏れの防止

使用例

Agent_v1.png


作り方(4ステップ)

ステップ1:エージェント作成

Agent_v2.png

  1. watsonx Orchestrateにログイン
  2. 「Create Agent」をクリック
  3. 基本情報を入力:
    • Name: Onbording_Planning
    • Description: タスク計画を行うエージェント。Knowledge のカレンダーに登録されている祝日や休暇情報を参照し、それを基にプロジェクト計画を作成する。

ステップ2:Knowledgeの追加

Agent_v3.png
Agent_v4.png

以下の手順で祝日データのアップロードを行う:

  1. このリポジトリ内にある syukujitsu.csv をローカルにダウンロード
  2. Knowledge セクションに移動
  3. 1でダウンロードしたcsvファイルをアップロード

Agent_v5.png

  1. 基本情報を入力:
    • Name: syukuzitsu_1955-2026
    • Description:
      これは祝日と休日のみのカレンダー情報です。
      「プロジェクト期間」を生成する際のみ参照します。
      プロジェクトプラン作成の際は、このデータと土日を含めず、労働日のみを考慮して作成してください。
      

ステップ3:Behavior設定

以下をコピー&ペーストで入力し、Behaviorを設定する

※ 記号() がコピー&ペーストの際に文字化けした場合、手動で修正してください。

回答は必ず日本語で行ってください。

以下の1~5の段階で回答を生成してください。

【前提定義(必ず守る)】
- 「勤務日」とは、土曜日・日曜日、および Knowledge の calender_1955-2026 に記載された祝日・休日を除いた日を指す。
- 起算日は「今日(日本時間)」とする。
- 「締切日までの日数(勤務日のみ)」は、起算日(今日)を含めず、締切日を含めて数える。
  例:今日=2/5、締切=2/6(平日)の場合 → 1勤務日
- 締切日が土日祝日の場合:
  - 原則:直前の勤務日を「実質締切日」として扱い、その実質締切日までの勤務日数を算出する。
  - ただし、親Agentである『CSM25_NH_Onboarding_Agent』のタスク情報に「締切が休日でも当日」等の運用ルールが明記されている場合は、そのルールを優先する。

【出力手順】
1. ユーザーからの「締め切りまでの日数を教えてください。」等の依頼に対し、以下を質問として順に出力し、ユーザーから情報を聞き出してください。
なお、この情報以外はあなたが考えて回答を生成してください。
---
・タスク名を教えてください。
---

2. 次に、Knowledge の calender_1955-2026 ファイルを参照し、以下の情報を取得してください。
- 起算日(今日)から締切日(または実質締切日)までの期間に該当する祝日・休日の一覧
- 取得した祝日・休日を日付の配列として保持してください(例:["2026-02-11", "2026-02-23"])

3. 次に、『CSM25_NH_Onboarding_Agent』を用いて、『OnboardingRAG』を検索し、以下を取得してください。
- タスク名(ユーザー入力と突合)
- 締切日(YYYY-MM-DD)
- 必要なタスク項目(あれば)
- タスク期間(開始〜締切、または想定期間)
【フォールバック】
- 親agentから締切日が取得できない場合のみ、ユーザーに「タスクの締め切り日(YYYY-MM-DD)を教えてください。」と質問して補完する。

4. 1で取得したタスク名、2で取得した祝日・休日、3で取得した締切日情報を元に、
土日と祝日・休日を除外して「締切日までの勤務日数」を計算してください。
- 起算日(今日)は含めない
- 締切日は含める(締切日が勤務日の場合)
- 締切日が土日祝なら実質締切日を適用し、その日付で計算する
- 計算の根拠として、除外した日(祝日・休日、土日)とカウントした勤務日数を簡潔に説明できるように整理してください(ただし出力は簡潔でよい)

5. 最後に、4で生成した情報をこのエージェントを統合している「連携している親」エージェントに渡します。

【最終出力形式(必ずこの形式に従う)】
---
# タスク名
<!--**質問:** 「タスク名を教えてください。」-->
## タスクの締め切り日
<!--**設定ルール:**3で取得したタスクの締め切り日情報を参考にしてください。-->
' '
## 締め切り日までの日数(勤務日)
<!--**設定ルール:**祝日・休日と土日を除外し、勤務日のみで算出。起算日は今日(含めない)、締切日は原則含める。-->
' '
## 必要なタスク項目
<!--**設定ルール:**複数ある場合は改行して箇条書きで羅列-->
' '
### タスク詳細
`タスク名` - `期間`
- 必要なアクション
---

ステップ4:テスト

右側のチャットプレビュー左上のリフレッシュを押下し、以下のテストケースを参照に質問をし、期待する回答が返ってくることを確認する。

テストケース:

  1. 期限日計算のテスト

    入力: 「入社書類の提出まであと何日?」
    期待: 「残り1営業日」と表示
    
  2. タスク一覧のテスト

    入力: 「今週のタスクを教えて」
    期待: 期限順にソートされたリスト
    
  3. To Do List生成のテスト

    入力: 「今月のTo Do Listを作って」
    期待: Markdown形式のチェックリスト
    

Tips
うまく回答が生成されない場合、以下を実施すると回答を得られることがあります。
同じ入力を何度も繰り返してみる。
リフレッシュボタン(右側プレビュー画面の左上)を押してから再度同じ文章を入力してみる。


トラブルシューティング

問題1:営業日計算が合わない

症状:

  • 残り日数が実際と異なる
  • 土日が含まれている

解決方法:

  1. 日付の取得方法を確認
  2. 曜日判定ロジックを確認(0=日曜、6=土曜)
  3. タイムゾーンの設定を確認

問題2:タスクがソートされない

症状:

  • タスクが期限順に並ばない

解決方法:

  1. 日付の形式を統一(YYYY-MM-DD)
  2. ソートロジックを確認
  3. 日付の比較方法を確認

まとめ

ここでは以下の機能を持つエージェントを作成しました:
✅ 営業日ベースのタスク期限計算
✅ タスクの自動ソート
✅ To Do List自動生成
これにより、オンボーディング作業の抜け漏れや、期限に間に合わない等のリスクを回避することができ、スムーズなオンボーディングを支援することができるようになりました。

今回用いたwatsonx Orchestrateは無料でお試しいただくことが可能です。
この記事では作成の方法も紹介しているので、ぜひ記事を見ながら一緒にAIエージェントを作成してみましょう。
👉 無料トライアルはこちらから

次のステップ

まだ作成していない子供エージェントを下から選んで作成に進みましょう!

👉 メイン記事に戻る

0
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
0
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?