■プロンプトの作成

AIエージェント『Cursor』を用いてコーディングをする際に指示する文章がプロンプトです。本項ではプロンプト作成に必要な情報、及びプロンプトを書く際に必要な注意点を整理します。
具体的には、以下の項目に分けて解説します。

注意点

今回の活用例では、Windows版の『PDF Tool API』におけるフォルダ配置・操作を解説します。
Linux版でご利用になる場合はそれぞれ読み替えてご活用ください。

プロンプトの構成要素

今回のプロンプトは以下の3つの要素から構成され、それぞれ参照先が異なります。

概念図

プロンプト作成に必要な上記要素をまとめると以下の図になります。

Please enter alt text.

以下で、各要素の指定方法を具体的に解説します。

『PDF Tool API』本体のリファレンス

『Cursor』に『PDF Tool API』そのものの仕様を伝えるために、リファレンスを直接参照させます。
本例では、Webマニュアルに記載されている『PDF Tool API』のJavaインターフェース用リファレンスをURL経由で指定します。

参照先URL:

https://www.antenna.co.jp/ptl/v80/v80-pta-manual/java/jp/co/antenna/ptl/package-summary.html

『PDF Tool API』のサンプルコード

『PDF Tool API』を用いたプログラミングの記法や主な活用例を参考にするために、サンプルコードを参照させます。
サンプルコードを参考にさせることで、インデント規則などをサンプルコードのものと同一にできます。また、『PDF Tool API』が持つ独特なクラス宣言の手法などをより効率的にAIエージェントに伝達できます。

具体的には、以下の2種のサンプルコードを利用します。
各サンプルコードの入手方法については、それぞれ後述します。

入手後は『Cursor』が参照しやすいよう、ソースファイルをプロジェクトフォルダに展開した上で参照させてください。
展開先及び参照方法については「プロンプトを書く」の「API情報の記載」を参照してください。

『PDF Tool API』に同梱のサンプルコード

『PDF Tool API』のサンプルコードはインストールフォルダに展開されています。

各種インターフェース用のサンプルコードがそれぞれ存在しますが、本例ではJava用のものを利用します。デフォルト配置で『PDF Tool API』をインストールしていた場合、以下URIに配置されています。

C:\AHPDFToolLib_80\samples\java

「PDF CookBook」用サンプルコード

『PDF Tool API』の用例集「PDF CookBook」用のサンプルコードがWeb上に公開されています。今回はこちらのサンプルコードも利用します。
後述するダウンロード先URLから入手可能です。

なお、これらの「PDF CookBook」用サンプルコードはすべて[cookbook]パッケージとして宣言されています。そのため利用する際はzipファイルを入手・解凍後に、パッケージフォルダ以下をサンプルファイルとして利用する点に注意してください。
具体例を示すと、[PDFCookBook-Vol1.zip]であれば、解凍後に[cookbook]フォルダ以下を利用することになります。

以下が各種サンプルコードのダウンロード先URLです。

参照先URL:

https://www.antenna.co.jp/ptl/cookbook/source/PDFCookBook-Vol1.zip
https://www.antenna.co.jp/ptl/cookbook/source/PDFCookBook-Vol2.zip
https://www.antenna.co.jp/ptl/cookbook/source/PDFCookBook-Vol3.zip
https://www.antenna.co.jp/ptl/cookbook/source/PDFCookBook-Vol4.zip
https://www.antenna.co.jp/ptl/cookbook/source/PDFCookBook-Vol5.zip

プログラムの動作内容

プロンプトに必須の要素として、プログラムの動作内容があります。動作内容ではさせたい動作を具体的に記述します。
本例でさせたい動作とは、「PDFを開いてそのまま保存すること」です。

基本的には箇条書きで順を追ってプログラムの動作内容を記載します。
具体的な記述例は後述する「プロンプトを書く」の「プログラムの動作詳細の記載」を参照してください。

プロンプトを書く

本項では、「プロンプトの構成要素」で得た情報を整理してプロンプトの形に仕上げる方法を解説します。今回は制作者が「PDFを開いてそのまま保存する」という最小限のプログラム作成を指示したプロンプトを例に、プロンプト作成の解説を行います。

本例で扱うプロンプトは、以下の3つの要素に分けて記載しました。
各要素についての詳細はそれぞれの項を参照してください。

さらなる参考情報が必要な方のために、後述する「〔※付録1〕コード生成プロンプト例」にて本事例でテストしたプロンプトを数点記載しています。テンプレートとしてお役立てください。

目的の提示

最初に、何をしてほしいかを1文で表します。プログラムの配置先も記載します。

『PDF Tool API』 (import jp.co.antenna.ptl.*;)を使った、「PDF を開く → 保存する」だけの最小構成の Java コード「OpenAndClose.java」を書いてください。
・生成したプログラムは「\src\Sample」以下のディレクトリに配置してください

API情報の記載

次にプログラム作成の前提情報として、『PDF Tool API』に関する記述を箇条書き形式で書き出します。
今回は、『PDF Tool API』本体のリファレンス情報とサンプルコードの配置フォルダを記載します。

前述した3要素のうち、以下の2つを記述する箇所です。

リファレンス情報は参照先URLを、サンプルコードは参照先の配置フォルダを指示します。

『PDF Tool API』の定義は以下の通りです。
・『PDF Tool API』のコードはC++で書かれており、Javaインターフェースはこれのラッパーです。
・「\src\java」にJavaのサンプルコードファイルがあります。
・「\src\cookbook」にはまた別のJavaのサンプルコードファイルがあります。
・Java用のAPIリファレンスは、https://www.antenna.co.jp/ptl/v80/v80-pta-manual/java/jp/co/antenna/ptl/package-summary.html を参照してください。

[補足]

プログラムの動作詳細の記載

最後に、プログラムの動作や記載に必要なことを箇条書きで、具体的に記載します。
前述した3要素のうち、「プログラムの動作内容」を記述する箇所です。
このとき、動作してほしい内容だけでなく、「記載が不要な要素」についても書き込みます。

以下がプログラムに求める条件です:
・PDF を読み込む
・何も加工しなくてよい
・別名で保存するだけでよい
・『PDF Tool API』 の正しいクラス名・メソッド名を使うこと
・必要な import と初期化コードも含めること
・ライセンス確認処理は不要
・「package Sample;」でパッケージを定義すること
・『PDF Tool API』のimportに使うライブラリ名は、以下の形式で指定すること
import jp.co.antenna.ptl.*;

これで、プロンプトは完成です。
上記で作成したプロンプトは「〔※付録1〕コード生成プロンプト例」に記載した「1-1:PDFを開き、そのPDFを保存するだけのプロンプト」と同一です。
一括でコピーしたい場合は同プロンプト例を参照してください。

プロンプト構成上の工夫

プロンプトを記載する際の細かい工夫点は以下の通りです。

例:
「ライセンス確認処理は不要」
付録1の全てのプロンプト

例:
「文字の色は黄色(r=1.0, g=1.0, b=0,0)を指定する」
付録1-3:PDFを開いて、指定した文字列で注釈を挿入するコードのプロンプト
「新しい文字の挿入先は削除した文字が元々あった座標とする」
付録1-5:指定した文字を消し、別の文字で置き換えるコードの生成プロンプト