はじめに
入社して半年、私は生成AIを「なんとなく」使っていました。例えば学部時代にIoT向け暗号アルゴリズムの研究でRaspberry Pi 4を使っており、ChatGPTには「軽量暗号について教えて」程度の雑な質問しかできていませんでした。生成AIのモデルなどは追えているけど、本当に使いこなせているのかなと思っていました。
そんな時、新卒研修の時の通勤途中でニュースアプリの通知で上記の「【新規会員・先着 1 万名様】生成AIプロンプトを学べる Google 認定証講座「Prompting Essentials」の無料枠を提供中!」の記事が流れてきました。正直、認定証目当てで申し込みましたが、この講座で学んだ2つの概念が、私の生成AIの活用の仕方を変えることになりました。
最大の学び①:TCREIフレームワーク - プロンプトも「設計」するもの
フレームワークとの出会い
講座で最初に衝撃を受けたのが「Thoughtfully Create Really Excellent Inputs」(思慮深く、本当に優秀な入力を作成する)というフレーズでした。
このフレーズ自体が生成AI活用の心構えを表していて、具体的な実践方法として5つのステップが用意されていました。
最初は、生成AIで「いまさら新しい用語か...」と思いましたが、実際に使ってみて気づきました。これって、新卒研修で講師の方に教えていただいたことと似ている気が....
TCREIと新卒研修の意外な関係
新卒研修で教えていただいた内容と、TCREIがとても一致していました:
実際、生成AIとやり取りしていて気づいたのですが、曖昧な質問より構造化された質問の方が、明らかに質の高い回答が返ってきます。これはAIも上司と同じで、情報が整理されていればいるほど、的確なアドバイスができるからだとわかりました。
実際にTCREIを使ってみた例:暗号アルゴリズムの選定
Before(雑なプロンプト):
IoTで使える暗号教えて
↓返答
IoTデバイス向けの暗号について説明します。
IoTデバイスは計算能力やメモリが限られているため、
軽量で効率的な暗号方式が重要です。
## 主要な軽量暗号
対称鍵暗号(ブロック暗号)
- AES-128: 最も広く採用されている標準
- PRESENT: 80/128ビット鍵、極めて小さいハードウェア実装が可能
- CLEFIA: ソニーが開発、AESと同等のセキュリティで高速処理
- SIMON/SPECK: NSAが設計、ハードウェア/ソフトウェア両方で効率的
ストリーム暗号
- ChaCha20: TLSでも採用、ソフトウェア実装で高速
- Grain: 極小ハードウェア実装向け(約1300ゲート)
- Trivium: シンプルな設計で高速
[以下省略...]
→ 一般論しか返せない...
After(TCREI適用):
Task: IoT機器の限られたリソースでもセキュリティ強度を担保できる
軽量暗号アルゴリズムを3つ提案してください
Context:
* デバイス:Raspberry Pi 4(組み込みIoTゲートウェイ)
* 用途:センサーノードからの機密データ暗号化
* リソース制約:
* メモリ使用量:10KB以下
* 消費電力:バッテリー駆動のため2W以下必須
* CPU:ARM Cortex-A72(AES-NIなし)
* セキュリティ要件:128ビット安全性、10年間の暗号強度
References:
<current_issue>
AES-128実装済みだが消費電力が高く(2.8W)バッテリーが1日持たない
</current_issue>
NIST軽量暗号コンペティション採用アルゴリズムを中心に、
実装の複雑さとPythonライブラリの有無も含めて評価してください
↓返答
IoT環境での軽量暗号化要件を踏まえ、以下3つのアルゴリズムを推奨します:
## 1. ASCON (NIST軽量暗号標準化の最終選定)
特徴と利点
- 2023年にNISTが軽量暗号の標準として正式採用
- 認証付き暗号化(AEAD)により暗号化と認証を一体化
- スポンジ構造による実装のシンプルさ
性能指標
- メモリ使用量:約2-4KB(実装により変動)
- 消費電力:AES-128の約40-50%削減
- スループット:ARM Cortex-A72で約200-300 Mbps
Python実装
from pyascon import ascon_encrypt, ascon_decrypt
key = b'16_byte_key_here'
nonce = b'16_bytenonce__'
plaintext = b'sensor_data'
associated_data = b'metadata'
ciphertext = ascon_encrypt(key, nonce, associated_data, plaintext)
## 2. ChaCha20-Poly1305
特徴と利点
- ARMプロセッサでの高効率実装が可能
- ストリーム暗号ベースで低レイテンシ
- TLS 1.3でも採用される信頼性
性能指標
- メモリ使用量:約3-5KB
- 消費電力:AES-NIなしのCPUでAES-128の約30-40%削減
- スループット:ARM環境で特に高速(約400-500 Mbps)
[以下省略...]
→ 具体的な提案と実装方法まで提示!
TCREIで変わった3つのこと
最大の学び②:プロンプトチェーン - 対話を「設計」するという見方
そもそもプロンプトチェーンとは?
講座で学ぶまで特に意識していなかったのですが、プロンプトチェーンとは**「複雑な質問を段階的に分解して、前の回答を踏まえながら深掘りしていく手法」**です。
実践例:母校の後輩に向けたプロンプトのコツを学ぶための資料の作成
仮に母校の学生から「生成AIの使い方を教えてほしい」と依頼を受けて、資料をAIと一緒に作成してみた時の例です。
❌ 従来の一括質問:
大学生向けのプロンプト入門資料作って。
わかりやすく全部まとめてください。
→ どこにでもあるような「ChatGPT入門」的な内容...
⭕ チェーン方式(AIが答えやすい流れ):
プロンプトチェーンの4ステップ実践法
初めに伝えること:
母校の後輩向けにプロンプト講座の資料を作りたいです。
段階的に情報を伝えるので、各ステップの回答を踏まえて
次の質問に答えてください。
まずStep 1として、対象者の分析から始めます。
Step 1: 対象者の分析
対象者の情報です:
* 対象:情報工学科3年生(プログラミング経験あり)
* 現状:ChatGPTは使うけど「なんとなく」レベル
* 目的:卒論研究でAIを効率的に活用したい
* 時間:30分程度のハンズオン形式
この学生たちが最も知りたいと思う内容を3つ挙げてください
→ AIが学生の立場から必要な要素を判断
Step 2: つまずきポイントの深掘り
前の回答を踏まえて、次のステップに進みます。
Step 1で「研究での活用方法」が最重要とわかりました。
理系学生がAIを研究に使う際によくある失敗パターンを5つ、
具体例と共に挙げてください
→ 前の文脈を活かして、学生特有の課題を詳細に
Step 3: 解決策の提示
ここまでの分析を基に、解決策を考えます。
Step 2の失敗パターンに対して、TCREIフレームワークで
解決できる方法を整理してください。
特に「すぐ試せる例」を含めて提案してください
→ 理論と実践がバランスよく含まれた内容に
Step 4: 資料構成の作成
最後に、これまでの内容を統合します。
Step 1-3の内容を踏まえて、30分程度の
ハンズオン資料の構成を作成してください。
→ 実践的で段階的に学べる資料構成
このように「段階的に進める」ことを明示すると、AIも文脈を維持しやすくなりますね!
この方法により、「また企業の人が難しい話を...」ではなく、「これなら使える!」と後輩たちが前のめりになる資料が短時間でできるかもしれません。
新卒エンジニアとしての気づき
AIとの「協働」を学ぶ重要性
最初は「AIに質問する」と思っていましたが、実際は「AIと対話を設計する」ことが重要でした。
コミュニケーションの本質は同じ
先輩への報告も、AIへのプロンプトも、本質は同じ。
相手が判断・回答しやすいように情報を構造化して伝えることが重要です。
研修で習った「エレベーターピッチ」の考え方がプロンプトにも当てはまる:
- ダラダラ長い説明 ❌
- 構造化された簡潔な伝達 ⭕
相手(AI)の特性を理解すれば、より良いコミュニケーションができます。
失敗から学んだこと
よくある失敗例:一度に10個の要求
初期の勘違い:
「効率的」だと思って、一つのプロンプトに大量の要求を詰め込んでいました。
問題点:
AIの立場で考えると優先順位がわからず、結果的に中途半端な回答しか得られない
教訓:
AIも人間と同じ。段階的に、明確に、構造的に。
まとめ
Google Prompting Essentials講座で学んだTCREIフレームワークとプロンプトチェーンは、単なるテクニックではありませんでした。
エンジニアでも、営業でも、どんな職種でも、AIとの効果的な協働方法を学ぶことで、仕事の効率は劇的に向上するはずです。なんとなく生成AIにプロンプトをしている方でも、案外生成AIに前述のようなプロンプト方式を取り入れるだけでも、あなたの期待もしくはそれ以上の質の回答をしてくれるかもしれませんよ(笑)
認定証
[Google Prompting Essentials Certificate]
参考
- Google Prompting Essentials講座(Coursera)
- 講座で学んだTCREIフレームワーク