3秒でわかる
処理のステップをあらかじめ決めた順につないで走らせる仕組み。AIの利用では、検索・生成・検査といった役割の違う工程を分けて組み立てるときに使います。
もう少し詳しく
どういうものか
ワークフローは、複数の処理ステップを決められた順序と条件でつなぎ、入力から成果物までを一気に流す仕組みです。CI/CD のパイプライン、バッチ処理の連鎖、承認フローなど、以前から広い分野で使われてきた言葉です。
生成 AI の文脈では、1 回のプロンプトで済ませずに、下調べ、生成、検査、整形といった工程へ分割し、順につないだ構成を指します。各ステップの入出力が定義されているため、どこで品質が落ちたかを特定できます。
なぜ必要か
長い指示を 1 回で渡すと、モデルは一部の条件を落とします。指示が 10 個あれば、そのうち 2 つか 3 つは無視される、という現象は日常的に起きます。
工程を分ければ、1 ステップあたりの指示が減り、守られる確率が上がります。さらに、失敗したステップだけ再実行できる、途中結果を人が確認できる、工程ごとに安いモデルと賢いモデルを使い分けられる、といった運用上の利点も付いてきます。
具体例
def draft_article(topic):
outline = llm(
model="fast",
prompt=f"{topic} の記事構成を 5 項目の箇条書きで出す。本文は書かない。",
)
body = llm(
model="smart",
prompt=f"次の構成に沿って本文を書く。構成の順序は変えない。
{outline}",
)
review = llm(
model="smart",
prompt=f"次の文章から、事実か確認できない断定を列挙する。無ければ ok と返す。
{body}",
)
if review.strip() != "ok":
body = llm(model="smart", prompt=f"指摘に沿って書き直す。
指摘
{review}
本文
{body}")
return body入力 -> 構成を作る -> 本文を書く -> 検査する -> (指摘あり) 書き直す -> 出力つまずきやすいところ
覚え方
料理の工程表と同じです。下ごしらえ、加熱、味見、盛り付け。味見の工程を挟むから、失敗を出す前に気づけます。