レ点腫瘍学ノート

Top日記2025年10月12日

Claude codeに自分のPukiWikiの文体の特徴を学習させる

AI claude pukiwiki VS Code

4a0c30cf15.png

生成AIの技術は急速に進化しており、ChatGPTやGeminiのようなWebベースのチャットツールだけでなく、ローカル環境で動作するGemini CLIやClaude Codeなど、個人でも利用できる高度な支援ツールが次々と登場しています。

これらのツールの中でも、VS Code上で動作するClaude Codeは、ローカルファイルへの直接アクセスとコード理解能力を兼ね備えた強力な開発支援AIです。今回は、このClaude Codeに自分のPukiWikiサイトで執筆してきた600件あまりの記事を学習させ、文体や構成の特徴を抽出することで、今後のPukiWiki管理をサポートしてもらう仕組みを構築してみました。

実施した作業の流れ

使用したツールと事前準備

今回の作業で使用した主なツールと、事前に行った準備について説明します。

PukiWikiファイルの準備

本番のWebサーバーで稼働しているPukiWikiのファイル一式を、FTPツールを使ってローカルの作業用ディレクトリに丸ごとダウンロードしました。これにより、本番環境に影響を与えることなく、安全にファイルを分析できる環境を整えました。

VS CodeとClaude Codeについて

Microsoft製のコードエディタであるVS Code(Visual Studio Code)を使用しました。ダウンロードしたPukiWikiのディレクトリをVS Codeで開き、ワークスペースとして設定しました。これにより、Claude Codeがプロジェクト全体のファイル構成を把握できるようになります。

Claude Codeは、Anthropic社が提供するVS Code拡張機能で、VS Code内でClaude AIと対話しながらコーディングや分析作業を進められるツールです。Mac上で動作するにはnode.js(v18以降)がインストールされている必要があります。

VS codeには拡張機能をインストールすることができ、Claude code for VS codeをインストールしておきます。この拡張機能はMacの場合はcommand+Escで呼び出すことができます。VS code内で画面上部からターミナルを開けばターミナル内でClaude codeを扱うこともできます。

今回使用したバージョンと設定は以下の通りです。ちなみに、Claudeは月20ドルのProプランを使用しています。

Claude Sonnet 4.5は2025年1月時点での知識を持つ最新モデルで、コード理解や複雑な分析タスクに優れた性能を発揮します。なお、VS codeとClaude codeは当然ながらPukiWikiで使用しているPHPを読むこともできます。

4a0c30cf15_b.png

環境の確認とClaude Codeの理解促進

まず、Claude CodeにPukiWikiの環境について理解してもらう必要がありました。

ディレクトリ構成の確認

最初に行ったのは、PukiWikiのディレクトリ構成を確認してもらうことです。VS Code上でPukiWikiのディレクトリフォルダを開き、Claude Codeに対話形式で指示を出すだけで、Claude Code自身が`ls`コマンドや`find`コマンドを実行して、PukiWikiの主要なディレクトリ構成を把握してくれました。ぼく自身はターミナルでコマンドを打ったり、PukiWiki本体のファイルを触ったりはしていません。

PukiWikiの主要なディレクトリには以下のようなものがあります。

また、ルートディレクトリには`index.php`(エントリーポイント)、`pukiwiki.ini.php`(メイン設定ファイル)、`ja.lng.php`(言語ファイル)などの重要なPHPファイルが配置されていることも確認してもらいました。これも確認するように具体的に何かの指示を出したのではなく、PukiWikiの仕組みについて調べてどのようなファイルがあるかを確認してください、と指示を出しただけです。

PHPとPukiWikiの理解確認

Claude CodeがPHP 8.2で動作するPukiWiki 1.5.4のコードを理解できるかを確認しました。これは今後、プラグインのカスタマイズなどが必要になった場合に備えての確認でもあります。

結果として、Claude CodeはPHPを理解できること、そしてPukiWikiの一般的な構成についても知識を持っていることが確認できました。

gitリポジトリの状態確認

このPukiWikiサイトはgitで管理されているため、`git status`で現在の変更状況を確認してもらいました。いくつかのファイル(plugin/edit.inc.php、plugin/ref.inc.php、robots.txt、skin/pukiwiki.skin.phpなど)が変更中であることが分かりました。

これにより、Claude Codeは作業中のファイルと確定済みのファイルを区別できるようになりました。

PukiWiki記法の学習

環境の理解が進んだところで、次の重要なステップはPukiWiki記法の学習です。

PukiWikiはMarkdownとは異なる独自の記法を使用しています。そこで、PukiWiki記法のチートシートをWebFetchツールで読み込ませて、記法の特徴を理解してもらいました。これもPukiWiki記法を記載されたURLをClaude codeに読ませてPukiWiki記法を読み書きできるようにしてくださいと指示しただけです。

この記法の違いは今後の記事執筆において非常に重要なので、Claude Codeにしっかりと記憶してもらいました。特に、MarkdownとPukiWikiで記号の意味が異なる部分(見出しの`*`と`#`、太字の`''`と`**`など)は混同しやすいため、繰り返し確認しました。

プラグインの使い方

PukiWikiでは、`#`で始まるプラグインを多用します。実際の記事で頻繁に使われているプラグインとして以下があることを確認しました。

これらのプラグインの使い方も、実際の記事から学習してもらうことにしました。

既存記事のサンプリングと読み込み

ここからが本題です。wikiフォルダに格納されている651件(2025年10月11日時点)の記事の中から、様々なカテゴリの記事をサンプリングして読み込ませました。wikiフォルダの場所を示し、このディレクトリ内にある.txtファイルの文章を読み込ませました。使用した指示は下記のような感じです。

これらのwikiフォルダにある記事はこれまでにあったPukiWikiの記事です。これらの記事を読んで、私の文章の特徴を分析し、その結果をまとめたWRITING.mdファイルを作成してください。

分析した文章の特徴を元に、文章構成や段落の長さ、よく使う表現や慣用句や言い回し、口調の強さなどを学習してください。記号やカギ括弧や丸括弧や数字などの使い方の特徴も把握してください。

導入、本文、提示する具体例など、結語の構成方法なども学習してください。

ファイルサイズと記事数の把握

まず、どのくらいのサイズの記事があるのかを確認するため、ファイルサイズでソートして大きなファイルを確認しました。

最大のファイルは224KBの「がんゲノム/遺伝子別」の記事で、次に160KBの「RecentChanges」でした。また、学会レポート系の記事は20〜30KB程度のものが多いことも分かりました。

あまりに大きなファイルは読み込みに制約があるため、中規模(15〜20KB程度)の記事を中心にサンプリングすることにしました。これについては本当は大きな記事ももちろん学習してほしかったのですが、Claude codeが勝手に省略しようとするので許容することにしました。

サンプリングした記事の種類

以下のような多様なジャンルの記事を読み込ませました。

これらの記事はReadツールで実際に読み込み、内容を分析しました。記事が長い場合は冒頭200行程度を読み込んで、文体や構成の特徴を把握しました。

文章特徴の分析

サンプリングした記事を読み込んだ後、Claude Codeにさきほど分析した文章の特徴をまとめるように指示しました。すると、VS codeのターミナル上で動作していたClaude codeがwikiフォルダ内の全ての.txtを読みに行って、自分で文章構成などの分析を始めました。

分析には時間がかかりましたが、Claude Codeは複数の記事を横断的に分析して、共通するパターンを抽出してくれました。

WRITING.mdの作成

分析結果を基に、Claude CodeにMarkdown形式で執筆ガイドラインを作成してもらいました。このガイドラインは`CLAUDE/WRITING.md`として保存され、今後記事を執筆する際に参照できるようになっています。たとえば「WRITING.mdを参考にしてこの論文についてコメントして」という指示を出すと過去のPukiWikiの文体の特徴を尊重しながら記事を出力するということもしてくれるようになりそうです。このWRITING.mdには、文体ルール、構成パターン、よく使う表現、記号の使い方など、非常に詳細な分析結果がまとめられています。全体で約200行のMarkdownファイルになりました。

参考までにこのWRITING.md(2025年10月12日時点)をここに貼り付けておきます。

fileWRITING.md

分析結果のハイライト

Claude Codeが抽出してくれた主な特徴をいくつか紹介します。

文体の特徴

この分析結果を見て、確かに自分の記事はこういう特徴があるなと改めて気づかされました。無意識に使っていた表現パターンが可視化されたのは面白い発見でした。

記事構成のパターン

Claude Codeは、私の記事に3つの主要な構成パターンがあることを見抜いてくれました。

  1. 学会レポート形式: はじめに→項目別レビュー→良かった点・改善点→まとめ
  2. 技術解説・比較形式: 問題提起→選択肢の列挙→比較評価→結論・推奨
  3. 専門知識解説形式: 概念の定義→詳細解説→具体例→まとめ

確かにこの3パターンが多いですね。今後はこのパターンを意識的に使い分けることで、より読みやすい記事が書けそうです。

よく使う表現

分析の結果、頻繁に使っている表現として以下が挙げられました。

こうして列挙されると、自分の文章の癖がよく分かります。これらの表現を意識的に使うことで、今後も一貫性のある文体を維持できるでしょう。

記号・括弧の使い分け

記号や括弧の使い方にも一定のパターンがあることが分かりました。

このような細かい使い分けまで分析してくれたのは驚きでした。

今後の活用方針

このWRITING.mdをClaude Codeに参照させることで、今後の記事執筆では以下のようなサポートが期待できます。

特に、複雑なPukiWiki記法を毎回手で書くのは面倒なので、この部分をClaude Codeに任せられるのは便利そうです。

技術的な課題と解決

作業の過程でいくつかの技術的な課題もありました。

ファイルサイズの制限

最大のファイル(224KB)を読み込もうとしたところ、トークン数の制限でエラーが発生しました。Claude CodeのReadツールには一度に読み込める最大トークン数(25,000トークン)の制限があるためです。

そのため、大きなファイルは`limit`パラメータを使って冒頭の200行程度だけを読み込むことで対応しました。もちろんこれも、具体的にこちらがそうするように指示したわけではなく、Claudeのほうからこの方針でよいかと提案があったのでOKを出しただけです
(たとえば大きな方針決定やファイルの修正はその都度、Claudeが確認してくる)。これでも十分に文体や構成の特徴は把握できました。

ファイル名のエンコーディング

PukiWikiはページ名をURLエンコードしたファイル名で保存します。たとえば「日記/2022年/2月19日/JSMO2022反省会」というページは`E697A5E8A8982F32303232E5B9B42F32E69C883139E697A52F4A534D4F32303232E58F8DE79C81E4BC9A.txt`というファイル名になります。

このため、ファイル一覧を見ただけでは内容が分かりにくいという問題がありました。しかし、ファイルを開いて冒頭を読めばどのような記事かはすぐに分かるので、実際にはあまり問題にはなりませんでした。

gitの変更管理

gitで管理されているため、新しく作成したCLAUDEフォルダやWRITING.mdは`git status`で未追跡ファイルとして表示されます。これらのファイルは、必要に応じて`.gitignore`に追加するか、コミットして管理下に置くか判断する必要があります。

まとめ

VS Code上のClaude Codeに自分のPukiWiki記事の特徴を学習させることで、今後の執筆支援の基盤を構築できました。

特に印象的だったのは、環境の把握から記法の学習、記事の分析まで、すべてをClaude Codeが自律的に進めてくれたことです。こちらからは「このチートシートを読んで」「この記事を分析して」と指示するだけで、Claude Codeは必要な情報を取得し、分析を進めてくれました。

651件の記事を分析して作成されたWRITING.mdは、単なる執筆ガイドラインというだけでなく、自分の文章の癖や傾向を客観的に知る良い機会にもなりました。無意識に使っていた表現パターンが可視化されたことで、今後はより意識的に文体をコントロールできそうです。

AI技術の進化によって、こうした個人の執筆スタイルの学習と支援が手軽にできるようになったのは驚くべきことです。今後もClaude Codeを活用して、一貫性のある記事執筆を続けていきたいと思います。

個別の参考情報


この記事に対するコメント

このページには、まだコメントはありません。

お名前:


添付ファイル: fileWRITING.md 377件 [詳細]

更新日:2025-10-12 閲覧数:555 views.