トピック

エディタと生成AIが密連携したら「最強」だった!EmEditorのOpenAI連携を試す

「AIの定型作業がワンボタン」「詰まったら続きを考えてくれる」「学習されない安心感」も……

「EmEditor」は最強AIクライアント!

 多機能・高速で知られるWindows用テキストエディター「EmEditor」だが、v24.3のProfessional版から生成AIの活用機能を大幅強化。ワンボタンで利用できる「AIツールバー」や、自動的にAIが文章を提案してくれる「AIによる執筆支援」など、まさに「密連携」といえるレベルの使い勝手を実現した。

 これらはChatGPTの元であるOpenAI APIの機能を呼び出して実現したものだが、もともと「テキスト入力のためのツール」であるエディタにAI連携機能がついたため、「テキスト作成」という視点で見ると非常に強力だ。

 例えば、「EmEditor」にプリセットとして用意された[校正][書き換え][調べる][要約]といった機能を使った後、「AIはどこをいじったのか」を知りたければ、エディタとして元々用意されている分割ウィンドウで比較・検討することができたりする。

 また、プリセットをカスタマイズしたり、ボタンを追加することもできるし、Webブラウザーとエディタを切り替える手間もない。さらに、APIを使ってOpenAIを利用しているため「OpenAIの学習に使われない≒情報漏洩の心配がない」というメリットもあるという。

EmEditorでAIプロンプトを書いてAIに文章を生成してもらう

 普段「AIを使っている」という人は、Webの入力フォームから使っている人も多いと思うが、AIの利用目的が「文字入力」なのであれば、一歩進んだ使い方として、是非参考にしてみてほしい。

ワンボタンで生成AIを実行、「自動機能」の威力が大幅アップ

 では、「EmEditor」で、OpenAI(ChatGPT)の機能を、簡単に呼び出して使えるところを見てみよう。

 まずポイントになるのが、AIツールバーだ。

AIツールバー

 これは、よく使うAIプロンプトを、ツールバーからワンクリックで呼び出し、編集中の文章に適用できるもの。機能としては「それだけ」なのだが、これが実にエディタと相性がいい。言ってみれば、これは「エディタが持っている様々な自動機能の一つとしてAIを活用できるようになった」ということだからだ。

 「EmEditor」のAIツールバーには、デフォルトで[そのまま送る]、[校正]、[書き換え]、[明確化]、[調べる]、[要約]、[問題検索]、[英語]、[日本語]、[画像作成]のボタンが用意されているが、どれも今まではできなかったAIならではのもの。これらは、ボタンを追加したり、プロンプトをカスタマイズすることもできるので、利用者の工夫次第で今までにない「AIエディタ」を作ることもできそうだ。

 AIツールバーを有効にするには、後述のようにOpenAI機能を有効に設定したのち、[表示]メニューの[ツールバー]から、サブメニューで[AI]を選べる。ここで[AI]を有効にする。これで、「EmEditor」のウィンドウにAIツールバーが表示される。

 なお、後述するが、OpenAI APIの利用には若干のコストがかかる。「EmEditor」でデフォルトで使われるGPT-4oモデルの料金は、100万入力トークンあたり5米ドル、100万出力トークンあたり15米ドルとされている。また、軽量モデルであるGPT-4o miniモデルを選んだ場合の料金は、100万入力トークンあたり0.15米ドル、100万出力トークンあたり0.6米ドルとされている。

実際に使ってみる

 では、AIツールバーを実際に使ってみよう。今回は校正機能を使ってみる。

 「EmEditor」上でテキストを選択して[校正]をクリックすると、画面が分割され、元のテキストと校正をかけた文章が並んで表示される。これだけだ。

 「EmEditor」の比較機能により、変更点を色分け表示することもできる。

 なお、OpenAIのほうの機能として、単純に校正済みの新しい文章が返ってくるときもあれば、修正点を別途明記される場合など、数パターンの回答形式があるようだ。

[校正]を実行
修正点を別途明記して返ってくる場合もある

 AIツールバーに表示されるボタンの追加やカスタマイズは、[ツール]メニューの[カスタマイズ]で表示される[カスタマイズ]ダイアログから、[AIプロンプト]を選ぶと設定できる。

 たとえばさきほど実行した[校正]であれば、「校正: $(SelOrDoc)」のようなプロンプトを実行し、出力を分割して比較するという設定となっている。「$(SelOrDoc)」は、「選択テキストまたは文書全体」を表す記号だ。

 プロンプトの設定方法は簡単なので、これを参考に、たとえば以前の記事でマクロによって実現した「大阪弁に翻訳してください: $(SelOrDoc)」のようなボタンを作ることもできるだろう。

AIツールバーのボタンの設定

分割画面で生成AIとチャット、エディタとの密連携が便利

 ChatGPTのように、「EmEditor」上でもチャット形式(対話形式)で使うこともできる。

 Web版のChatGPTと同じような対話形式なので、「別にあってもなくても………」と思う人もいると思うが、エディタを離れずにChatGPTを利用できること、そして、後述するようにWeb版と違って「データ漏えいの心配がない(学習に使われない)」のがメリット。前者のおかげで作業の流れがスムーズになるし、後者は人によっては最重要ポイントになるだろう。

 さて、対話形式での使い方だが、[表示]メニューから[AIとチャット]を選ぶと、画面が上下に分割して、[AIとチャット]パネルが表示される。

 「あなた>」の表示に続いてプロンプトを入力し、[Enter]キーを押すと、回答が返ってくる。プロンプト中で改行するには[Shift]+[Enter]キーを使う。

 回答が返ったあとには、再び「あなた>」が表示されるので、続くプロンプトを入力して、続きの質問をすることが可能だ。

 このパネルは「EmEditor」の一部なので、「EmEditor」に慣れている人にはWeb版のChatGPTより入力しやすいだろう。さらに、普通のテキストと同様にコピー&ペーストや検索・置換などの操作ができるのが便利なところ。

[AIとチャット]でプロンプトを入力すると、回答が返ってくる
続くプロンプトを入力する

入力している文章の「続き」をAIが提案、キー一発で確定まで100回呼び出して0.3円~9.2円

 もう一つ、AIを使った強力な機能に、「AIによる執筆支援」の機能がある。

 これは、文章を入力しているときに、AIが自動的に続くテキストを予想、提案してくれるというものだ。文章を書いているときに、なんということもない次の言葉が意外と出てこなかったりすることがあるが(私はある)、そうしたときに便利だ。

 提案されるテキストは、それまで入力した内容の後に、灰色で表示される。ここで[Tab]または[End]キーを押すと、全部確定する。また、[→]キーで1文字ずつ確定、[Ctrl]+[→]で1単語確定となる。ほかの候補を表示するには[Ctrl]+[Space]キーを押す。

 テキストが提案されるのは、テキストをタイピングしていって、タイピングを一時停止(100ミリ秒程度)したときとなっている。また、カーソルが行末にあり、IME未確定の文字が存在しないなどの条件もある。

「AIによる執筆支援」の機能。黒い文字が実際に入力したテキスト、その後の灰色の文字が提案されたテキスト

 なお、この機能は、AI機能を有効にすると、Text形式についてデフォルトで有効になる。この状態では、強力なAIサポートが受けられる反面、提案ごとにOpenAI APIの呼び出しが実行され、その分の料金がかかる。料金は使用するAIモデルにより変わるため、予算と欲しい品質により、様々に選ぶことができるし、設定でOFFにすることもできる。

 気になる料金だが、「EmEditor」の説明によると、1回の提案ごとに、1入力で約100トークン、出力に約10トークンのAPI利用料金が発生する。先ほども書いたが、「EmEditor」でデフォルトで使われるGPT-4oモデルの料金は、100万入力トークンあたり5米ドル、100万出力トークンあたり15米ドルだから、計算すると、1回の提案ごとに0.00065米ドル(執筆時点の為替レートで約0.092円)の料金となる。

 「100回使って9.2円」というのは、AI機能の利用料金としては高額ではないと筆者は思うが、低料金なものに変えたい場合は、後述するAI機能を有効にする設定のところで、[優先モデル]に「gpt-4o-mini」と入力する。

 GPT-4o miniの場合は、100万入力トークンあたり0.15米ドル、100万出力トークンあたり0.6米ドル、計算すると、1回の提案ごとに0.000021米ドル(執筆時点の為替レートで約0.003003円)の料金となる。「100回呼び出して約0.3円」なら、かなりリーズナブルな価格といえるだろう。

使用するモデルを低料金な「GPT-4o mini」に変更する

 また、この機能が必要なく、「テキストを入力するだけで料金がかかる」というのは困る人もいるだろう。

 この機能をオフにするのオプションは、ファイルの種類ごとの設定の中にあり、デフォルトでTextと、Markdown、HTMLの設定で有効になっている。たとえばTextの設定で無効化にするには、Textのファイルを開いている状態から[ツール]メニューの[現在の設定のプロパティ]を呼び出し、[基本]の中にある[AIによる支援執筆]のチェックを外せばよい。

「AIによる執筆支援」をオフにする

初期設定にはOpenAIのAPIキーが必要、取得と設定のポイント

 さて、先に書いたように、これらのAI機能を「EmEditor」で使うには、あらかじめ設定が必要だ。

 「EmEditor」では、OpenAIの機能をAPI経由で使う。そのため、OpenAIのAPIキーを取得し、「EmEditor」に設定する必要がある。なお、前述通りOpenAI APIはプリペイド式の有料なので、その点は注意しておこう。

 まずはOpenAIのアカウントを取得したうえで、支払いを設定しておく。まず[OpenAI developer platform]ページの歯車型ボタンから設定に進み、左サイドバーから[Billing]ページを開く。ここから[Payment methods]でクレジットカードを登録しておく。そのうえで、[Add to credit balance]からプリペイド式で支払って、API利用枠をチャージする。

支払い設定。なお、これは筆者の普段使いアカウントなので、すでにチャージされている

 続いて[Dashboard]の[API keys]から[Create new secret key]をクリックして、APIキーを取得する。このAPIキーの文字列をどこかに記録しておく。なお、APIキーはパスワードに準ずる扱いで外部に漏えいしないようにしておこう。

APIキーを取得。なお、これは筆者の普段使いアカウントなので、すでに1つAPIキーを取得している

 APIキーを入手したら、「EmEditor」からAI機能を有効にする。[ツール]-[カスタマイズ]でカスタマイズダイアログを開き、[AI]の[AIを有効にする]にチェックを入れる。

 さらに、['OPENAI_API_KEY' 環境変数を使用する]にチェックを入れて、[OpenAI APIキー]の入力フォームに、さきほど取得したOpenAI APIキーを入力する。

 ['OPENAI_API_KEY' 環境変数を使用する]にチェックを入れた場合は、設定したAPIキーがWindowsの環境変数に記録される。PCを複数人で共有しているなどの事情がなければ、この設定が「EmEditor」では推奨されている。

 設定を入力したら、[OK]をクリックすると、AI機能を使えるようになる。

AI機能を有効にし、APIキーを設定する

API経由なら「学習に使われない」のもメリット

 API経由でOpenAIを利用する「EmEditor」だが、APIを使うことによる興味深いメリットとして、「データが学習に使われない」という点がある。

 たとえば「議事録から要点をまとめてもらう」などという使い方をする場合は、入力内容が学習やチューニングなどに使われてしまっては困る場合も多いだろう。

 OpenAIのWebブラウザーでのサービスについては、利用規約で次のように、サービスの開発や改善のために、ユーザーコンテンツ(ユーザーの入力および出力)を使用する場合があると書かれている(2023年11月14日版)。

当社は、ChatGPTを動かすモデルをトレーニングするためなど、本サービスを改善するために、お客様から提供されたコンテンツを利用することがあります。

プライバシーポリシーより引用

 ただし、エンタープライズサービスやAPIサービスについては、別途「Enterprise privacy」が定められている。この中の「General FAQ」では、ユーザーコンテンツの使用について、次のように書かれている。

Does OpenAI train its models on my business data?

By default, we do not use your business data for training our models. If you have explicitly opted in to share your data with us (for example, through feedback(opens in a new window)) to improve our services, then we may use the shared data to train our models.

Enterprise privacyより引用

 これによると、ユーザーが明示的にオプトインしない限り、顧客のデータをモデルのトレーニングに使用しないとある。

 API経由の利用であれば、社内データを入力に使ってもモデルの学習には使われることはない、というわけだ。

実際に使ってみた~エディタとAIの密連携はこんなに便利~

 では、「EmEditor」のAI機能の便利さが分かりやすいよう、実際のユースケースを紹介してみたい。

 ここでは、取引先へのメールの文面を作ってみる。

 まずは「EmEditor」で、ChatGPTのプロンプトの作法に従って、メール作成を依頼するAIプロンプトの文面を書く。テキストエディターを使い慣れている人には、Webのテキストフォームに入力するより書きやすいだろう。

【メール作成を依頼するプロンプト】
あなたはビジネスマンです。以下の情報を元に取引先へのメールを作成してください。

## 目的
打ち合わせの日程調整

## 詳細
新企画に関する打ち合わせがしたい。
希望日程は以下の通り。

* 10/21 10:00~11:00
* 10/22 13:00~14:00
* 10/23 15:00~16:00

#希望するアクション
提示した候補日の中から選んでほしい

## 出力形式
件名:
本文:
[会社名]
[担当者名] 様
{ }
[メール署名]

 ここで、プロンプト文面の後に改行をいくつか入れておき、カーソルはその後に移動しておくとよい。

 そしてAIツールバーから[そのまま送る]のボタンをクリックする。すると、[AIとチャット]パネルが開き、AIが考えた文面が返ってくる。

【AIツールバーから[そのまま送る]を実行】
「EmEditor」で、メール作成を依頼するAIプロンプトの文面を書く
[AIとチャット]パネルに、AIが考えた文面が返ってくる

 おもむろに、[AIとチャット]パネルの文面の部分を右クリックし、コンテキストメニューから[メッセージをエディタにコピー]を選ぶ。すると、元のテキストのカーソルの部分に、生成された文面がコピーされる。

【メッセージをエディタにコピー】
コンテキストメニューから[メッセージをエディタにコピー]を選ぶ
元のテキストに生成された文面がコピーされる

 さて、この文案をもとに、「EmEditor」上でテキストを編集する。ただ、もう少し言い方を変えてみようと思ったとする。

 そこでAIツールバーから[書き換え]をクリックすると、画面が横に分割されて、ちょっとした言い換えを加えた文面が右側に表示される。変わった行は薄い緑色に、その中の変わった部分は濃い目の緑の地色になっている。

【AIツールバーから「書き換え」を実行】
AIツールバーから[書き換え]を実行して文面を表示。変更テキストから[他へコピー]で元テキストに取り込む

 右側の変更テキストのうち、元のテキストに取り入れたい部分については、そこを右クリックして、コンテキストメニューから[他へコピー]を選ぶ。すると、その箇所が左側の元のテキストに反映される。また、すべて反映する場合には、分割ウィンドウのタイトル部分に表示された[すべて他へコピー]をクリックする。

自分オリジナルのAIボタンも追加してみる

 ここでさらに、「よりフォーマルに」という指示を出したいとする。「AIとチャット」機能で指定してもよいのだが、ここではAIツールバーにカスタムプロンプトを追加してみよう。

 [ツール]-[カスタマイズ]でカスタマイズダイアログを開き、[AIプロンプト]を選ぶ。ここでプロンプトのリストから[書き換え]を選んで、[コピー]をクリックする。

 すると、プロンプトのリストで、[書き換え]の下に[書き換え2]が現れる。そこで[F2]キーを押し、プロンプト名称の「書き換え2」というテキストを「フォーマルに書き換え」に変更して[Enter]キーを押す。

 [プロンプト]の項目には自動で「フォーマルに書き換え」というテキストが入るので、次のように書き換える。

よりフォーマルに書き換える:
$(SelOrDoc)

 さらに[出力]の項目で[分割して比較]を選ぶ。

 これで[OK]をクリックすると、AIツールバーに[フォーマルに書き換え]が追加される。

AIツールバーにカスタムプロンプトを追加する
AIツールバーに[フォーマルに書き換え]が追加された

 実際に、さきほどのメール文面から[フォーマルに書き換え]をクリックしてみよう。画面が分割し、右側に、よりフォーマルな言い回しになった文面が表示された。

[フォーマルに書き換え]を実行

 以上、最近の「EmEditor Professional」に装備されたAI機能を試してみた。

 これと同じことは、ChatGPTでいろいろ操作してもできるだろう。しかし、元テキストやAIプロンプトをテキストエディター上で入力してそのままAIにかけられるのは、Webフォームよりテキストエディターに慣れた身にとっては、だいぶ快適だ。

 さらに、ワンボタンで定型的な処理を実行したり、その結果を「EmEditor」の比較機能で見易く比較し個別に反映したり、さらに自分の用途に合わせた処理のボタンを追加したりと、より手間が省けて便利になっている。

 なにより、テキストにまつわるさまざまな処理を、テキストエディターの中で完結して実行できるのは快適だ。生成AIのローカルクライアントしてのテキストエディターという、新たな可能性を感じさせる機能となっている。