13-2. 例2:文書要約ワークフロー(手動作成)
文書を受け取って要約するワークフローを作ります。序章0-5の「議事録・報告書の要約」にあたる題材です。この例の目的は、複数のノードを組み合わせて1つの流れを作る操作(第7章)を一通り実践することです。外部のサービスへの接続は使わないため、庁内ネットワークから外部に接続できない環境でも作れます。
作る流れは次の2段階です。まず長文を貼り付けて要約する3ノードの流れを作って動かし、その後、ファイルを受け取れる形に発展させます。第7章7-2の「1つ追加するたびに動きを確かめながら進める」進め方の実践です。
| 段階 | 流れ |
|---|---|
| 基本形 | 開始(ユーザー入力:長文テキスト)→ LLM(要約)→ 出力 |
| 発展形 | 開始(ユーザー入力:ファイル)→ テキスト抽出 → LLM(要約)→ 出力 |
前提(必要なもの)
- 要約を試すための架空の文書(通知文・案内文など。数行〜1ページ程度)。この節の手順5にサンプルを載せているので、手元に無くても進められます。
- 発展形まで試す場合は、同じ内容をWordやPDFなどのファイルにしたもの。
手順1:ワークフローを作成する
- スタジオの左上の「アプリを作成する」の「最初から作成」ボタンを押します(第2章2-1)。
- アプリの種類で「ワークフロー」を選びます(第2章2-2)。
- アプリ名(例:文書要約)と説明を入力して作成します(第2章2-3)。
完了状態:キャンバス(ノードを並べて線でつなぐ作業領域)の編集画面が開いている(第2章2-4)。
手順2:ユーザー入力ノードに入力欄を作る
- ユーザー入力ノード(処理の入口。第10章10-2)をクリックして設定欄を開きます。人が動かす「ユーザー入力」のモードで使います。
- 入力欄を1つ追加します。変数名は半角英数字(例:document_text)、表示名は「要約したい文書」など分かりやすい名前、型は「段落」(長文を貼り付けられる型。第10章10-2)にします。
完了状態:ユーザー入力ノードに、段落型の入力欄が1つ定義されている。
手順3:LLMノードを追加して指示文を書く
- ユーザー入力ノードの後ろにLLMノードを追加し、線でつなぎます(第7章7-2・7-3)。
- LLMノードの設定欄で、お使いの環境で使えるAIモデルを選びます。
- 指示文(プロンプト)の欄に、次のような指示文を書きます。
あなたは行政文書を整理する事務担当です。
入力された文書を「概要」「期日・数値」「必要な対応」の3項目に
整理して要約してください。
文書に書かれていないことは書かないでください。
応答は日本語で書いてください。
- 指示文の中の、文書を差し込みたい位置で「/」を入力し、候補一覧からユーザー入力ノードの変数(document_text)を選んで差し込みます(第7章7-3)。
完了状態:LLMノードでモデルが選ばれ、指示文の欄に指示文とユーザー入力ノードの変数が入っている。

手順4:出力ノードを追加する
- LLMノードの後ろに出力ノード(ワークフローの処理結果を返すノード。第10章10-2)を追加し、線でつなぎます。
- 出力する変数に、候補一覧からLLMノードの出力(生成した文章)を選んで割り当て、名前(例:summary)を付けます。
完了状態:ユーザー入力 → LLM → 出力の3ノードが線でつながっている。


手順5:テスト実行で確かめる
- 編集画面の右上の「テスト実行」を押します(第7章7-5)。
- 入力欄に、試したい文書を貼り付けて「実行開始」を押します。手元に文書がない場合は、次の架空のサンプルを使えます。
職員向け文書作成研修のご案内
標記の研修を次のとおり実施します。
日時は10月15日(木)の午後2時から4時まで、会場は庁舎3階の
大会議室です。定員は40名で、申し込みは10月8日(木)までに
庁内システムの研修申込フォームから行ってください。
当日は筆記用具を持参してください。資料は当日配布します。
定員を超えた場合は、各課1名を優先して調整します。
- 実行結果と、各ノードが成功したかを確認します。
完了状態:3項目(概要・期日・数値・必要な対応)に整理された要約が結果として返っている。

ノードごとの成否を見たいときは、結果パネルの「実行追跡」タブを開きます(第4章4-3)。
手順6:ファイルにも対応させる(発展形)
長文の貼り付けだけでよければ、ここまでで完成です。Word・PDFなどのファイルを受け取って要約したい場合は、次のように発展させます。AIモデルはファイルをそのままは読めないため、ファイルから文字を取り出すテキスト抽出ノード(第10章10-4)をはさみます。
- ユーザー入力ノードの設定欄で、入力欄を「単一ファイル」型で作ります(変数名の例:document_file。段落の欄と入れ替えるか、ファイル版のワークフローを別に作ります)。
- ユーザー入力ノードとLLMノードの間にテキスト抽出ノードを追加し、開始 → テキスト抽出 → LLM の順に線をつなぎ直します(第7章7-3)。
- テキスト抽出ノードの入力に、ユーザー入力ノードのファイル変数(document_file)を指定します。取り出した文章は変数
textに入ります(第10章10-4)。 - LLMノードの指示文の欄を開き、差し込む変数を、ユーザー入力ノードの変数からテキスト抽出ノードの出力(text)に差し替えます。ノードの構成を変えた後は、参照している変数が残っていないかを必ず確認します(第7章7-4)。
- テスト実行で、手順5と同じ内容のファイルを指定して実行し、同じ趣旨の要約が返ることを確認します。
完了状態:ファイルを指定してテスト実行すると、貼り付けたときと同じ趣旨の要約が返る。
完成の確かめ方
手順5のサンプル文(または同等の架空の文書)を入力して、次の3点を満たせば完成です。
| 確認する点 | こう返れば完成 |
|---|---|
| 要約の形 | 「概要」「期日・数値」「必要な対応」の3項目に整理されて返る |
| 内容の正しさ | 期日・数値(例:10月15日・定員40名・申込期限10月8日)が元の文書と一致している |
| 余計な内容が無いか | 元の文書に書かれていない事柄(勝手な推測・創作)が入っていない |
発展形まで作った場合は、同じ文書のファイルを指定して、同じ3点を確認します。
うまくいかないときの主な確認先
| 症状 | 確認先 |
|---|---|
| テスト実行で「変数が見つからない」という趣旨のエラーが出る | 変数の参照と線のつなぎ方を確認します(第7章7-3・7-4、第2章2-8) |
| 要約の形・内容が期待と違う | LLMノードの指示文を見直します。LLMノードの設定項目の意味は第10章10-2 |
| ファイルから文字が取り出せない | テキスト抽出ノードの対応ファイル形式を確認します(第10章10-4)。文字情報のないPDF(画像だけのPDF)からは取り出せません |
| どのノードで止まったか分からない | テスト実行後の確認の順番(第7章7-5「うまく動かないときの確認の順番」)に沿って切り分けます |
| エラーメッセージ別の対処 | 第14章(トラブルシューティング) |