Alchemy について
Alchemy は、AI コーディングエージェント向けの簡潔な文章作成ルール集です。プロジェクトの指示ファイルとして導入できるほか、MCP サーバー経由でも提供され、具体的で簡潔な表現を促し、LLM に多い文体を避けるよう案内します。
主な機能
- 01LLM に多い文体を避けるルール
- 02導入可能な `ALCHEMY.md` 指示ファイル
- 03既存のエージェント設定からルールを参照
- 04インストールせずにルールを出力
活用シーン
- 01エージェントによるプロジェクト文書の作成支援
- 02複数のエージェント設定で文章ルールを統一
- 03MCP 経由で文章作成ガイドを取得
MCP 対応
MCP サーバーは `get_writing_rules` ツールと `alchemy://rules` リソースを公開し、MCP 対応エージェントが必要に応じてルール集を取得できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
1掲載時のツール一覧 · 3 週間前に更新
このツールにパラメーターはありません。
詳細
Alchemy
Alchemy は、AI コーディングエージェントが LLM のような文章を書くのを防ぐ、すぐに導入できるルールセットです。em ダッシュの多用、「X だけでなく Y でもある」という言い回し、場違いな delve は使わせません。一度追加すれば、エージェントは文章を書く前にルールを読み込み、生成する README、コミット、ドキュメントが人間の書いたような文章になります。
鉛を金に変えましょう。エージェントのほかの指示ファイルと一緒に置く、約 1000 トークンのファイル ALCHEMY.md がすべてです。ここにあるほかのものは、そのファイルをプロジェクトに導入するためのものです。
AI が LLM のような文章を書くのを防ぐには?
プロジェクトにインストールして、エージェントに参照させます。お使いのスタックに合う方法を選んでください。
# Node / npm
npx @fernforge/alchemy init
# Python / pip
pip install alchemy-writing
alchemy init
init はプロジェクトに ALCHEMY.md を作成し、すでに使用しているエージェント設定(CLAUDE.md、AGENTS.md、.cursorrules、Copilot の指示ファイルなど)からリンクします。以降、エージェントは通常のコンテキストの一部としてルールを読み込みます。インストールせずにルールセットを標準出力に表示するには、次のコマンドを実行します。
npx @fernforge/alchemy print # or: alchemy print
手動で設定する場合は、ALCHEMY.md をリポジトリにコピーし、エージェントの指示ファイルから参照してください。仕組みはそれだけです。サービスも、API も、アカウントも必要ありません。
変更前と変更後
Alchemy が修正するのは、たとえば次のような文です。同じ事実を、2 通りに表現しています。
変更前
Redis は単なるデータベースではありません。スタック全体の可能性を最大限に引き出す、強力で堅牢なキャッシュレイヤーです。
変更後
Redis はインメモリストアです。キャッシュやセッションを保存すれば、データベースがボトルネックにならなくなります。
変更前の文には、よくある特徴が 4 つ詰め込まれています。「X だけでなく Y でもある」という対比のない対比、形容詞の羅列(powerful、robust)、大げさな em ダッシュ、そして「可能性を最大限に引き出す」という表現です。Redis が何をするのかは、何ひとつ説明していません。変更後の文ではそれらをすべて取り除き、実際に行動に移せる具体的な事実を 1 つ述べています。エージェントが書くあらゆる文章に適用するのは、このやり方です。
どんな LLM らしい特徴を取り除きますか?
具体的には、次のようなものです。
- 中身のない対比:「X だけでなく Y でもある」「A の問題ではなく、B の問題です」。
- ぶつ切りの 3 項目や、無理に 3 つ並べる表現:「高速、信頼性、拡張性に優れています」「X はありません。Y もありません。あるのは Z だけです」。
- 事実の代わりに並べる形容詞:堅牢、シームレス、強力、包括的。
- em ダッシュの多用。本当の特徴は密度にあります。そのため、使用は控えめにします。
- 水増し表現:delve、leverage、harness、unlock、elevate、tapestry、realm、showcase。
- 前置きの決まり文句(「今日の変化の激しい世界では」「本質的には」)や、まとめの決まり文句(「結論として」「最終的には」)。
- 回答の前にプロンプトを言い換えること。
修正方法は、決して同義語への置き換えではありません。曖昧な言葉を具体的な事実に置き換えます。「堅牢」ではなく、「毎秒 1 万件のリクエストを処理します」と書くのです。ルールはエージェントに、事実を示すよう促します。
根底にある原則は、機械が書いたことを証明する単語は 1 つもない、ということです。特徴となるのは、平坦で均一な文章の中に、こうした表現がいくつも固まって現れることです。Alchemy はその集中を抑えるため、本当に適切な単語は残したまま、こうした特徴を減らします。
Claude、Cursor、Copilot で使う
init はプロジェクト内の設定ファイルを検出し、そこからルールセットにリンクします。そのため、同じ ALCHEMY.md を複数のエージェントで使えます。
- Claude Code / Claude は
CLAUDE.md経由で読み込みます。 - Cursor は
.cursorrules経由で読み込みます。 - Copilot は指示ファイル経由で読み込みます。
AGENTS.mdに対応しているエージェントなら、そこから読み込みます。
使うエージェントがどれでも、ルールセットは 1 つです。
MCP サーバーとして使う
各リポジトリにファイルをコミットする代わりに、プロジェクトを問わず必要なときにルールを提供するには、Alchemy を MCP サーバーとして実行します。クライアント設定(Claude Desktop、Cursor、Cline)に追加してください。
{
"mcpServers": {
"alchemy": { "command": "npx", "args": ["-y", "@fernforge/alchemy-mcp"] }
}
}
get_writing_rules ツールと alchemy://rules リソースを公開するため、MCP に対応したエージェントは文章を書く前にルールセットを取得できます。詳しくは mcp/ を参照してください。
インストール方法は3通り、ルールセットは1つ
3つとも同じソースから同じルールを提供するため、お使いのツールチェーンに合わせて選び、自由に組み合わせてください。
- npm:
@fernforge/alchemy—npx @fernforge/alchemy init - PyPI:
alchemy-writing—pip install alchemy-writing - MCP:
@fernforge/alchemy-mcp—npx @fernforge/alchemy-mcp
ルールの出典
推測ではなく、実際にAIによる文章だと指摘されている特徴に基づいています。Wikipediaの「AIによる文章の兆候」、ChatGPTの登場後に研究論文で使用頻度が急増した単語を測定したKobakらの研究、Pangramのフレーズ頻度データ、そしてそれを見抜く方法をめぐるRedditやr/Professorsでの長年の議論を参考にしています。意図的に短くまとめています。エッセイではなく、エージェントがコンテキスト内に保持できる具体的なガイダンスです。
このREADME自体も、ここに記載したルールに従っています。問題なく読めるなら、それが売り文句です。
コントリビューション
見逃している特徴に気づいた場合は、実際の修正前と修正後の例を添えて、issueまたはPRを作成してください。抽象的なルールを追加するより、具体例のほうが役に立ちます。
ルートのALCHEMY.mdだけを編集してください。python/とmcp/の下にあるコピーは、node scripts/sync-rules.mjsによってこのファイルから生成されます。内容にずれがあると、CIは失敗します。npm、PyPI、MCPのパッケージはGitHub Releasesから公開されます(.github/workflowsを参照)。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。