FIXERで、プロンプトエンジニア第一号として入社した高桑です。
Prompt Engineerは世界的にも新しい職種なので、
どんなミッションを持ち、具体的にどんな業務を遂行するチームなのかが不透明になりやすいです。
そこで、今回はこのページにて明文化しました。
実は1年前にも同じテーマの記事を書いたのですが、それが↓こちらです。
https://tech-blog.cloud-config.jp/2023-10-19-first-person-hired-as-prompt-engineer
この時から1年経過し、色んな変化を観察してきた上で、
1年越しのアップデートをかけた内容を本日ご紹介いたします。
value
まずはプロンプトエンジニアの職種として発揮するべき価値を、以下に整理しました。
Solution | 社内外を対象に、生成AIの導入をソリューションとして提供します。 | 監修 | ユースケース選定の筋がよいか監修する |
設計 | ソリューションとして提供するプロンプトの要件定義 | ||
開発 | ソリューションとして提供するプロンプトの開発 | ||
Product | プロダクトの設計と開発のうち、生成品質に影響を持つ領域を担います。 | 設計 | 生成フロー全体またはその要件 |
RAGのフロー全体またはその要件 | |||
開発 | プロダクト環境内でデフォルトで提供されるbot | ||
プロダクトの各生成フローのバックエンドに仕込むシステムプロンプト | |||
Research | SolutionとProductでの各場面で、要件やLLM×プロンプトの微調整を、仮説をベースに行いますが、その仮説検証の根拠となる知識を土台として蓄積します。 | LLM | ユースケースごとのLLM選定の標準化 |
プロンプト | プロンプトの評価を標準化 | ||
目的ごとの最適なプロンプトの標準化 | |||
新プロンプトを論文から調査し、応用方法を標準化 | |||
ユースケース | ユースケースごとの検証知見を標準化 | ||
倫理や業界規制のルールを標準化 |
スキルセット
次に、上記の value を発揮するためのスキルセットを以下に整理しました。
- プロンプト開発
- ユースケースごとに最適なLLMを選定できる
- どの言語でプロンプトを書くか判断できる
- LLMごとのバイアスを検出できる
- LLMごとのバイアスを最小化できる
- ハルシネーションに対する仮説を立てられる
- ハルシネーションに対する仮説を検証し、プロンプトの微調整を自らの意思で完了できる
- ドメイン知識を入れ込んだプロンプトを設計できる
- 微調整に伴うLLMパラメータを設定できる
- 倫理観点で生成結果をコントロールできる
- 品質担保
- 生成品質を担保するためのテストケースを設計できる
- システム設計
- UXを設計できる
- RAGのアーキテクチャの要件を設計できる
- ユースケースの監修
- 生成AIで効率化 or 付加価値を出せるのかを判断できる
- 生成AI導入におけるinputとoutputの要件を設計できる
- プロンプトの標準化
- 標準プロンプトの要件を定義できる
- 標準プロンプトの変数を切り分けて、プロンプトを標準化できる
- 技術的な専門知識
- モデルの内部構造、transformerの原理、注意メカニズムの詳細を深く理解できていること。この知識があると、AIの挙動をより精密に制御し、特定のタスクに対する最高のパフォーマンスを引き出すプロンプト設計が可能です。
世界のPrompt Engineerはどんな業務をしているのか?
今度は、実際の現場で、海外の Prompt Engineer はどんな業務をしているのかを調査しました。
ざっくり見る限り、FIXERの Prompt Engineer と概ね同じ業務内容でした。
一方で、FIXERでは取り入れていない、海外のPrompt Engineerならではの業務内容を、以下に整理します。
思想
- 評価しているLLMプロジェクトとは「複雑で巧妙なプロンプト構造やLLMの挙動の体系的評価を示すもの」である
- プロフェッショナルなプロンプトとは、堅牢で十分テストされていることであり、プロンプトはソリューションである(a robust, well-tested prompting solution)
- 品質は下記の観点で保証するべきである
- 異なる文脈やデータセットでも頑丈で信頼性があり、汎用的であること
- バイアス、不正確さ、意図しない結果を検出し、解消できていること
- 倫理指針に従い、有害な出力を回避できていること
スキルセット
求めるスキルセットはTechnical SkillとSoft Skillに分かれる
- Technical Skill
- Python
- NLP技術、言語モデル、プロンプトエンジニアリングの概念に関する深い理解
- 機械学習モデルの評価、ファインチューニング、デプロイに関する知識
- Knowledge of language structure and construct
- Knowledge of type systems
- Knowledge of parse trees and ASTs
- Knowledge in Semantics
- Enhance our natural language transation to Dataprime language using collected data
- 言語モデルに関連する分野(言語学、哲学など)での学士号以上を保有していること
・言語モデル、トークン化、アテンション、デコーディングなどの自然言語処理および生成に関する原則と概念に関する豊富な知識
- Soft Skill
- 高度な分析力と問題解決能力
- 複雑な概念を非技術系の関係者に説明できる優れた文章力と口頭コミュニケーション能力
- 言語や言語学への強い興味と創造性
業務
- 新たなAIツールの評価をする
- AI/NLP/プロンプトエンジニアリング技術に関する最新情報を常に把握する
- A/Bテスト、ユーザーからのFB、データドリブンで生成精度を向上する
- パフォーマンス指標やベストプラクティスをドキュメント化する
- プロンプトのテストを効率化するツールの開発貢献
※調査対象の企業
Anthropic(Prompt Engineer, Research Engineer), NICE, Accrete, Coralogix, Trend Micro, Vertiv, Proto
※FIXERの中途採用の求人票
GPT-10が登場するとPrompt Engineerはどうなるか?
では、今後の将来において、LLMが進化し続けた先に Prompt Engineer の業務や価値はどう変化するのか?
この問いに対して「世間の見解」、「私、高桑の総評」、「ChatGPT(o1-preview)による総評」の3つの登場人物に分けて、以下に整理しました。
世間の見解
未来の高度に進化したLLM(例えばGPT-10)では、専門知識や工夫を必要としない一般的なプロンプトでも、素晴らしい回答が得られるため、プロンプトエンジニアの役割は不要になる。
高桑による総評
便利なツールに対して、受動的に口を開けて待つのではなく、AIを主体的に応用して攻めるのであれば、AIがどこまで便利になっても「設計」、「エラーハンドリング」、「ディレクション」は常に必要になると思います。
こういったマネジメントの手法の1つとして、現段階では「プロンプトが有効的である」という段階に過ぎないです。
つまり、「プロンプトエンジニア」という呼称に縛られることなく、世界中の情報を対象に「最先端の技術」や「LLMを利用したサービス」の動向などを学び続ける姿勢が肝心になるかなと思います。
ChatGPT(o1-preview)による総評
LLMがどれほど高度に進化しても、プロンプトエンジニアリングの重要性は増す一方であり、専門性やカスタマイズ、倫理的配慮などの観点から、プロンプトエンジニアは引き続き必要不可欠である。
具体的な話として、GPT-10が登場する頃の時代に、よりニーズが高まっていくであろうスキルセットを以下に記します。
- ドメイン知識を融合したPrompt Engineering
- 高度なLLMの限界
- GPT-4からGPT-10へ進化するように、学習すればするほど正規分布のようにより、一般的な回答を生成しやすくなるだろう、という仮説がある。
特に、医療、法律、金融などの高度で専門的な分野においては、標準的なプロンプトでは対応しきれない細かなニュアンスや要件が存在すると思われ、より適切なコンテキスト設定や精密な指示が必要と考えられる。
- GPT-4からGPT-10へ進化するように、学習すればするほど正規分布のようにより、一般的な回答を生成しやすくなるだろう、という仮説がある。
- Prompt Engineerの役割
- 特定の業界に特化した具体的な業務への生成AIを応用する場合は、GPT-4よりもプロンプトエンジニアリングによるパフォーマンス向上のポテンシャル幅が拡大するため。
- 高度なLLMの限界
- 思考工程が重要な生成結果を評価するためのPromptの評価
- 高度なLLMの限界
- 訓練データやアルゴリズムのバイアスから完全に自由ではなく、出力に偏りや誤解が含まれる可能性は残る仮説がある。
プロンプトエンジニアは、これらのバイアスを最小化し、論理的にも倫理的に適切な出力を得るためにプロンプトを調整する役割を持ちます。
- 訓練データやアルゴリズムのバイアスから完全に自由ではなく、出力に偏りや誤解が含まれる可能性は残る仮説がある。
- Prompt Engineerの役割
- 工程が重要な、バイアスや生成結果の確率的な揺れを最小限にしたいユースケースでは、分析、意思決定、評価、企画、アイデアだしなどでは、工程に大きな影響を持つプロンプトの監修が必要になるため。
AIの出力をそのまま受け入れるのではなく、その結果がどのような入力や条件に基づいて得られたのかを理解し、説明できる必要があるため、結果として、AIの出力を正しく評価・解釈するためには、入力(プロンプト)の設計と管理がますます重要になる。
一方で、結果のみが重要で、事実確認系ができるようなユースケースでは、ドメイン知識を持つ有識者による評価で可能である。
- 工程が重要な、バイアスや生成結果の確率的な揺れを最小限にしたいユースケースでは、分析、意思決定、評価、企画、アイデアだしなどでは、工程に大きな影響を持つプロンプトの監修が必要になるため。
- 高度なLLMの限界
- 価値創造のプロンプトエンジニアリングは、LLMが進化するほどニーズインパクトが高くなる
- 高度なLLMの限界
- ビジネスの価値創造に繋がる「発展的な問い」をAIに投げかけられる人材が、独自性のあるプロンプトを設計する必要がある。むしろ、LLMは高度になるほど多様性と創造性が強化され、人間を凌駕する可能性がある。それを倫理などを守りながら活用する人材(プロンプトエンジニア)が必要。
- Prompt Engineerの役割
- GPT-10が登場した時代では、効率化により獲得した時間で「何をするべきか?」が見えていない領域に対して、価値創造をするべく生成AIと対話するようになるため。未知の可能性や新しいインサイトを引き出すプロンプト作成は、プロンプトエンジニアの高度な工夫が重要です。
- 高度なLLMの限界
- 複雑なシステムの統合とカスタマイズのサポート
- 高度なLLMの限界
- 進化したLLMが組織のシステムと統合される際、特定のワークフローに沿った応答や、カスタマイズされたアウトプットを実現するプロンプトの設計が必要です。
- Prompt Engineerの役割
- プロンプトエンジニアがこのような環境に合わせた最適化を提供することで、LLMのビジネス利用が円滑に進みます。
- 高度なLLMの限界
- 倫理的・法的コンプライアンス・社会的配慮の管理
- 高度なLLMの限界
- 倫理的な判断や社会的な文脈を完全に理解することは難しいと思われる。
- Prompt Engineerの役割
- バイアスの排除や倫理的なガイドラインの遵守できるような、プロンプトを設計する。
- 高度なLLMの限界
人類の最後の仕事は「残った最後の業務の自動化」かなと思いますが、
その自動化には概ねAIの導入が必要です。そのためには以下の工程で、設計と開発が必要です。
- アーキテクチャのどこにAI(ここではLLM)を導入するのか
- その出力(生成)結果をどう要件定義するか
- その出力の品質をLLM選定/パラメータ設定/プロンプトエンジニアリングでどう担保するか
- LLMによる出力をどう評価するか
- どう運用していくのか
この1〜5の工程の中身が変遷することはあっても、この工程のパッケージ全体はしばらく消えないと推定します。
また、この工程により、仕事がたくさん自動化された結果、人が暇になった時には新しい仕事や職種が増えるとも思います。
最新技術に伴う新職種、遊びのような仕事など様々です。
この仕事や職種の新陳代謝が起こる文脈においては、
生成AI技術職としての Prompt Engineer は形や定義を変えながら残るものだと考えています。
そして、Prompt Engineer 以外にも新しい仕事や職種は生まれます。
それらは、従来のような誰がしても同じ結果になる仕事ではなく、
一人ひとりの個性が大幅に反映され、創造性に富んだ遊びのような仕事です。
直感的で原始的な人間味のある value を発揮する仕事になるかと思います。