生成AIを使って、思いつきを5分くらいで資料(のプロトタイプ)にする方法
はじめに
おれの名前は樋口恭介。突然はじめたn番煎じの生成AI活用シリーズだが、今回は資料生成をテーマにお送りする。
業務時間中に妄想レベルのアイディアはめっちゃ浮かぶものの、他人にちゃんと伝えるレベルでは全然煮詰まってないから一旦放置しておくか、とやっているうちにいつのまにかただ忘れていって、無、みたいなことがよくあるのだが、こういう人はけっこう多いのではないかと思う。
そういうわけで、今日は生成AIを使って思いつきレベルのアイディアを5分くらいでそれらしいプロトタイプにするということをやってみたいと思う。
資料化するアイディア
最近、いろんな生成AI系の案件を見たりやったりするなかで、「もしやPMOが生成AI(LLM)を駆使できるようになるというのが、自動化において一番破壊力があるのでは?」と思うようになった。
この直感はいい感じな気がするのだが、しかし、うまく情報を構造化して資料化するレベルには言語化が進んでいない。
というわけで今回資料化の対象とするのは「LLMによる新しいPMOの姿」というテーマである。
使うツール
言語化ツール
「日本語でそれらしい文章を作成する」ことにおいてはGPT4よりもClaude3のほうがいい、と言われている(し僕も使っていてそれを実感している)ので、言語化部分ではClaude3を使います。タダだしね。タダのSonnetを使います。
資料化ツール
スライド生成ではGammaが一番きれいな気がしています。Claude3で言語化した内容をGammaに資料化してもらいます。ちなみにこういうスライド生成ツールは、プロンプトだけで資料生成してもあんまり良いのが生まれなくて、しっかりした参照ファイルやURLをインプットできるものがいいです。そのため今回も、まずはClaude3で文章を生成して、それをGammaにインプットしてスライド生成する、というステップにします。
いよいよ着手
Claude3にプロンプトを入力する
Claude3を開いたら、以下のように思いつきをプロンプトにする。
あなたは資料作成のエキスパートです。
LLMは、PMOが使うことで最も効果を発揮するという気がしています。 理由は以下です。
・LLMのプロンプトは入力情報の精度がものを言うため
・PMOにはプロンプトのさまざまな情報が集まってくる
・LLMのプロンプトは自然言語ですぐに書けてしまうため、ノーコード開発の速度が速い
・「PMOが課題を聞いて、PMOがその場でツールを開発する」ということができる
上記を踏まえて、LLM時代の新しいPMOの働き方、みたいな資料を作成してください。まずは構成案を出力してください。特に「PMOが積極的にプロジェクト内のさまざまなチームにヒアリングをしにいき、チームの負荷を下げるためにその場でプロンプトを書いてツールを作成する」という動き方を重要視してください。
思いつきではあるものの、「あなたは~です」みたいなプロンプトの基本や、とりあえず思いついていることは全部箇条書きで書ききってしまうということはポイントである。こうすることで、あまり横道に逸れず自分の考えていることに近いアウトプットが得られると思う。
そして得られた結果が次のようなものである。
最初に得られたアウトプット:構成案
うーん、既にいいじゃないですか? いい感じなので、このままいきましょう。
こういうときは、「いい感じなので冒頭から本文の執筆を開始してもらっていいですよ」みたいなことを言うと、構成案に沿って詳しく内容を書きはじめてくれます。
本文の執筆
本文もいい感じなので、このまま続きを書いてもらいます。あとは「続けてください」と連呼していくだけで最後まで書ききってくれるはずです。
(以下多いので略)
出力を全部得たら、テキストかWordに文章をコピペしてファイル化しておきましょう。
GammaにClaude3で生成されたファイルをインプットする
次にGammaに移りましょう。アカウントが必要ですが、Googleアカウントと連携できるので数秒で作れると思います。
Gammaにログインして「新規作成」を選ぶと、次のような画面に飛ぶので、「ファイルをインポート」を選びましょう。
あとはテンプレートを選んだりするだけでスライドが数秒で自動生成されます。すごい簡単ですね。
資料全体のリンクは以下。2パターン作ってみました。なんか、このまま使えるわけではないですが、ナシでは全然ないねみたいなクオリティになっていると思います。
せっかくなので生成したテキストとスライドでブログ記事にしてみる
というわけで、以下は今回Claude3で生成したテキストとGammaで生成したスライドをくっつけて記事化したものです。資料としてはまだブラッシュアップが必要ですが、とりあえずアイディアを形にしてみた的なブログ記事としては、アリよりのアリなのではないでしょうか。ぜひご覧ください。
LLMが切り開くPMOの新時代
はじめに
本記事では、LLMを最大限に活用した新しいPMOの役割と働き方について説明します。特にプロアクティブな課題発見と、その場でのツール開発が重要になってくる点に注目しています。さらに実際のユースケースやベストプラクティス、将来展望についても述べていきます。
プロジェクト管理の現場で働く方に、LLMの可能性と新しいPMOのあり方を提示できればと思います。LLMはプロジェクト推進力の飛躍的向上をもたらす革新的なテクノロジーです。ぜひ、プロジェクト管理の未来を前向きに捉えていただければと思います。
本記事は以下の構成で説明されます。
1.序章
・プロジェクト管理における従来の課題と制約
・LLMの登場による新しい可能性
2.LLMを活用したPMOの役割
・プロジェクト全体の情報ハブとしての役割
・プロンプト作成による課題解決ツールの迅速な開発
3.プロアクティブな課題発見とツール開発
・チームへの積極的な訪問とヒアリング
・チームの負荷軽減を目的としたツール作成
・LLMによるプロンプト記述の効率化
4.ユースケース
・具体的なプロジェクト課題への対応事例
・LLMを用いたツール開発のプロセス
・開発したツールによる効果と課題解決
5.ベストプラクティスと留意点
・プロンプト作成のポイント
・チームとのコミュニケーション方法
・セキュリティ対策とガバナンス
6.将来展望
・LLMの進化による更なる可能性
・PMOの役割変化と必要なスキル
・プロジェクト管理の変革
1.序章
プロジェクト管理は、複雑なプロジェクトを効果的に遂行するために欠かすことのできない重要な役割を担っています。しかしながら、従来のプロジェクト管理では、様々な課題と制約に直面してきました。
課題の一つは、プロジェクトに関わる多様なステークホルダーからの要求や課題を適切に把握し、タイムリーに対応することの難しさです。プロジェクトチームからの要求はもちろん、顧客、関連部門、規制当局など、さまざまな関係者からの要望や制約を考慮しなければなりません。これらをすべて網羅して適切に対処するのは容易ではありません。
また、プロジェクトの進行に伴い発生する臨時の課題や変更要求への対応も大きな負担となります。プロジェクト計画の見直しや、新たなツールの開発など、素早い対応が求められますが、従来の手法ではリソースや時間的な制約があり、機動的な対処が難しい場合がありました。
さらに、プロジェクト管理ツールの開発やカスタマイズには、高度な専門知識とコーディングスキルが必要とされ、PMOだけでは対応が困難な場合が多くありました。
しかし近年、大規模言語モデル(LLM)の発達により、この状況に変革が訪れようとしています。LLMは自然言語によるプロンプトを介してさまざまなタスクを実行できるため、プロジェクト管理の領域でも新しい可能性が生まれつつあります。
2.LLMを活用したPMOの役割
LLMの登場により、PMOの役割は大きな変革を遂げる可能性があります。PMOは従来、プロジェクトの進捗管理、リソース調整、リスク管理などを主な業務としてきました。しかし、LLMを活用することで、PMOはプロジェクト全体の情報ハブとして機能し、積極的に課題解決に貢献できるようになります。
PMOは、プロジェクトにおける様々な課題をLLMのプロンプトに変換し、ソリューションを生成することができます。例えば、要件定義の曖昧さが問題視されていた場合、PMOはプロダクトオーナーやビジネスアナリストにヒアリングを行い、要件を自然言語でLLMに入力します。すると、LLMが構造化された明確な要件定義書を生成してくれます。
また、開発チームからコードレビューの負荷増加について指摘があった際には、PMOがLLMにコードの説明を促すプロンプトを入れることで、レビュー支援ツールとして活用できます。LLMはコードの解説を自動的に行ってくれるため、レビューアの理解が深まり、作業効率も向上します。
テスト自動化チームが手作業でのテストケース管理に課題を抱えていれば、PMOはテストケース自動生成ツールの仕様をLLMにプロンプトとして渡せます。LLMが生成したツールを導入することで、テスト自動化の高速化と作業負荷の軽減が図れます。
このようにPMOは、プロジェクトの各フェーズで発生する具体的な課題をLLMのプロンプトに変換することで、スピーディーにソリューションを提供できます。開発したツールはプロジェクト全体で共有・活用することで、生産性とプロダクト品質の大幅な向上に貢献できるのです。
LLMを活用したPMOは、プロジェクトの課題を的確に把握し、素早くソリューションを提供する「プロトタイプハブ」としての役割が期待されます。PMOは受け身の管理業務から脱却し、能動的にプロジェクトに貢献する存在へと進化する可能性を秘めているのです。
3.プロアクティブな課題発見とツール開発
LLMを最大限活用するためには、PMOがプロアクティブにプロジェクトの課題を発見し、その場でツールを作成することが重要になります。従来のPMOは課題が可視化されてから対応を検討するという受け身の姿勢が多かったですが、LLMを武器に持つことで、この点が大きく変わります。
PMOはプロジェクトに関わるさまざまなチームを積極的に訪問し、ヒアリングを実施することが求められます。各チームの作業の進捗状況や課題、ボトルネックになっている点などを直接聞き取り、潜在的な問題を発見する必要があります。
例えば、テスト自動化チームを訪問し、手作業でのテストケース管理に負荷がかかっていることがわかれば、PMOはその場でLLMにテストケース自動生成ツールの仕様をプロンプトとして入力します。LLMがツールを生成すれば、テスト自動化チームの作業負荷を軽減できます。
このようにPMOが現場に赴き、チームの課題を発見し、その場でLLMを使ってツールを作成することで、プロジェクト全体の効率化と負荷軽減を実現できるのです。LLMのプロンプトは自然言語で書けるため、PMOがコーディングスキルを持たなくてもツール開発が可能になります。
また、開発したツールはプロジェクト内で横展開し、他のチームでも活用してもらうことで、更なる相乗効果が期待できます。PMOは単にツールを提供するだけでなく、ツールの使い方のサポートなども行う必要があります。
このようなプロアクティブな課題発見とツール開発を通じて、PMOはプロジェクトの起点となり、全体の生産性と品質の向上をリードする存在になれるでしょう。
4.ユースケース
プロアクティブな課題発見とLLMを活用したツール開発の具体的なユースケースを見ていきましょう。
【要件定義フェーズ】
PMOはプロダクトオーナーやビジネスアナリストにヒアリングを行い、要件を正確に定義するためのツールを開発します。要件定義の質は全体に大きな影響を与えるため、要件の明確化と文書化が重要です。LLMを活用すれば、自然言語の要件から構造化された要件定義書を生成できます。
【設計フェーズ】
アーキテクトやデザイナーと協力し、機能仕様書や設計資料の作成を支援するツールを開発します。資料の整合性チェックや一貫性確保のために、LLMを活用したレビューツールも有効です。
【実装フェーズ】
開発者からチケットフォーマットの改善要望があれば、LLMでその場でツール化できます。また、ペアプログラミングの際に、LLMにコードの説明や解説をさせ、技術的議論を促進することもできます。
【テストフェーズ】
テスト自動化チームに対しては、前述のようにテストケース自動生成ツールを提供できます。また、テスト結果の分析やレポーティング支援のツールも開発できます。
【リリース後】
プロダクトのユーザーサポートでは、FAQチャットボットの構築や、インシデント対応手順の自動生成を行えます。また、ユーザーの声を収集し、改善要望に対してLLMを使って次期リリースの仕様を検討するといった活用も可能です。
5.ベストプラクティスと留意点
LLMを最大限活用し、PMOの新しい働き方を実現するためには、いくつかのベストプラクティスと留意点があります。
【プロンプト作成のポイント】
・LLMへの入力となるプロンプトは、できる限り具体的で明確な指示を含める必要があります。曖昧な指示ではLLMの出力品質が低下します。
・ただし極端に詳細すぎるプロンプトも避け、ある程度LLMに解釈の余地を残すことで、創造性の高い出力が得られる場合があります。
・プロンプトには目的、要件、期待する出力形式など、できるだけ多くの情報を盛り込みます。
【チームとのコミュニケーション】
・プロアクティブにチームを訪問し、作業の進捗や課題を直接聞き取ることが重要です。
・チームの要望をしっかりと汲み取り、合意を得てからLLMでツールを作成します。
・開発したツールの使い方を丁寧に説明し、フィードバックを求めながら改善を重ねます。
【セキュリティ対策とガバナンス】
・LLMを介したツール開発には、セキュリティリスクが存在します。プロンプトに機密情報が含まれないよう注意が必要です。
・開発したツールのレビューとテストは必須で、導入前に十分な検証を行います。
・ツール導入に関するガバナンスルールを設け、適切な承認プロセスを経る必要があります。
【PMOのスキル】
・LLMを最大限活用するには、プロンプトエンジニアリングのスキルが求められます。
・プロジェクト全体を俯瞰し、課題を発見する分析力と構造化力も重要です。
・技術的な知見はなくてもよいですが、チームとの密なコミュニケーション能力が不可欠です。
このようなベストプラクティスと留意点を押さえることで、LLMを安全かつ効果的にプロジェクト管理に活用できるでしょう。
6.将来展望
LLMの技術はまだ発展途上にあり、今後さらなる進化が予想されています。そうした中で、LLMを活用したPMOの役割と可能性は大きく広がるでしょう。
まずLLMの性能自体が向上することが見込まれます。言語理解・生成能力の精度が上がれば、より複雑で高度なプロンプトを処理できるようになります。さらにマルチモーダル対応が進めば、テキストだけでなく画像や動画なども入力できるようになり、LLMの適用範囲が大幅に広がります。
また、LLMの知識ベースが大規模化・最新化されれば、常に最新の情報に基づいたソリューションを提供できるようになるでしょう。プロジェクトに関連する最新の法規制やベストプラクティスを踏まえた上で、最適なプロセスやツールを生成できる可能性があります。
さらにLLMの生成力が向上すれば、完全なアプリケーションまでを一気に作り出せるようになる可能性もあります。その場合、PMOはプロンプトを書くだけで、複雑なソフトウェア開発が可能になるかもしれません。
そうなれば、PMOの役割はプロジェクトマネジメントを超えて、プロンプトエンジニアリングスペシャリストへと進化する可能性があります。単にプロンプトを書くだけでなく、最適なプロンプトを見極め、適切にLLMを活用するための高度なスキルが求められるようになるでしょう。
また、LLMをプロジェクト全体で活用するためのガバナンスの確立や、セキュリティ対策の強化なども重要な課題となってくるでしょう。PMOはこうした課題にも対処しながら、プロジェクト運営のデジタルトランスフォーメーションをリードする存在へと発展していく必要があります。
LLMは確実にプロジェクト管理の在り方に変革をもたらすと予想されますが、その活用の仕方次第で大きな効果が期待できます。PMOが先駆けとなり、LLMの力を最大限に生かすことで、プロジェクト推進力の飛躍的な向上が実現できるはずです。
さいごに
本記事では、LLMという新しいテクノロジーを活用したプロジェクト管理のあり方を提案してきました。従来のPMOに比べ、LLMを武器に持つことでプロアクティブな課題発見とスピーディーな対応が可能になります。
プロジェクトの現場でチームの声に耳を傾け、LLMにプロンプトを書いてその場でツールを生成する。このサイクルを通じて、PMOはプロジェクト全体の生産性と品質向上をリードできるようになるでしょう。
また、LLMだけでなく、Pythonやパワーオートメイトなどのプログラミングツールやノーコード開発ツールも、PMOの課題解決に活用できる可能性があります。
Pythonなどのプログラミング言語を使えば、データ分析やレポーティングの自動化、リソース最適化などのカスタムツールを独自に開発できます。PMOがプログラミングスキルを身につけることで、プロジェクトの具体的なニーズに合わせてツールを作り上げられるようになります。
一方でパワーオートメイトなどのノーコードツールを利用すれば、コーディングスキルがなくてもある程度の自動化ツールを作ることができます。UIフローの構築や既存アプリケーションの連携など、比較的簡単な作業自動化であれば対応可能です。
これらのツールを組み合わせることで、PMOはプロジェクトの課題に対してきめ細かなソリューションを提供できるようになるでしょう。LLMでプロトタイプを生成した後、必要に応じてPythonで高度な機能を盛り込んだり、パワーオートメイトで作業の自動化を図ったりと、状況に合わせた対応が可能になります。
ただし、そのためにはPMOメンバーの技術スキル向上が必要不可欠です。プログラミングやノーコードツールの習得、LLMを最適に活用するためのプロンプトエンジニアリングなど、様々なスキルセットを身につける必要があります。
プロジェクトマネジメントの現場では、テクノロジーを組み合わせてハイブリッドに活用することで、より高度でシームレスなソリューションが実現できるでしょう。PMOが、LLMをはじめとするさまざまなテクノロジーを武器に、プロジェクト課題の解決に果敢に挑戦することが期待されています。
さいごに
上の「さいごに」のところのPythonとかPower Automateとかの話は後付けで思いついてプロンプト書いて出力してもらいました。どんどん思いつきを後付けていきましょう。超便利ですね。Claude3を使っていると、文章を書く=LLMを使う、というのが自然になってくる感じがあります。
※2024年5月15日に名古屋で生成AIイベントやります!よろしくお願いします!
5/20追記
その後執筆した以下の記事に基づき、本記事の内容をVRアバターにプレゼンしてもらいました。
Discussion