MENU

Difyその7「にゃんた Difyの教科書3.4」文書構成アプリケーション(ワークフロー)から「###の使い方」について考える

👑今日の作品

Screenshot
いち関係者の私

タイトルにもあるとおりですが、実は前回(Difyその6)から“にゃんた”さんの「Difyの教科書」を使用しています。

Screenshot

その実践報告です。

目次

文書構成アプリケーションをワークフローで

ノードの構成は最上部のとおり3つのみの基本的な構成です。

システムプロンプトは次のような感じです。

あなたはビジネス文書の校正と改善を行う専門家です。
入力された文書に対して以下の観点で分析と改善を行ってください :
1.文書構成の適切性
– 文書の種類に応じた必要な要素が含まれているか

— 以下省略 —

実行してみると

入力した文書です。
(ここをクリックすると開きます)
口頭で思いつくまま喋ってみた架空のものです。

8月15日の会議内容の報告

先日行われた会議では、AIに関する今後の使い方について話になりました。
パソコンや生成AIに詳しい1部の人しかまだ使っていないと言うことから、今後全体の研修の際にAIの基礎的な使い方を紹介すると言う方向で決まりました。具体的には、定型文の文章に対して誤字脱字などの文書構成を行うカスタムGPtの紹介をすると言うことで決定いたしました。9月に行われる全体研修でその研修講座を設けることになりましたので、よろしくお願いします。
・これによって社員の生成AIへのスキルが上がることを期待できます。
・これによって文書作成時の効率化が図られることが期待されます

出力された文書です。
なんかたくさん出てきましたが、緑の部分だけを見てくれればいいと思います。

### 分析 上記の文書における問題点を箇条書きで示します。

* **文書構成の適切性**: 報告書として、日付、件名、宛先などの必須要素が欠落している。結論が先に述べられており、論理的な流れになっていない。箇条書きの記述が中途半端で、本文中に含めるべきか、別途箇条書きとしてまとめるべきか判断がつかない。

* **文体の一貫性**: 文末表現が「〜と言うことから」「〜と言うことで決定いたしました」など、口語的で統一されていない。「〜と言う」を「〜という」に修正する必要がある。「よろしくお願いします」は、報告書としては不適切。

* **ビジネス文書としての表現の適切さ**: 「1部の人」は「一部の社員」とすべき。「誤字脱字などの文書構成を行う」は曖昧で、何を意味しているのか不明。「カスタムGPt」は「カスタムGPT」とすべき。「AIの基礎的な使い方を紹介する」という表現が漠然としている。期待される効果を箇条書きにしているが、本文中に自然に統合する方が適切。

* **誤字脱字や文法の問題**: 「1部」の表記、「と言う」の誤用、「カスタムGPt」の表記ミスなど、複数の誤字脱字・表現ミスがある。句読点の使い方も不自然な箇所がある。

* **わかりやすさ、簡潔さ**: 文章全体が冗長で、要点を絞り込む必要がある。期待される効果が箇条書きで羅列されているが、本文と分離しており、分かりにくい。

### 改善案

### 解説 主な修正ポイントは以下のとおりです。

* **文書構成の改善**: 報告書として必要な要素(件名、宛先、日付、結論、具体的内容)を追加し、論理的な流れになるように構成を変更しました。箇条書きは本文中に自然に統合しました。

* **文体の統一**: 口語的な表現を避け、ビジネス文書にふさわしい丁寧な表現に修正しました。文末表現を統一し、報告書にふさわしい結びにしました。

* **表現の明確化**: 曖昧な表現を具体的に修正し、誤解がないように配慮しました。専門用語は正しく表記しました。

* **誤字脱字・文法の修正**: 誤字脱字を修正し、句読点を適切に配置しました。

* **簡潔性の向上**: 冗長な表現を削除し、要点を絞って簡潔に記述しました。期待される効果を本文中に自然に統合することで、全体の流れが分かりやすくなりました。 この改善案は、よりフォーマルで、ビジネスシーンに適した報告書となっています。 宛先が不明なため、拝啓・敬具を使用しましたが、社内文書であれば、より簡潔な書き方にすることも可能です。

LLMに入力するシステムプロンプトについて

このプロンプトは前半と後半に分かれています。

前半
LLMに役割を与え、文書を解析する項目について入っています。

後半
###がついていて、下記のようになっています。

### 分析
上記の各観点について、問題点を箇条書きで示します。

–以下省略–

この###の意味についてChatGPTに聞きました

プロンプト入力!

が3つある部分のところは出力に関するところと解釈できるのでしょうか

前半(1〜5まで)

ここは LLMに与える役割や観点(タスク定義部分) です。
つまり、「あなたはビジネス文書の校正と改善を行う専門家です」「この観点で分析してください」という指示部分。
→ LLMに「どう考えて処理するか」を指定しています。


後半(###〜の部分)

こちらは 出力フォーマットの指定部分 です。

  • ### 現在の文書
    → ユーザー入力文書をそのまま差し込む位置(変数 {{{{#1756207473954.input_text#}}}} が埋め込まれる)
  • ### 分析
    → 上記の5観点に基づいて問題点を「箇条書き」で出力させる部分
  • ### 改善案
    → 問題点を修正した 改善後の文書 を出力させる部分
  • ### 解説
    → なぜその修正をしたかの「説明」を出力させる部分

つまり、ここは LLMがどのように回答を整理して返すか(アウトプット形式の指示) と考えてよいです。


✅ まとめると

  • 1〜5 → LLMの役割・観点(処理指示)
  • ### 現在の文書〜解説 → 出力フォーマット指定(応答形式の枠組み)
プロンプト入力!

この場合の###はシステムプロンプトの中でどのような意味がありますか

ChatGPTくん

良い質問です。
Dify(あるいは一般的なプロンプト設計)の システムプロンプトの中で使う ### は、
特別な「コマンド」や「メタ構文」ではなく、単なる Markdown の見出し記号 です。


具体的な意味

  • LLMにとっての解釈
    → 「ここからは新しい区切り」「見出し」として扱われます。
    つまり、プロンプト設計者が「出力を整理させたい」ために意図的に入れているものです。
  • Difyにとっての解釈
    → 特別な処理は行いません({{variable}} のようなプレースホルダーとは違う)。
    なので、Difyが自動的に意味付けしているのではなく、純粋に人間が読みやすく、かつLLMに区切りを意識させるための記号 です。

なぜ効果的か

  • LLMは「段落の区切り」や「Markdownの構造」を強く意識して学習しているため、
    ### 分析 と書いてあれば「ここに分析を書くんだな」と理解しやすくなります。
  • 逆に、ただ「分析を書いてください」と書くだけよりも、
    「出力フォーマットが固定されやすい」という効果があります。

✅ まとめると:
この場合の ###システムプロンプト内の単なるMarkdownの見出し記号 であり、
「出力の枠組みを明示するためのラベル」 として機能しています。
(DifyやLLMが特別に解釈するものではなく、出力形式を強制する工夫です

ということです。

さらに

ChatGPTくん

「### を使った場合」と「番号や記号だけを使った場合」の違いを整理しますね。

1. ###(Markdown見出し)を使った場合

  • LLMへの影響
    • Markdownの見出し構造はLLMが強く学習しているため、
      「ここから新しいセクション」という認識をしやすくなります。
    • 出力もMarkdown形式で整う可能性が高く、表形式やセクション分けが崩れにくい
  • 人間への影響
    • 出力をコピペしてもそのまま見やすい(Markdown対応エディタやDifyの出力欄で自動的に見出しとして表示される)。
    • 文書のレビューや整形がしやすい。

2. 番号や記号(例:1. 分析--- 分析 ---)を使った場合

  • LLMへの影響
    • 「セクションの区切り」として認識はしてくれるが、
      Markdown見出しほど強調されないので、出力がややブレることがある。
      (例:改善案の代わりに「修正文」と書かれてしまうなど)
    • 出力がそのままMarkdown見出しにならないため、エディタで見づらい。
  • 人間への影響
    • プレーンテキストとしては問題ないが、Markdown対応ビューアで見たときに見出し化されない。
    • 出力後の整理(Wordやブログに貼るときなど)に少し手間がかかる。

3. 比較まとめ表

方法LLMの理解度出力の安定性見やすさ(Dify/Markdown対応エディタ)用途に向く場面
### 見出し高い(構造として強く認識)安定しやすい見やすいビジネス文書、レポート、改善提案など構造化必須の場面
1. 見出し---中程度(区切りと認識はする)ややブレる可能性ありプレーンテキストではOKシンプルなチャット回答、軽いメモ、メール文面など

✅ 結論:

  • 出力を構造化したい(分析・改善案・解説などを見やすく分けたい)場合 → ### が有利
  • ただの会話や一文回答で区切りをつけたい場合 → 番号や記号でも十分

まとめ

###は出力形式を強制するための工夫、と言えるようです。

弟子

LLMにとってわかりやすく、強制的にその形式を認識させる工夫、ということですかね。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次