前回の記事でRe:VIEW Templateの環境構築しました。
Re:VIEW Templateをベースに記事を書いてみる(Gitの初歩から)今回は、GoogleのAIアシスタント「Gemini Code Assist」を活用して、Re:VIEW形式の書籍を作り上げようとして、なかなか良かったので紹介します。(この記事も一部Geminiで作成してます。)
VS CodeでGemini Code Assistを導入する
私がRe:VIEWの記事を書く際にVS Codeを使っているため、VS CodeでのGemini Code Assistの導入方法について紹介します。
まず初めに拡張機能アイコンをクリックしてGeminiと検索すると、下記の「Gemini Code Assist」という拡張機能が出てくるので、これをインストールします。
インストールが終わると下記のように星マークのようなアイコンが表示されます。これをクリックすると、Geminiとのチャットができるコンソール画面が開きます。
これで事前の導入は完了です。あとはこのチャット画面でやり取りをしながら執筆を進めていきます。
話が少しそれてしまいますが、Agentモードというものがあり、Agentモードを活用するともう少し高度な処理が出来そうでした。ただ、私の環境ではモデル使用の上限になってしまい、まともに使えませんでした。(私の環境は Google AI Plus の料金プランだったため、Pro以上が必要なのかなと思いました。)
一応、GeminiにAgentモードを使った場合の作業環境の変化のイメージ紹介記事を作ってもらったので、補足にて紹介します。
Geminiにプロジェクト(フォルダ)全体を理解させる
技術同人誌のように複数のファイル(catalog.ymlや多くの.reファイル)を扱う場合、個別のファイルをコピペしてAIに渡すのは非効率です。Gemini Code Assistの真価は、プロジェクトの構造を丸ごと理解させられる点にあります。
VS CodeのサイドパネルにあるGeminiチャットで、プロジェクトフォルダ内のファイルを指定、あるいはフォルダ全体を対象として認識させることで、AIは「どのファイルがどの章に対応しているか」を把握した状態で回答してくれます。
まず初めに「File」から「フォルダーを開く」で、Re:VIEWの作業環境があるフォルダを選択します。
Re:VIEW Templateの場合、catalog.ymlに文章の目次のようなものが表現されているため、正しくフォルダ構成を理解しているかを確認するために下記のような指示を出してみます。
catalog.ymlの内容を整理してこの本の内容を教えてください。
そうすると下記のようにファイル名ごとの概要を提示してくれるので、正しくファイルにアクセスして内容を理解してくれていることが分かります。(画像はモザイク処理を掛けてしまってますが、中身としては妥当なものを表示できています。)
今回は表示させるだけでしたが、チャットの内容はある程度は記憶してもらえるため、Agentモードを使っていなくても、全体の整合性の確認などで十分に使えそうでした。
実際にGeminiと作業を実施してみる
Re:VIEW構文のエラー解決
Re:VIEWは強力なツールですが、@<fn>{}や//image[]といった独特なタグ、さらに章をまたぐ参照(@<chapref>)などの管理が少し大変です。
以前の記事で、VS Codeの拡張機能を使ってRe:VIEWの文法をチェックしてくれるツールを入れているので、ある程度はコンパイルエラーの理由に事前に気が付くことが出来るのですが、コンパイル時に発生したkey not foundなどのエラーメッセージをそのままチャットに貼り付けるだけで、原因となっているファイルと箇所を特定し、即座に修正案を提示してくれます。
↓【参考:以前の記事】
実際にエラーメッセージを投げてみて修正した結果が下記です。今回は複数ファイルで<chapref>の文法間違いがあったのですが、AIが的確に修正案を提案してくれました。
提案内容に問題がないか聞いてくれるので、問題なければ「Accept」を押すだけで実際にファイルへ反映されます。
文章の下書きの作成
人間がタイピングで文章を作成すると、どうしても速度の限界があり時間がかかってしまいます。文章を書く際、ある程度伝えたい内容(書きたい内容)は決まっていると思うので、それをAIに伝えて文章のベースを考えてもらい、そこから自分流に加筆・修正していくと、作業効率を劇的に加速させることができると感じました。
例えば「表題と、こんな感じのことを書きたい」程度の指示を出すだけで、下記のような具体的な文章を考えて提示してくれます。(内容は全部塗りつぶしてしまっているため、イメージだけ掴んでいただければと思います。)
文章の長さにもよりますが、私の場合はある程度ベースを作ってもらって、それを元に自分で内容を加筆・修正するほうが早いと思いました。
誤字/脱字のチェック
普段ブログを書く際でも誤字や脱字があり、自分でセルフチェックするのはとても大変(というか、かなりの頻度で見落としている)なのですが、技術同人誌の執筆ともなると、一人で完璧にセルフチェックできるようなボリュームではなくなってしまうと思います。
ある程度大きなサークルさんなら複数人でクロスレビューなどもできると思いますが、私みたいに完全に個人で書いている場合は、自分の力だけでなんとかしないといけません。
ですが、AIを活用すると表記揺れの統一や誤字の訂正をある程度自動で実施してくれるので、「気軽に書き進め、書き終わったらAIチェックを挟んで校正する」というプロセスを踏むことができます。
例えば「誤字脱字や表記ゆれのチェックをして」と依頼すると、下記のように指摘・修正してくれました。
こちらは普通に変換ミスの指摘です。
こちらは表記揺れの指摘と修正です。このように、ある程度の文章校正まで任せられるので、非常に便利だと感じました。
まとめ:AIは執筆の「パートナー」
これまで一人で黙々とこなしていた執筆作業が、Gemini Code Assistを導入することで「AIとの共同作業」へと変化しました。特にRe:VIEWのような独自構文を扱う環境では、コンパイルエラーの即座な解決や、プロジェクト全体を俯瞰した校正ができるメリットは非常に大きいです。
誤字脱字の不安から解放され、構成案を一緒に練ることができるAIは、個人執筆者にとってまさに心強い「編集者」であり「パートナー」と言えます。皆さんもぜひ、AIの力を借りて、よりスムーズでクリエイティブな執筆活動を楽しんでみてください。
【補足】「Agentモード」を使いこなすと執筆はどう変わるのか?
私の環境では利用枠(Quota)の関係で詳しく紹介できませんでしたが、Gemini Code Assistには「Agent」と呼ばれる、より高度で自律的なモードが存在します。
実際に試すことはできなかったため、Geminiに調査してもらった内容を紹介させていただきます。AIに調査させて作った記事であり、自身で試せていないため内容に誤りがある可能性がある点にご留意ください。(ここから下の内容がAIに書いてもらった内容です。)
前置きが長くなってしまいましたが、Agentと単なるチャットとの決定的な違いは、AIが「ツールを使い、作業を完結させる」能力を持っている点にあります。
チャットが「回答」をくれるのに対し、Agentは「実際にコマンドを実行し、エラーが出たらその場で修正して、成功するまで繰り返す」という自律的な行動をとります。
「ビルドが通るまで直す」という執筆の自動化
Agentはターミナルでreview-pdfmakerを実行できます。もし構文エラーでPDF化に失敗しても、Agentはそのログを自分で読み取り、「xxxx.reの12行目に誤字がある」と特定し、勝手に修正して再度ビルドを実行します。私たちが何もせずとも「常にビルドが通る状態」を維持してくれるのです。
複雑な「一括リファクタリング」と整合性確保
「第2章の画像IDをすべて変更して、それらを参照している第5章や付録のリンクもすべて更新し、最後にプレビューでリンク切れがないか確認して」といった、複数のファイルを跨いだ複雑な変更を一気に依頼できます。Agentは変更計画(Plan)を立てた後、すべてのファイルを正確に書き換え、最後にビルドして壊れていないことを証明します。
catalog.ymlに合わせた「ファイル構造の再構築」
「やっぱりこの章は2つに分けたほうがいいから、ファイルを分割して、catalog.ymlを更新し、新しい章に合わせて見出しレベルも自動調整しておいて」といった、ファイルシステム自体の操作を伴う大規模な構成変更も、指示一つで完結します。
Gemini Code Assistの自律的なエージェント機能については、公式ドキュメントで詳細な活用方法が公開されています。AIを「執筆パートナー」にしたい方は必見です。
公式リファレンス:
Google Cloud Gemini Code Assist 公式サイト
Gemini を使用してコードを作成する(公式ドキュメント)
0 件のコメント:
コメントを投稿