Pythonのテストプログラム作成を、Markdownによるプロンプト用いて依頼しました。
前回の記事では、モジュール評価環境のハードウエア構成について紹介しました。今回は、シリアルI2Cインタフェースを介して外部EEPROMのデータリード/ライトをする Pythonプログラムの作成を生成AIに依頼したときの内容をまとめました。プロンプトを作成するにあたり、Patentfield(AI特許総合検索・分析プラットフォーム)の近藤先生がされたご講演資料(https://pcip.jp/1061/)を参考にMarkdownで作成しています。
【Markdown】
元々、MarkdownはWebライターのためのテキストからHTMLへの変換ツールです。生成AI(大規模言語モデル)の学習データには、Markdown形式で記述された技術情報(GitHub上のコードやStack OverflowのQ&Aなど)が大量に含まれています。学習の過程でMarkdownの構造に慣れ親しんでいたため、Markdownを使って指示することで、情報の優先順位や境界線が明確になり、生成AIが、「どこがタイトルで、どこが具体的な指示内容か」を瞬時に判別できるようになったことで、他の形式と比較してパフォーマンスが向上したと言われています。
【よく使われるMarkdown記法と効果】
一覧を以下に示します。報告書類の構成をイメージすれば良いと思います。
| 記号 | 使い方 | 効果 |
| # ## | # 指示の内容 | 大枠のテーマを伝え、AIの思考の方向性を定める |
| * - | *8バイト通信 | 複数の制約やルールを並列に伝え、抜け漏れを防ぐ |
| **テキスト** | **最優先事項** | 特定のキーワードを強調し、注目させる。 |
| ’’’ | '''ソースコード''' | 指示内容と処理対象のデータを物理的に切り離す。 |
【シリアルEEPROMリード/ライトプログラム】
当初プロンプトを基にGminiが出力したPythonコードをThonnyにコピペし、起動したところ、TkEasyGUI(拡張パッケージ)に関連するエラー(eg.HorizontalLine()がない)はありましたが、EEPROM内に保存されたデータのリード/ライトを行う部分については、修正なしで動作しました。
【今後の進め方】
ご依頼頂いたモジュール基板を評価するためのGUIを作成し、ターゲットとなるAD変換デバイスへデータのリード/ライトを行い、変換値をGUIに表示させるプログラムを作成していきます。

当初プロンプト
(Geminiの採点は95点)

EEPROM リード/ライトGUI

Gemini添削後のプロンプト
【プロンプトに対するフィードバック】
Geminiに当初プロンプトに対する添削を指示したところ95点でした。ターゲットとなるEEPROMのアドレス幅(バイト数)や、エラー処理の具体的な扱いに関する指示がなかった点が-5点の理由だったようです。以下のテンプレートを埋めていく形でブラッシュアップをしていきます。


