关于 Alchemy
Alchemy 是供 AI 编码 Agent 使用的精简写作规则集,可作为项目指令文件安装,也可通过 MCP 服务提供。它引导 Agent 使用具体、直接的表达,并指出常见的大模型写作模式以供规避。
主要功能
- 01避免常见大模型写作模式的规则
- 02可安装的 `ALCHEMY.md` 指令文件
- 03从现有 Agent 配置链接规则
- 04无需安装即可打印规则
适用场景
- 01指导 Agent 编写项目文档
- 02在不同 Agent 配置中应用一致的写作规则
- 03通过 MCP 按需获取写作指南
MCP 相关
MCP 服务提供 `get_writing_rules` 工具和 `alchemy://rules` 资源,让兼容 MCP 的 Agent 按需获取规则集。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
1收录的工具列表 · 更新于 3 周前
此工具无需参数。
详细介绍
Alchemy
Alchemy 是一套即装即用的规则集,可防止你的 AI 编码 Agent 写出大模型腔:不堆叠破折号,不写“并非只是 X,而是 Y”,也不随手塞进 深入探讨。只需添加一次,Agent 就会在写作前读取它,生成的 README、提交说明和文档也会开始像是人写的。
点石成金。它只有一个文件,大约 1000 个 token,放在 Agent 的其他指令旁边:ALCHEMY.md。这里的其他内容都只是帮你把它加入项目。
如何让我的 AI 不再写出大模型腔?
将它安装到项目中,并让 Agent 使用它。选择适合你技术栈的方式:
# Node / npm
npx @fernforge/alchemy init
# Python / pip
pip install alchemy-writing
alchemy init
init 会将 ALCHEMY.md 写入你的项目,并在你已有的 Agent 配置中添加链接:CLAUDE.md、AGENTS.md、.cursorrules 或 Copilot 指令。从那以后,Agent 会在正常上下文中读取这些规则。若要将规则集打印到标准输出而不进行安装:
npx @fernforge/alchemy print # or: alchemy print
更喜欢手动操作?将 ALCHEMY.md 复制到你的代码仓库,并在 Agent 的指令文件中引用它。这就是全部机制。无需服务、API 或账户。
前后对比
下面是 Alchemy 会捕捉的句子类型。同一个事实,两种说法:
之前
Redis 不仅仅是一个数据库——它还是一个强大、可靠的缓存层,能够释放整个技术栈的全部潜能。
之后
Redis 是一个内存存储。把缓存和会话放进去,数据库就不会再成为瓶颈。
“之前”的句子里堆叠了四种典型痕迹:“不只是 X,而是 Y”这种空洞对比、形容词堆砌(强大、可靠)、孤零零的戏剧性破折号,以及“释放全部潜能”。这些都没有说明 Redis 的作用。“之后”的句子去掉了这些内容,只陈述一件你可以据此采取行动的具体事实。这就是全部诀窍,应用到 Agent 写作的所有内容中。
它会去掉哪些大模型痕迹?
具体来说,包括这些:
- 空洞对比:“不只是 X,而是 Y”“这不是关于 A,而是关于 B”。
- 三段式短句和凑数的三项并列:“快速、可靠、可扩展”“没有 X。没有 Y。只有 Z。”
- 用来代替事实的形容词堆砌:可靠、无缝、强大、全面。
- 破折号堆叠。真正的问题是密度,因此规则是:少用。
- 填充词汇:深入探讨、利用、借助、解锁、提升、织锦、领域、展示。
- 铺垫式开头(“在当今快节奏的世界中”“其核心是”)和总结式收尾(“总之”“归根结底”)。
- 回答前重述提示词。
解决办法绝不是换个同义词,而是用具体事实替换模糊词:不要说“可靠”,而要说“每秒处理 10k 个请求”。这些规则会推动 Agent 说出事实。
其背后的原则是:没有哪个词能单独证明一段文字是机器写的。真正的信号是,这些痕迹在平淡、均匀的文本中成群出现。Alchemy 针对的是这种扎堆现象,因此它会减少这些痕迹,却不会删掉那些确实用得恰当的词。
与 Claude、Cursor 或 Copilot 搭配使用
init 会检测项目中已有的配置文件,并在其中添加规则集链接,因此同一个 ALCHEMY.md 适用于不同的 Agent:
- Claude Code / Claude 通过
CLAUDE.md读取它。 - Cursor 通过
.cursorrules读取它。 - Copilot 通过其指令文件读取它。
- 任何支持
AGENTS.md的 Agent 都会在其中找到它。
一套规则集,适用于你使用的任何 Agent。
将它用作 MCP 服务
如果你想让所有项目都能按需获取规则,而不是在每个代码仓库中都提交一个文件,可以将 Alchemy 作为 MCP 服务运行。将它添加到客户端配置中(Claude Desktop、Cursor、Cline):
{
"mcpServers": {
"alchemy": { "command": "npx", "args": ["-y", "@fernforge/alchemy-mcp"] }
}
}
它会提供一个 get_writing_rules 工具和一个 alchemy://rules 资源,让任何支持 MCP 的 Agent 都能在准备撰写文字时获取规则集。详情请参阅 mcp/。
三种安装方式,一套规则
三者使用来自同一源的相同规则,因此请根据你的工具链选择,也可以自由组合:
- npm:
@fernforge/alchemy—npx @fernforge/alchemy init - PyPI:
alchemy-writing—pip install alchemy-writing - MCP:
@fernforge/alchemy-mcp—npx @fernforge/alchemy-mcp
规则的来源
这些规则基于人们实际指出的 AI 写作特征,而非凭空猜测:维基百科的“AI 写作迹象”、Kobak 等人对 ChatGPT 出现后研究论文中哪些词汇使用频率上升的研究、Pangram 的短语频率数据,以及 Reddit 和 r/Professors 上关于如何识别 AI 写作的长期讨论。我们特意将规则保持简短:为 Agent 提供能在上下文中记住的具体指导,而不是一篇长文。
这份 README 本身也遵循这些规则。如果读起来不错,这就是我们想传达的。
贡献
发现了它遗漏的特征?请提交 issue 或 PR,并附上一组真实的修改前后示例。具体示例比新增抽象规则更有价值。
只编辑根目录下的 ALCHEMY.md。python/ 和 mcp/ 下的副本由 node scripts/sync-rules.mjs 根据它生成;如果两者不一致,CI 会失败。npm、PyPI 和 MCP 包通过 GitHub Releases 发布(参见 .github/workflows)。
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。