Upgrade to Pro — share decks privately, control downloads, hide ads and more …

プロンプトウェアアーキテクチャ

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.

 プロンプトウェアアーキテクチャ

生成AIを使ったソフトウェア開発において、プロンプト群・コンテキスト群・モデル群・知識資産群などをどのように構造化設計するか、という考え方「プロンプトウェアアーキテクチャ」について整理しています。

ひとつひとつのプロンプト等の「うまい書き方」だけでなく、プロンプト等の増加による全体像把握の困難化、内容の重複、用語の矛盾、更新漏れといった運用上の課題を踏まえ、ソフトウェア工学における構造化・アーキテクチャの発展と同様に、プロンプトウェアにも構造化設計が必要ではないか、という問題提起を行っています。

また、プロンプトウェアアーキテクチャの一例として、ドメインバリュー層・ナレッジ層・ナレッジ更新層・プロダクト開発層からなる層型アーキテクチャを紹介しています。

More Decks by うきぐも / すずき

Other Decks in Technology

Transcript

  1. プロンプト等の複雑化に悩む今⽇この頃 • ひとつひとつのプロンプト等について 「うまい書き⽅」のナレッジは業界内にかなりたまってきている ▪ いわゆるプロンプト / コンテキスト / ハーネス

    エンジニアリング ▪ • しかし プロンプト等の運⽤に課題を感じている組織は多い 2 ファイル数の 増加 全体像把握の 困難化 内容の重複 ⽤語の⽭盾 更新漏れ
  2. ソフトウェア⼯学は複雑さと戦ってきた • ソフトウェア⼯学の歴史は 複雑さとの戦いの歴史であり 構造化の発展の歴史である (と、本資料では解釈してみる) • ▪ 1960s コードの複雑化が問題になる

    (Software Crisis) ▪ 1970s 構造化プログラミングの発展 (コードをどう構造化するか) 1970s 構造化設計の発展あ (システムをどう構造化するか) ▪ 1980s オブジェクト指向の発展 (どういう構造が良い構造なのか) • • プロンプト等についても同様に どう構造化するか‧どういう構造が良い構造なのか といったことを考えた⽅がよさそうだ 3
  3. プロンプト等の構造化が必要だ • プロンプト等の構造化の必要性を主張する研究論⽂がいくつか存在する - ▪ Prompts Are Programs Too! Understanding

    How Developers Build Software Containing Prompts • Jenny T. Liangら, 2025(v2). • https://arxiv.org/html/2409.12447 • プロンプトはプログラムとみなせる • プロンプト開発はプログラミングの新しい形である • ▪ Promptware Engineering: Software Engineering for Prompt-Enabled Systems • Zhenpeng Chenら, 2026(v2). • https://arxiv.org/abs/2503.02400 • プロンプト開発が場当たり的な試⾏錯誤に陥っている状態は「Promptware Crisis」 • プロンプトウェアにもソフトウェア⼯学の体系を適⽤すべき 4
  4. 「プロンプトウェアアーキテクチャ」が必要だ • そこで プロンプトウェアアーキテクチャという考え⽅を提案する • ▪ プロンプト‧コンテキスト‧モデル‧知識資産‧etc. を包括して ここではプロンプトウェアと呼ぶことにする •

    ▪ プロンプトウェアアーキテクチャは ⽣成AIを使ったソフトウェア開発における プロンプト群‧コンテキスト群‧モデル群‧知識資産群‧etc. の構造化設計を指す 5
  5. プロンプトウェアアーキテクチャの⼀例 • ドメインバリュー層 ▪ ドメインモデル‧ユーザペルソナ‧etc. • • ナレッジ層 ▪ テスト観点図‧UCODなどの仕様モデル‧

    ソフトウェアトラップ‧実利⽤データ‧etc. • • ナレッジ更新層 ▪ バグ分析プロンプト‧ 実利⽤データ要約プロンプトetc. • • プロダクト開発層 ▪ 成果物⽣成プロンプト‧ レビュープロンプト‧etc. 6 ドメインバリュー層 ナレッジ層 ナレッジ更新層 プロダクト開発層
  6. プロンプトウェアアーキテクチャを発展させていこう • プロンプトウェアアーキテクチャも いくつかのスタイルに整理されていくはず ▪ ソフトウェアアーキテクチャも複数のスタイルが提案され発展してきた ▪ 例えば • 層型

    プロンプトウェアアーキテクチャ • Workflow型 プロンプトウェアアーキテクチャ • Multi-Agent型 プロンプトウェアアーキテクチャ • Blackboard型 プロンプトウェアアーキテクチャ • • 実務においては UMLなどで作成して ソースコードの近くでバージョン管理し ⽣成AIにアップデートさせる運⽤になるはず ▪ ⽣成AIと⼈間との議論やBFBL(Boosted FeedBack Loop)によって より良いプロンプトウェアアーキテクチャが⽣まれるかもしれない 7
  7. 特に説明なく使った⽤語の関連資料 • UCOD (ユーコッド, UI Class Operation Diagram) ▪ クラス図と画⾯遷移図をベースとした

    ユーザーによるプロダクトの使い⽅を可視化するためのモデリング記法 ▪ https://github.com/hansuoi/ucod • • ソフトウェアトラップ ▪ 仕様書等にバグを誘発する罠が含まれている という考え⽅‧また その罠のこと ▪ https://www.slideshare.net/slideshow/software-frontloading-and-qa/170488256#39 • • BFBL (Boosted FeedBack Loop) ▪ ⽣成AIにより⼈間の発想‧アイデアをブーストさせるフィードバックループ ▪ https://speakerdeck.com/ukigmo_hiro/uqam-usage-model-driven-qa-methodolog y-noshao-jie?slide=10 8