メインコンテンツへスキップ

プロンプト拡張ツール「Query Expander」を作った

プロンプト拡張ツール「Query Expander」を作ったのアイキャッチ画像
目次

TL;DR


作った経緯

Claude Codeで調査や実装を依頼するとき、依頼内容を明確にしておくと精度が上がります。

RAGの文脈では、ユーザーの曖昧なクエリを検索に適した形に変換することを「クエリ拡張(Query Expansion)」と呼びます。これと同じ発想で、LLMへのプロンプトも拡張できないかと考えました。

以前は、依頼内容を拡張するためのルールをClaudeに設定して使っていました。例えば「〇〇について調べて」という曖昧な指示を、目的・対象・期待するフォーマットを含んだ明確なプロンプトに変換してもらう、といった具合です。

ただ、この作業の頻度がかなり高かった。仕事中も頻繁に使うので、毎回チャットを開くのがめんどくさくなってきました。

そこで、Claude Artifactとして独立したツールにしてみました。Claudeにログインしていれば使えるので、いつでも気軽にプロンプトを拡張できます。自分のプラン内で動作するため、APIのトークン消費を気にする必要もありません。

UIデザインにはGoogleのStitchを使いました。プロンプトからUIを生成してくれるツールで、ベースのデザインを素早く作れます。


Query Expanderとは

Query Expanderは、曖昧なプロンプトを明確で構造化されたプロンプトに変換するツールです。

主な機能:


使い方

  1. テキストエリアに拡張したいプロンプトを入力
  2. 詳細レベル(Concise / Standard / Detailed)を選択
  3. 「ENHANCE QUERY」をクリック
  4. 拡張されたプロンプトをコピーして使用

詳細レベルの使い分け

レベル出力量用途
Concise1〜2文軽微な修正、誤字脱字の修正
Standard2〜4文一般的なプロンプト改善(デフォルト)
Detailed3〜5項目複雑なタスク、詳細な指示が必要な場合

Refine Onlyモード

通常モードはプロンプトを「拡張」しますが、Refine Onlyモードは元の構造を維持したまま「洗練」します。

通常モードとの違い:

モード動作
通常目的・対象・フォーマットなどを追加して拡張
Refine Only元の構造を維持しつつ、表現を洗練

Refine Onlyが向いているケース:


使用例

入力:

Reactのstate管理について調べて

Standard出力(イメージ):

Reactにおけるstate管理の主要なアプローチについて調査してください。
対象として、useState、useReducer、Context API、および外部ライブラリ(Redux、Zustand、Jotai等)を含めてください。
それぞれの特徴、適切なユースケース、パフォーマンス面での考慮点を比較形式でまとめてください。

曖昧な「調べて」が、目的・対象・期待するフォーマットを含んだ明確なプロンプトに変換されます。


リンク


まとめ

プロンプトを明確にする作業は地味ですが、LLMの出力精度に直結します。Query Expanderを使えば、この作業を手軽に行えます。

Claudeにログインしていれば無料で使えるので、日常的にLLMを使う方はぜひ試してみてください。

ZSL
ZSL

AIエンジニア

生成AIを活用した開発ワークフローの研究・実践をしています。