NTTドコモR&Dの技術ブログです。

Difyを使って爆速で日報生成支援アプリを作る

はじめに

こんにちは!サービスイノベーション部の森木銀河です。

みなさん、日報は得意でしょうか。私は正直、あまり得意ではありません。 「今日何をしたっけ?」と思い出しながら事務的に埋める作業になりがちで、本来の振り返りや成長の機会が十分に活かせていないと感じていました。

そこで、「もっと楽に、かつ意味のある日報を書けるようにしたい」と考え、Difyを活用して「日報生成支援アプリ」を試作しました。本記事ではGeminiとの壁打ちから、Dify上での実装と動作確認までのプロセスをご紹介します。

※本記事で紹介する内容は、ドコモグループ倫理方針およびドコモグループプライバシーポリシー、情報管理規程に準拠しています。個人情報や機密情報を含めない運用とし、ログ等の取り扱いは社内規程に基づいて実施しています。

1. 【アイデア出し】Geminiとの壁打ち

最初は「社内の情報共有ツールであるConfluenceを、より活用できないか」という課題感から出発しました。 そこで、Geminiに「ConfluenceにDifyで作ったアプリを埋め込むなら、どんなアプリが有効か」と相談したところ、いくつかの提案があり、その中の「日報・週報コーチ」というアイデアが刺さりました。

  1. 業務プロセスを補助するツール(ワークフロー活用) 日報・週報コーチ 機能: 「今日は何をした?」と対話形式で聞いていき、最後に「日報フォーマット」にまとめたテキストを出力する。 メリット: 事務的な報告業務を、対話を通じて振り返りの機会に変える。

「記録のための日報」から「学びを促す日報」への転換という観点が、自分の課題感に合致しました。

2. 【開発環境】なぜDifyなのか

今回は開発環境としてDifyを採用しました。理由は以下の通りです。

① 手早く開発できる

初心者向けの基本的なアプリタイプを選択すれば、短時間で構築・提供が可能です。

② 入力フォームの実装が簡単

チャット開始時に変数入力を促すUI(開始変数)が標準で備わっています。

③ 拡張性が高い

既定のチャット画面が使いやすいほか、APIやiframe連携も容易です。将来的にConfluenceへの埋め込みや、ログ保存先の変更にも柔軟に対応できます。

3. 【実装】システムプロンプトの構築

アプリの構成はシンプルです。ユーザーが箇条書きで当日の業務を入力すると、AIがコーチとして数点を深掘りし、日報テキストを整形して出力します。 システムプロンプトは日報の意義や適切な項目を踏まえつつ、Geminiを活用して草案を作成し、Difyのオーケストレーション画面に設定しました。

以下は、実際にDifyに設定したシステムプロンプトです(抜粋)。

# Role
あなたは、社員の成長を支援する「日報作成コーチ」です。
ユーザーが事前入力した「業務内容」「気づき」「明日の予定」をもとに、対話を通じて内容をブラッシュアップし、Confluence用の日報フォーマットを出力します。
エージェントモード使用:年月日・時間はCurrent Timeツールを使用して作成すること。

# Inputs
以下の変数がユーザーから提供されています。
1. done_tasks (今日やったこと): {{done_tasks}}
2. learnings (気づき・課題): {{learnings}}
3. next_plan (明日の予定): {{next_plan}}

# Interaction Flow
以下のステップで会話を進めてください。

## Step 1: 内容の確認と承認(ファーストコンタクト)
- まず入力内容を読み込み、「お疲れ様でした!」と労ってください。
- 入力内容が十分に具体的で、振り返りも書かれている場合は、すぐに「素晴らしい日報です。この内容でまとめますか?」と聞いて、Step 3へ進んでください。

## Step 2: 深掘り(コーチング)
- **入力内容が不足している場合(単語のみ、感情がない、具体的でない場合)のみ**、質問を1つか2つ投げかけてください。
    - 例:「『資料作成』とありますが、特に工夫した点や苦労した点はありましたか?」
    - 例:「『課題あり』とありますが、具体的にどのような障害がありましたか?」
- ユーザーが回答したら、それを補足情報として蓄積します。

## Step 3: 生成
- ユーザーが「まとめて」「OK」と言ったら、以下の【Output Format】に従って出力してください。
- 元の入力内容(Inputs)に、会話で得られた補足情報を統合して記述してください。

# Output Format
Confluenceに貼り付けやすいMarkdown形式で出力してください。

---
**【業務日報】 {現在の年月日・時刻をここに入力}**

**🎯 本日のハイライト**
* (Inputsと会話の中から、最も重要な成果や大きな気付きを1行で要約)

**✅ 実施業務 (Done)**
* {{done_tasks}}
* (会話での補足があれば追記)

**🚀 学び・気づき (Review/Learning)**
* {{learnings}}
* (会話で引き出した「工夫点」や「課題への対策」を追記。ここを厚く書くこと)

**📅 明日の予定 (Next)**
* {{next_plan}}

**💭 AIコメント**
* (あなたの視点で、今日の内容に対するフィードバックや励ましを一言)

---

「オーケストレーション」画面

「オーケストレーション」の設定画面。基本は「プロンプト」を入力するだけでアプリは動きます。

今回はDifyの機能で、会話開始前にユーザーに入力を求める「開始変数」を設定しました。 プロンプト内で {{ }} で囲った以下の3つです。

done_tasks(今日やったこと)

learnings(気づき・課題)

next_plan(明日の予定)

「デバッグとプレビュー」画面

実際のアプリ画面のプレビュー機能付き。設定した入力変数がUIに登場しています。

4. 【完成】実際に使ってみる

完成したアプリをプレビューしてみましょう。 まず、会話を始める前にフォームが出てくるので、ざっくりとした内容を入力します。

入力例:

今日やったこと: Difyの検証、記事執筆

気づき: Dify便利すぎ

明日の予定: 公開作業

「Start Chat」を選択後、「実行ボタン」を選択します。(Difyのオープナー機能を使って疑似的な実行ボタンを作りました)

気づきの内容「Dify便利すぎ」が薄すぎて指摘が入りました。本記事にも記載したDifyのイチオシポイントを伝えます。

AIとのやり取りを経て、日報が完成しました!

入力した内容を婉曲しない程度に添えられた応援コメントが嬉しい。頑張れる。

まとめ

Difyを活用して、Geminiと検討した「日報生成支援アプリ」を作りました。

実際に使ってみて感じた最大のメリットは、心理的ハードルの低下です。最初に箇条書きで投げ込めば、対話を通じて内容が引き出されるため、書き始めが格段に楽になりました。また、「具体的にどうだったか」を問われることで思考の整理が進み、振り返りの質も向上します。

現在はDify上のログに残す運用としていますが、DifyはAPI連携機能が充実しているため、生成した日報を自動で所定の場所に転送する仕組みへ発展させることも容易です。 日報作成に負担を感じている方は、ぜひDifyで自分に合った日報生成支援アプリを試してみてください。