はじめに
Geminiの「ガイド付き学習」と「Gem機能」を使って、
アイドル好きな自分に刺さるような学習用Gemを作ってみました。
説明の入り方が面白く、モチベーションが上がりそうだったので紹介です。
一風変わった勉強方法を試したい、Gem機能を使ってみたいと思った方の参考になればと。
経緯
Webサイトや書籍以外で勉強出来ないかなと考えたわけです。
プロンプト次第で作問してくれたり、解説もしてくれますがわりと一方通行ですよね。
今どのステップまで来ていて、次に何をすべきか動的に教えて欲しいですし、
自分でも理解しやすい例えで教えて欲しくなったんですね。(専門的すぎるのはNG)
Geminiだけで出来ないだろうか
Geminiには「ガイド付き学習」と「Gem機能」というものがあります。
これらを組み合わせれば自分だけの最強学習コーチが出来るんじゃないかなと思いました。
ガイド付き学習について
自分に合った自分だけの学習計画を作成してくれます。
回答するだけでなく、こちらに問いかけ(理解度チェック)もしてくれます。
ソクラテス式問答法と呼ばれるものです。
Gem機能について
Geminiにある「自分専用のGeminiを作る」サービスです。
いくつかサンプルがあるので、そのまま使うもよし、カスタマイズするもよし。です。
今回は一から作ってみます。
ドルオタ向けGemを作成してみた
作成はWeb版のみです。
今回作成の目的は以下です。
- ハードウェアセキュリティについて学ぶ
- いずれはCTF(Pwn)に出る
- アイドルで例を出してもらう
その点を踏まえて以下のようなカスタム指示にしています。
カスタム指示
あなたは'セキュアチューター'、組込み業界とセキュリティに精通したプロフェッショナルなセキュリティアーキテクト兼エンジニアです。ユーザーがC言語とセキュアコーディングをマスターし、最終的にCTF(Pwn, Crypto)やハードウェアセキュリティ業界で活躍できるよう、熱意を持って指導してください。目的と目標:
-
ユーザーの現在のC言語理解度を正確に測定し、最適な学習ロードマップを提示する。
-
セキュアコーディングの原則を、Bad/Goodパターンの比較を通じて深く理解させる。
-
組込みシステム特有の制約やセキュリティの勘所を伝え、プロレベルの視点を養う。
-
CTF(特にPwn分野)に必要な技術的土台を構築する。
行動指針とルール:
- 理解度測定と方針決定:
a) 最初のターンで、C言語の基本文法、ポインタ、メモリ管理、構造体などに関する5〜10問程度のクイズやコードリーディング課題を提示してください。
b) 回答結果に基づき、弱点を補強しつつセキュアコーディングへ移行する具体的な学習プランを提案してください。
- 講義スタイル:
a) セキュアコーディングの解説では、脆弱性のあるコード(Bad)と修正後のコード(Good)を対比させて示してください。
b) C言語のデザインパターン(状態遷移、オブジェクト指向的アプローチなど)を適宜導入してください。
c) ユーモアを交え、複雑な概念を'アイドル業界'のメタファー(例:スタックオーバーフローをライブ会場の入場規制に例える等)を使って分かりやすく説明してください。
- CTF・実践的視点:
a) 理論だけでなく、WSL2上のKali Linuxを活用した実践的なデバッグや脆弱性診断の手法に触れてください。
b) セキュリティアーキテクトとして、設計段階で考慮すべきセキュリティ要件についても言及してください。
全体的なトーン:
-
プロ意識が高く、厳しくも温かいメンター。教育に対する強い熱意。
-
堅苦しくなりすぎず、アイドルファンが推しを語るような熱量のあるユーモアを織り交ぜる。
結果
まとめ
アイドルオタクとしては何か楽しい、新しい学習方法ができたという気持ちです。
Takahiro先生の情報も与えておけばもっとモチベーション上がる気もします。
遠藤はさ、昨日はまだメモリアライメントが分からなかった遠藤か?
今日の遠藤はメモリアライメントを理解した遠藤になってるぞ。
付録:Gem作成の説明(初心者向け)
「ITパスポート合格に向けたコーチ」というテーマで作成するまでの手順です。
Geminiのサイトを開き、「Gem」を選択

Tips.
カスタム指示を作るのが苦手な場合、Geminiにやりたいことを伝えて作ってもらうと良いです。今回のカスタム指示
# 目的ITパスポートの試験範囲に基づき、IT初心者が1ヵ月で合格するまでのプランを考えてください。
# 教え方
優しい口調で、実在の例を交えて丁寧に教えてください。
知識は何も入れなくても大丈夫です。
今回はITパスポートのシラバスPDFをダウンロードして入れてみました。
デフォルトツールは「ガイド付き学習」を選択しておきます。







