1. 项目概述告别AI腔让大模型输出更像“人话”如果你用过ChatGPT、Claude或者Gemini来写邮件、写报告、写社交媒体文案大概率遇到过这种困扰生成的内容乍一看挺通顺但读起来总觉得“味儿不对”。那种感觉就像在听一个语法完美但毫无感情的机器人在念稿——句子冗长、用词浮夸、结构模板化充满了“为了……提供支持”、“综上所述”、“随着……的发展”这类空洞的套话。在英文里这种生硬、不自然的AI生成文本被戏称为“AI Slop”AI潦草货/垃圾内容。而anti-slop-writing这个项目就是为了彻底解决这个问题而生的。简单来说它是一个精心设计的“系统提示词”System Prompt集合或者说是一个“智能体技能”Agent Skill。它的核心目标非常直接武装你的大语言模型LLM让它生成的内容听起来更像一个真实的人类写的而不是一个AI。无论是写技术博客、市场文案、日常邮件还是创意故事装上这个“技能包”后模型的输出会变得更具体、更生动、更接地气从而有效绕过那些基于文本特征的人工或自动AI检测。项目支持包括Claude、ChatGPT、Gemini、Copilot在内的主流AI工具并且贴心地提供了针对印尼语和英语的深度优化版本尤其对印尼语的AI写作特征有独到的破解方案。2. 核心理念与设计思路拆解2.1 问题根源AI写作的“指纹”是什么为什么我们能一眼或读几句就感觉出文字是AI写的anti-slop-writing项目的设计并非凭空想象而是基于对大量AI生成文本和人类写作的对比研究总结出了一套清晰的“AI写作特征指纹”。理解这些你才能明白后续所有规则的意义。1. 过度使用“万能”但空洞的短语和句式结构这是最典型的标志。AI模型在训练时接触了大量正式、概括性的文本如维基百科、学术论文、企业报告因此它倾向于使用那些“放之四海而皆准”但缺乏信息量的表达。例如冗余的过渡词“首先其次再次最后”、“一方面另一方面”、“综上所述”、“总而言之”。浮夸的动词和名词“彰显”、“凸显”、“致力于”、“赋能”、“打造”、“构建……生态”、“提供……解决方案”。僵化的从句结构过度使用“不仅……而且……”、“虽然……但是……”、“通过……可以……”等固定搭配让句子显得机械。2. 缺乏具体细节和感官描述人类写作会自然地融入五官感受、具体数据、个人观察等细节。AI则倾向于停留在抽象层面。对比一下AI风格“这家餐厅的食物非常美味环境也很优雅提供了优质的就餐体验。”人类风格“他们家的炭烤猪肋排外层是焦糖色的脆壳一刀切下去能听到‘咔嚓’声里面的肉却软烂到脱骨混合着苹果木的烟熏味和蜜汁的甜香。”3. 语调单一缺乏节奏变化人类的写作会根据情绪和重点调整句子长短和结构。AI生成的文本往往句子长度平均结构雷同读起来像一条平稳的直线没有起伏。段落也常常以总结句开头或结尾形成固定的“汉堡包”结构。4. 对语境和文化细微差别不敏感尤其在非英语中对于像印尼语这样的语言AI很难掌握其口语中丰富的语助词如lah,dong,kan,sih和灵活的人称代词如saya/aku/gue,Anda/kamu/lo的使用场景。AI要么完全不用显得生硬要么用错场合显得怪异。anti-slop-writing的印尼语版本对此做了重点处理。2.2 解决方案从“禁止清单”到“正向引导”项目的思路不是简单地告诉AI“不要怎么写”而是构建一套完整的写作指导原则告诉它“应该怎么写”。这主要分为两个层面1. 负面清单What to Avoid项目内包含了详细的vocabulary-banlist.md词汇黑名单和structural-patterns.md结构模式黑名单。这些清单明确禁止了那些被识别为“AI高亮词”和僵化结构的使用。例如在英文中会禁用“leverage”、“utilize”、“foster”、“in order to”等在印尼语中会严格禁用“—”em dash和“–”en dash这种在AI写作中泛滥的标点并规范“tidak hanya…, tetapi juga…”不仅……而且……等模板句式的使用。2. 正向规则How to Write这是项目的精髓。它给AI设定了一系列积极的写作准则具体优于抽象要求使用具体的名词、动词、数据和例子代替模糊的形容词和概念。主动优于被动鼓励使用主动语态让句子更有力、更直接。简洁优于冗长砍掉不必要的副词、冗余的介词短语和空洞的修饰语。变化优于单调混合使用短句、长句、断句甚至段落创造阅读节奏。对话感优于报告感根据语境允许使用口语化的表达、反问句和适当的语助词针对印尼语让文字听起来像在和人交谈。展示优于讲述用事实、细节和场景来“展示”观点而不是直接“讲述”结论。2.3 三层语调体系应对多元场景一个非常实用的设计是项目的印尼语版本内置了“三层语调”3-Tier Tone体系。这承认了“人类化”写作并非只有一种模式而是需要适应不同场合正式Formal用于学术论文、官方报告、法律文件。使用saya我、Anda您等人称避免语助词结构严谨。半正式Semi-formal默认模式。适用于商业博客、新闻稿、LinkedIn帖子、大多数工作邮件。可以使用saya/aku我、kamu你偶尔加入语助词风格专业但不死板。非正式Informal用于社交媒体推文、Instagram标题、个人博客、与朋友的聊天。可以使用aku/gue我、kamu/lo你语助词使用自然风格轻松活泼。你只需要在给AI的指令中说明“使用半正式语调”或“用非正式风格写”AI就能自动调整输出极大地提升了技能的适用性和灵活性。这个设计思路非常值得所有内容创作者借鉴在让AI辅助写作前先明确你的“读者是谁”和“场景是什么”。3. 核心规则解析与实操要点3.1 核心规则深度解读anti-slop-writing的规则集并不仅仅是一个简单的“替换词列表”它是一个系统的写作风格指南。我们来拆解几个最关键的原则看看它们是如何起作用的原则一追求“颗粒感”摒弃“模糊性”规则避免使用“非常”、“极其”、“显著”这类程度副词除非能用具体事实支撑。原理AI喜欢用这些词来加强语气但缺乏实质。人类写作则会提供证据。规则强制AI去寻找具体的度量、比较或细节。实操示例AI倾向“我们的解决方案极大地提升了效率。”规则引导后“新流程上线后报告生成时间从平均4小时缩短到15分钟。”你的指令可以更细化与其说“写一个产品优点”不如说“列举三个最受用户好评的具体功能并各用一个真实用户评价中的原话来佐证”。原则二打破“汉堡包”段落结构规则禁止段落以“总体而言”、“简而言之”、“这意味着”等总结性短语开头或结尾。鼓励段落以事实、引语、问题或生动的描述直接切入。原理AI倾向于为每个段落制造一个“总-分-总”的安全结构这让文章显得刻板。人类写作的段落过渡更灵活、更有机。实操示例AI倾向“综上所述定期维护对于设备 longevity 至关重要。这意味着用户需要建立维护计划……”规则引导后“上周车间里的3号机床因为滤网堵塞过热报警停产了8小时。这件事给所有人的提醒是维护计划不能只停留在纸面上。比如我们可以……”原则三动词为王激活句子规则优先使用强有力的具体动词避免将动词名词化Nominalization。原理“做出一个决定”不如“决定”“进行一项分析”不如“分析”。名词化会让句子变得静态和官僚化。实操示例AI倾向“团队进行了项目可行性的评估。”规则引导后“团队评估了项目的可行性发现了三个主要风险。”原则四为印尼语注入“灵魂”——语助词和人称规则印尼语专属根据选择的语调层级恰当地使用lah,dong,kan,sih等语助词并灵活选择aku/gue/saya和kamu/lo/Anda。原理这些元素是印尼语口语中表达情绪、强调、亲切感或随意的核心。完全不用则生硬滥用或错用则尴尬。规则教会AI在什么语境下用什么。实操示例非正式场景AI倾向“Fitur ini sangat berguna.” 这个功能非常有用。规则引导后“Nih, fiturnya emang bergunabangetbuat yang sering remote kerjasih.” 喏这功能对于经常远程办公的人来说真的超有用。注意使用印尼语版本时务必在对话开始时明确指定你想要的语调层级例如“Gunakan tier informal”。如果不指定模型会使用默认的半正式Semi-formal语调这在大多数情况下是一个安全且自然的选择。3.2 不同工具的配置核心虽然规则内容相通但不同AI工具有不同的“喂食”方式。理解这一点能避免配置错误对于 Claude.ai (Web) 和 Claude Code核心文件是SKILL.md。它被封装为.skill格式这是一个专为Claude设计的技能包包含了完整的元数据名称、描述、图标和规则内容。安装后它作为模型的一个内置能力存在无需在每次对话中重复粘贴长提示词。对于 ChatGPT Custom Instructions由于字符限制需要使用SKILL-lite.md精简版。这个版本保留了最核心的禁止规则和写作原则去掉了部分举例和详细解释以确保能放入定制指令框。对于 ChatGPT Projects, Gemini Gems, Copilot Agents, Cursor, Windsurf 等使用system-prompt.md或AGENTS.md。这些文件内容相同只是文件名适配不同工具。它们就是完整的系统提示词会被设置为对话的底层指令影响该会话或该项目的所有后续交互。对于命令行工具如Aider或API调用将system-prompt.md的内容作为系统消息System Message参数传入。实操心得对于需要长期、固定风格的项目比如一个技术博客的写作助手强烈建议使用Projects、Gems 或 Agents 功能。这样可以将anti-slop-writing的规则与项目特定的知识库结合起来创建一个专属的、风格一致的写作伙伴。对于临时、零散的使用Claude的技能安装或ChatGPT的定制指令更方便。4. 全平台安装与配置实战指南4.1 准备工作获取规则文件无论使用哪个平台第一步都是获取规则文件。推荐使用Git这是最可靠的方式。# 克隆整个项目仓库到临时目录或你指定的目录 git clone https://github.com/adenaufal/anti-slop-writing /path/to/your/directory # 例如克隆到用户目录下的一个文件夹 git clone https://github.com/adenaufal/anti-slop-writing ~/ai-tools/anti-slop-writing进入克隆的目录你会看到indonesian/和english/两个文件夹。根据你的需求选择语言。以下实操均以印尼语版本为例英语版本操作完全相同只需替换文件夹名。4.2 分平台配置详解平台一Claude.ai (Web界面) —— 最简安装这是最简单的方法适合绝大多数用户。访问项目的 Release页面 。下载anti-slop-writing.skill文件。打开 Claude.ai 点击左侧栏底部的...菜单选择Settings。切换到Skills标签页。点击Install from file按钮。选择你刚下载的.skill文件。安装成功后在任何新对话中Claude就已经具备了“反AI腔”写作技能。你可以通过自然语言指令调用如“用半正式语调重写这段文字让它更自然。”平台二Claude Code / Claude DesktopClaude Code 允许技能全局安装或按项目安装。# 全局安装对所有项目生效 git clone https://github.com/adenaufal/anti-slop-writing ~/.claude/skills/anti-slop-writing # 重启Claude Code后技能即可用。 # 项目级安装仅对当前项目生效 cd /your/project/path git clone https://github.com/adenaufal/anti-slop-writing .claude/skills/anti-slop-writing在对话中你可以使用/anti-slop-writing快捷指令或直接说“用 anti-slop 风格写”。平台三Cursor / Windsurf 编辑器这两个AI原生编辑器使用项目级的.cursor/rules或.windsurf/rules目录来定义规则。# 进入你的项目根目录 cd /your/project/path # 为 Cursor 配置 mkdir -p .cursor/rules cp /path/to/anti-slop-writing/indonesian/AGENTS.md .cursor/rules/anti-slop-writing.mdc # 为 Windsurf 配置 mkdir -p .windsurf/rules cp /path/to/anti-slop-writing/indonesian/AGENTS.md .windsurf/rules/anti-slop-writing.md配置完成后编辑器内的AI助手通常是Cmd/Ctrl K在回答问题时就会自动遵循这些写作规则。平台四GitHub Copilot在项目根目录创建或修改.github/copilot-instructions.md文件。cd /your/project/path cp /path/to/anti-slop-writing/indonesian/AGENTS.md .github/copilot-instructions.md这样Copilot在为你生成代码注释、提交信息、文档时也会采用更人性化的风格。平台五ChatGPT Custom Instructions / ProjectsCustom Instructions字符有限打开ChatGPT设置 - Custom Instructions将indonesian/SKILL-lite.md文件的内容完整复制到 “How would you like ChatGPT to respond?” 框中。Projects推荐在ChatGPT中创建一个新Project在设置的系统提示词System Prompt部分粘贴indonesian/system-prompt.md文件的全部内容。这比Custom Instructions更强大没有长度限制且可结合上传的文件。平台六通过API调用Python示例如果你直接调用OpenAI、Anthropic或Google的API可以将系统提示词作为参数传入。import openai from pathlib import Path # 读取系统提示词文件 system_prompt_path Path(/path/to/anti-slop-writing/indonesian/system-prompt.md) system_prompt system_prompt_path.read_text(encodingutf-8) client openai.OpenAI(api_keyyour-api-key) response client.chat.completions.create( modelgpt-4, messages[ {role: system, content: system_prompt}, # 注入 anti-slop-writing 规则 {role: user, content: 写一段关于雅加达早高峰的生动描述。} ], temperature0.7, # 可以适当调高温度以增加创造性规则会约束其不滑向AI腔 ) print(response.choices[0].message.content)4.3 验证安装是否成功配置完成后如何测试规则是否生效这里有一个非常有效的“快速检查提示词”你可以直接发送给AI请将以下段落改写成两个版本 1) 一个简洁正式的版本 2) 一个轻松随意的版本 要求两个版本都必须自然避免任何AI模板化的短语。观察AI的产出如果规则未生效输出可能仍然包含“首先”、“综上所述”、“这不仅……而且……”等结构句子长度和节奏单一。如果规则生效你会看到两个风格迥异但都自然流畅的版本。正式版本用词精准、直接随意版本可能会有口语化的短句、反问甚至适当的幽默。句子长短会有变化开头方式多样。5. 高级技巧与实战心得5.1 如何下达更有效的指令仅仅安装技能还不够你需要学会如何与“被武装”的AI沟通才能发挥最大效力。基础指令“重写这段文字让它听起来更有人味。”、“用更自然的语言表达。”进阶指令结合具体规则针对细节“把这里面所有模糊的形容词比如‘非常好’、‘非常快’换成具体的例子或数据。”针对结构“打破这段文字的段落结构不要用总结句开头直接从一个具体的场景或问题切入。”针对动词“把句子里的‘进行……操作’、‘做出……决定’这种表达都改成直接的动词。”针对语调印尼语“用非正式语调tier informal来写可以适当用dong,sih用gue和lo称呼。”场景化指令“假设你是一个疲惫但幽默的上班族在推特上吐槽今天的会议。用这种口吻重写下面这段会议纪要。”实操心得给AI一个“角色”和“场景”往往比单纯给写作规则更有效。anti-slop-writing规则确保了文风的基底是人类的、自然的而你赋予的“角色”则为其注入了独特的个性、视角和情感色彩。两者结合能产生惊人的化学作用。5.2 与其它提示工程技术结合anti-slop-writing是一个基础风格层它可以与其它提示工程技术叠加使用实现更复杂的目标。链式思考Chain-of-Thought Anti-Slop当你让AI解决复杂问题时先要求它“一步步思考”最后再要求它“用自然的人类语言总结你的思考过程”。这样既能保证推理的严谨性又能让最终输出易于理解。少样本学习Few-Shot Anti-Slop在系统提示词里除了anti-slop-writing规则再提供2-3个你欣赏的写作范例。AI会同时学习你的内容风格和自然语言风格。结构化输出JSON, XML Anti-Slop对于需要机器解析的内容先让AI以JSON等格式输出结构化数据然后再让AI根据这些数据用自然的人类语言生成一段叙述性文字。规则能确保这段叙述不生硬。5.3 处理AI的“过度纠正”问题有时严格遵循规则的AI可能会走向另一个极端为了避开所有“黑名单词汇”产出一些过于简略或刻意俚语化的文字显得不专业。这时需要你进行微调。问题在需要正式报告的场合AI因为避免“综上所述”而使得段落结尾显得突兀。解决在指令中明确平衡点“请以正式、专业的语调书写这份报告遵循清晰、具体的写作原则但可以保留必要的段落过渡和总结确保逻辑连贯。”关键在于你要成为AI的“主编”。anti-slop-writing给了你一把锋利的改稿刀但用在何处、力度多大需要你根据最终目的来掌控。它消除的是“机器感”而不是“专业性”或“逻辑性”。6. 常见问题与排查技巧实录在实际使用中你可能会遇到一些典型问题。以下是我在长期使用中总结的排查清单问题现象可能原因解决方案输出仍然有明显的“首先、其次、最后”1. 规则文件未正确加载。2. 使用的可能是SKILL-lite.md精简版规则覆盖不全。3. 用户指令过于宽泛AI优先遵循了指令中的“列出几点”要求。1.验证安装发送“快速检查提示词”测试。2.升级规则如果可能改用完整的system-prompt.md。3.细化指令改为“请分点说明但不要使用‘首先、其次’这类序列词用破折号或直接换行即可。”印尼语输出完全不用语助词partikel显得生硬1. 未指定语调层级AI使用了默认或错误的层级可能误用了英语规则。2. 使用的规则文件是英语版。1.明确指令在对话开头就说“Gunakan tier semi-formal” 或 “Pakai gaya informal”。2.检查文件确认复制的是indonesian/目录下的文件。在Claude Code中/anti-slop-writing指令无效1. 技能未安装成功。2. 技能安装路径不对。1. 检查~/.claude/skills/目录下是否存在anti-slop-writing文件夹及其内容。2. 尝试在Claude Code中输入/查看可用指令列表确认是否出现。AI开始过度使用口语化词汇甚至在正式场景下用户指令可能包含了“随意”、“轻松”等词但未限定边界。AI在遵守“自然化”规则时用力过猛。在指令中增加约束“请用自然、流畅的书面语改写保持专业度避免网络俚语和过于随便的表达。”通过API调用效果不明显1.temperature参数设置过低如0.1导致模型创造性不足规则影响弱。2. 系统提示词System Prompt可能被后续的用户消息覆盖或干扰。1. 将temperature适当调高至0.7左右让模型更有“勇气”打破常规模板。2. 确保在对话历史中系统提示词位于最开头并且重要对话不轻易重置。在团队项目中如何统一风格每个成员本地配置不同或有人未配置。将.cursor/rules/、.windsurf/rules/或.github/copilot-instructions.md文件纳入项目版本控制如Git。这样任何克隆项目的人都会自动获得统一的写作助手配置。一个关键的排查技巧是“对比测试”开启两个相同的AI对话窗口一个加载了anti-slop-writing规则一个不加载。用同样的指令和文本让它们处理对比输出结果。这是最直观判断规则是否生效的方法。最后记住一点没有任何一个提示词是万能的。anti-slop-writing提供了强大的基础风格矫正但它不能替代你的判断和编辑。它最好的用法是作为“第一稿优化器”—— 让AI先产生一个摆脱了明显AI腔的、可读性更高的草稿然后你再在此基础上进行内容、逻辑和情感的深度雕琢。经过一段时间的磨合你会发现自己给AI的指令也会变得越来越精准最终形成一套与你个人或品牌风格完美契合的人机协作写作流程。