AI技能库实战:模块化设计赋能博客创作自动化工作流

AI技能库实战:模块化设计赋能博客创作自动化工作流 1. 项目概述一个面向AI时代的博客技能开源库最近在GitHub上闲逛发现了一个挺有意思的项目叫inblog-inc/inblog-ai-skills。光看这个名字就透着一股子“务实”的味道。它不是又一个教你如何调参炼丹的AI模型库也不是一个炫技的算法实现。它的定位非常清晰为博客作者和内容创作者提供一套开箱即用的、与AI协作的技能工具包。简单来说这个项目解决了一个很实际的痛点我们这些写博客、搞内容的人每天都在和AI打交道。从用ChatGPT辅助构思大纲到用Midjourney生成配图再到用各种工具优化SEO、分析数据。但这个过程往往是割裂的——想法在脑子里提示词在记事本里生成的结果在好几个不同的平台里。inblog-ai-skills想做的就是把这些散落的“技能”标准化、模块化、流程化打包成一个可以集成到你自己工作流里的“瑞士军刀”。它适合谁呢我觉得三类朋友会特别需要独立博客主和技术写作者希望系统性地提升内容生产效率和质量不想再零敲碎打地摸索AI用法。内容团队或媒体机构需要一套统一的、可复制的AI辅助内容生产规范确保团队输出风格和质量稳定。对AI应用开发感兴趣的开发者想看看如何将复杂的AI能力如大语言模型调用、图像生成、工作流编排封装成简洁、可组合的“技能”这个项目是一个绝佳的参考实现。这个项目的核心价值不在于提供了某个惊世骇俗的新算法而在于它提炼并工程化了内容创作领域的最佳AI实践。它把那些藏在高手Prompt里的“黑话”变成了一个个有明确输入、输出和参数的函数把那些需要反复调试的生成流程变成了可配置的管道。接下来我们就深入拆解一下这个项目的设计思路和具体怎么用。2. 核心设计理念从“提示词技巧”到“可编程技能”为什么我们需要一个“AI技能库”而不是直接去用ChatGPT的网页版这背后其实是对AI应用范式的一种升级思考。inblog-ai-skills的设计理念可以概括为三个关键词模块化、可组合、工程化。2.1 告别零散的提示词拥抱结构化技能大多数人的AI使用体验是这样的遇到一个需求比如“给文章起个标题”打开聊天窗口输入一段临时构思的提示词得到结果复制粘贴。下次遇到类似需求要么重新想提示词要么去翻聊天历史。这个过程充满了不确定性提示词稍微一变结果可能天差地别。inblog-ai-skills的做法是将这类常见的创作任务抽象成一个个独立的“技能”Skill。每个技能都是一个封装好的功能单元。例如“生成文章大纲”技能输入一个主题关键词输出一个结构清晰、包含H2/H3标题的Markdown格式大纲。“润色校对”技能输入一段草稿输出语法修正、表达优化后的文本并附上修改说明。“生成社交文案”技能输入文章核心内容和平台类型如Twitter、LinkedIn输出符合该平台调性的短文案。这样做的好处是巨大的一致性同一个技能无论谁调用、何时调用只要输入相同输出质量是稳定可预期的。这对于维护品牌声音或专栏风格至关重要。可复用性一次定义无限次使用。团队新成员无需学习复杂的提示词工程直接调用现成技能即可。可优化性你可以像优化代码一样优化技能。发现某个技能生成的标题不够吸引人你可以集中调整这个技能内部的提示词模板或参数所有调用它的地方都会自动升级。2.2 技能流水线像搭积木一样创作内容单个技能的能力是有限的但真正的威力在于组合。inblog-ai-skills支持将多个技能串联起来形成自动化的工作流或“流水线”Pipeline。想象一下你要发布一篇技术博客的完整流程头脑风暴基于一个核心痛点生成5个不同的文章角度。大纲生成选定一个角度生成详细大纲。章节撰写根据大纲的每个H2部分分别撰写初稿。技术校对检查初稿中的代码示例、术语准确性。语言润色对全文进行语法和流畅度优化。标题与摘要生成多个备选标题和文章摘要。配图建议生成用于文章头图的提示词。如果手动操作你需要在不同界面切换7次。而通过inblog-ai-skills你可以定义一个名为“技术博客创作流水线”的流程将上述7个技能按顺序连接。你只需要输入一个核心痛点这个流水线就能自动运转最终输出一篇结构完整、语言通顺、配有标题和配图建议的草稿。你只需要在关键节点比如选择最终标题进行人工审核和微调即可。这种“技能即服务流水线即流程”的思想极大地提升了复杂内容任务的执行效率和可控性。2.3 工程化实践配置、日志与扩展作为一个开源项目inblog-ai-skills在工程化上也考虑得很周到。它不仅仅是一堆提示词的集合。配置驱动技能的行为可以通过配置文件如YAML来调整。例如你可以设置“润色技能”的强度是轻度修改还是彻底重写或者设置“大纲生成技能”的深度要生成到H2还是H3级别。这意味着非开发人员也能轻松定制技能行为。日志与追溯每次技能调用都会有详细的日志记录了输入、输出、使用的模型、消耗的Token数以及耗时。这对于分析成本、调试效果、复现问题至关重要。如果某天生成的摘要特别好你可以通过日志追溯到当时具体的输入参数和模型版本。易于扩展项目提供了清晰的接口定义。如果你有一个独特的创作需求比如为你的播客生成Shownotes你可以遵循现有的模式很容易地开发一个新的技能并将其集成到技能库和流水线中。这保证了项目能随着团队需求和技术发展而成长。注意虽然项目理念先进但在实际引入时需要评估团队对AI的接受度和现有工作流。强行用自动化替代所有人工环节可能会适得其反。最佳实践是从辅助性、重复性高的任务开始如生成标签、校对错字让团队成员看到实效再逐步推广到更核心的环节。3. 核心技能库深度解析与实战配置了解了设计理念我们来看看inblog-ai-skills里到底有哪些“干货”。根据其文档和代码结构技能库大致可以分为几个核心类别。我会结合具体配置示例说明每个技能怎么用以及背后的调优思路。3.1 内容生成与辅助类技能这是技能库的基石直接帮助产生或优化内容。技能示例generate_blog_outline(生成博客大纲)这个技能的目标是将一个模糊的主题转化为可执行的写作框架。# 技能配置文件示例 (config/skills/generate_blog_outline.yaml) skill: name: generate_blog_outline description: 为给定的主题生成一个详细的博客文章大纲。 input_schema: topic: type: string description: 文章的核心主题如“如何在Kubernetes中调试微服务” depth: type: string enum: [h2, h3] default: h3 description: 大纲的详细程度h2仅到二级标题h3到三级标题。 tone: type: string enum: [professional, casual, tutorial] default: professional description: 文章的整体语调。 prompt_template: | 你是一位资深的{ tone }风格技术博客作者。请为关于“{ topic }”的主题创作一篇博客文章大纲。 要求 1. 大纲必须结构清晰逻辑层层递进。 2. 请输出纯粹的Markdown格式包含标题#和各级标题##, ###。 3. 如果深度设置为“h3”请确保每个主要部分##下都有至少2个细分点###。 4. 大纲应包含引言、核心内容分点论述和总结部分。 请直接输出大纲不要有任何额外的解释。 model_config: provider: openai # 或 anthropic, deepseek等 model: gpt-4-turbo-preview temperature: 0.7 # 创造性适中保证结构稳定又有一定变化 max_tokens: 1500实操要点temperature参数这是控制生成“随机性”的关键。对于大纲生成建议设置在0.5-0.8之间。太低如0.2会导致大纲千篇一律太高如1.0则可能结构散乱。0.7是一个平衡点能在保持结构性的同时激发一些新颖的角度。prompt_template设计提示词模板中明确指定了角色、任务、格式和深度要求。其中“输出纯粹的Markdown格式”和“不要有任何额外的解释”是关键指令能确保技能输出直接可用省去后期清洗的麻烦。输入验证通过input_schema定义了严格的输入参数和类型这能防止调用时传入错误数据是工程健壮性的体现。3.2 内容优化与增强类技能这类技能不生成新内容而是对已有内容进行加工提质。技能示例polish_and_proofread(润色与校对)这是我最常用的技能之一用于打磨草稿。skill: name: polish_and_proofread description: 对提供的文本进行语法校对、风格润色并提升可读性。 input_schema: text: type: string description: 需要润色的原始文本。 intensity: type: string enum: [light, medium, heavy] default: medium description: 润色强度。light仅修正语法错误medium调整句式提升流畅度heavy可能重构部分表达。 target_audience: type: string enum: [general, technical, beginner] default: general description: 目标读者群体。 prompt_template: | 请对以下文本进行润色和校对润色强度为“{ intensity }”目标读者是“{ target_audience }”。 请遵循以下规则 1. 纠正所有语法、拼写和标点错误。 2. 优化句子结构使其更流畅、易读。 3. 确保术语使用准确且适合目标读者。 4. 如果强度为“heavy”你可以重组段落或改变表达方式以提升清晰度但请保留原意。 5. 输出时请分为两部分 - 【润色后文本】直接给出完整修改后的文本。 - 【修改说明】以列表形式简要说明主要修改了哪些地方及原因。 待润色文本 {text} model_config: provider: openai model: gpt-4 # 校对任务对逻辑一致性要求高GPT-4效果更稳定 temperature: 0.3 # 低随机性确保修改谨慎、准确 max_tokens: 2048实操心得模型选择对于校对、翻译、总结等需要高度准确性和一致性的任务GPT-4通常比更便宜的模型如GPT-3.5-Turbo表现好得多尤其在处理长文本和复杂逻辑时。虽然成本高但能节省大量后期人工检查的时间总体是划算的。分步输出要求AI输出“【润色后文本】”和“【修改说明】”是非常实用的技巧。这相当于让AI“展示其工作过程”方便你快速审核它改得对不对、好不好。如果只输出最终文本你很难判断它是否误解了原意。强度选择根据草稿质量灵活选择。对于自己写的比较满意的初稿用light或medium微调即可。对于机器生成或非常粗糙的草稿可以尝试heavy但务必仔细核对“修改说明”防止AI过度发挥而偏离本意。3.3 元内容与运营类技能这类技能围绕内容本身生成辅助性的元数据或运营材料。技能示例generate_seo_metadata(生成SEO元数据)好的内容需要被看见SEO优化必不可少。skill: name: generate_seo_metadata description: 基于文章内容生成优化的SEO标题、描述和关键词。 input_schema: content: type: string description: 博客文章的完整内容或核心摘要。 primary_keyword: type: string description: 文章想要排名的核心关键词。 prompt_template: | 你是一名专业的SEO内容策略师。请根据以下文章内容和核心关键词生成一套优化的SEO元数据。 核心关键词{primary_keyword} 文章内容摘要 {content} 请生成 1. **SEO标题**一个吸引点击的标题包含核心关键词长度控制在60字符以内。 2. **Meta描述**一段简洁的摘要概括文章价值并包含关键词长度控制在160字符以内。 3. **3-5个相关关键词/短语**用于文章标签包含核心关键词的变体和长尾词。 请确保标题和描述通顺、自然避免关键词堆砌。直接以JSON格式输出 {{ seo_title: ..., meta_description: ..., keywords: [..., ..., ...] }} model_config: provider: anthropic # Claude系列在遵循复杂指令和结构化输出方面表现优异 model: claude-3-sonnet-20240229 temperature: 0.2 max_tokens: 500注意事项结构化输出要求以JSON格式输出是技能设计的一个亮点。这使得技能的产出可以被其他程序比如你的博客发布系统直接解析和使用实现了真正的自动化对接。字符数限制在提示词中明确指定标题和描述的字符数限制是基于SEO平台如Google搜索结果的实际显示限制。这是一个重要的领域知识注入。避免堆砌特别强调“避免关键词堆砌”是为了对抗AI为了满足“包含关键词”指令而可能产生的生硬、不自然的表述。这提示我们设计技能时不仅要告诉AI“做什么”还要告诉它“避免什么”。4. 构建自动化内容流水线从想法到草稿掌握了单个技能后我们就可以像搭乐高一样构建一个自动化的内容生产流水线。这是inblog-ai-skills真正发挥威力的地方。下面我将以创作一篇“评测类”博客为例展示如何设计并运行一个完整的流水线。4.1 流水线设计评测文章创作流程假设我们要写一篇《2024年主流代码编辑器VS Code插件评测》。整个流程可以分解为以下步骤每个步骤对应一个或多个技能主题拓展(brainstorm_angles): 输入核心产品“VS Code插件”生成多个评测角度如“开发者效率类”、“前端开发专用”、“AI编程助手类”。角度选定(人工决策): 我们选择“AI编程助手类插件”。竞品列表生成(generate_list): 输入“AI编程助手类VS Code插件”生成候选列表如“GitHub Copilot”, “Amazon CodeWhisperer”, “Tabnine”, “Cursor”。评测框架生成(generate_review_framework): 输入选定的竞品生成评测维度和标准如“安装与配置”、“代码补全准确性”、“智能提示相关性”、“与编辑器的集成度”、“定价与许可”。分项评测撰写(generate_section_draft): 针对每个插件在每个维度下生成一段简短的评测草稿。这里可以并行处理多个插件提升效率。优缺点总结(generate_pros_cons): 为每个插件生成一个清晰的优缺点列表。最终结论与推荐(generate_conclusion): 基于以上所有材料生成文章的结论部分并给出针对不同用户群体的购买建议。标题与摘要生成(generate_seo_metadata): 基于最终草稿生成吸引人的标题和摘要。4.2 流水线配置与执行在inblog-ai-skills中流水线通常通过一个YAML文件来定义。下面是一个简化的配置示例# pipeline/ai_plugin_review.yaml name: AI插件评测文章生成流水线 description: 自动生成一篇关于AI编程助手类VS Code插件的评测文章。 skills: - name: brainstorm_angles input: topic: “VS Code插件评测” num_angles: 4 - name: generate_list # 注意这里演示技能间数据传递。实际中上一步的输出需要被捕获并作为输入。 # 假设上一步输出的一个角度是“AI编程助手类插件” input: category: “AI编程助手类VS Code插件” max_items: 6 - name: generate_review_framework input: items: “{{ output_of_generate_list }}” # 引用上一步技能的输出 num_dimensions: 5 - name: generate_section_draft # 这是一个“并行任务”示例可以对列表中的每个插件同时调用该技能 for_each: “item in {{ output_of_generate_list }}” input: item_name: “{{ item }}” framework: “{{ output_of_generate_review_framework }}” - name: generate_pros_cons for_each: “item in {{ output_of_generate_list }}” input: item_name: “{{ item }}” draft: “{{ section_draft_for_item }}” # 需要引用对应插件的章节草稿 - name: generate_conclusion input: all_pros_cons: “{{ aggregated_output_of_generate_pros_cons }}” target_audience: “developers” - name: generate_seo_metadata input: content: “{{ combined_draft }}” # 综合所有章节草稿和结论 primary_keyword: “VS Code AI插件 评测” output: format: markdown filename: “ai_vscode_plugins_review_draft.md”执行与监控 通过项目的命令行工具或API执行这个流水线python -m inblog_ai run-pipeline pipeline/ai_plugin_review.yaml流水线引擎会按顺序或并行执行每个技能自动将上一个技能的输出传递给下一个技能作为输入。你可以在控制台看到实时日志了解每个步骤的状态、耗时和Token消耗。最终所有内容会被整合并生成一个名为ai_vscode_plugins_review_draft.md的草稿文件。4.3 人工审核与迭代点必须强调流水线不是全自动魔法而是“增强智能”。它生成的是一份高质量的草稿但绝不能替代人类的最终判断。在这个流水线中至少需要设置三个人工审核点步骤2角度选定从AI生成的多个角度中选择最符合你博客定位和读者兴趣的一个。这需要你的领域判断力。步骤5/6后事实核对AI生成的评测草稿和优缺点可能存在事实性错误比如过时的定价信息、错误的功能描述。你必须逐一核对。步骤8后最终润色SEO标题和描述可能不够“有灵气”你需要注入个人风格做最后调整。流水线的价值在于它把创造性、探索性、决策性的工作留给了你而把结构性、重复性、资料整理性的工作自动化了。你从“写作者研究员校对员”的多重角色中解放出来更专注于思考、判断和赋予文章灵魂。5. 部署、集成与高级调优指南要让inblog-ai-skills真正融入你的工作流还需要解决部署、集成和成本优化等问题。这部分是项目从“好玩”到“好用”的关键。5.1 本地部署与API服务化最直接的方式是克隆项目在本地运行。这适合个人或小团队初期探索。git clone https://github.com/inblog-inc/inblog-ai-skills.git cd inblog-ai-skills pip install -r requirements.txt # 配置你的API密钥OpenAI, Anthropic等到环境变量或配置文件 export OPENAI_API_KEYyour-key-here # 运行一个技能测试 python -m inblog_ai run-skill skills/generate_blog_outline.yaml --input {topic: Docker入门指南}但对于团队协作或希望与现有系统如CMS、Notion集成更推荐将其部署为API服务。项目通常提供了基于FastAPI或类似框架的Web服务器示例。# 启动API服务 uvicorn app.main:app --reload --port 8000启动后你就可以通过HTTP请求调用技能了curl -X POST http://localhost:8000/skills/generate_blog_outline/run \ -H Content-Type: application/json \ -d {topic: Docker入门指南, depth: h3}这样你的博客后台、自动化脚本甚至聊天机器人都可以通过调用这些API来获取AI能力。5.2 与现有工具链集成真正的生产力提升来自于无缝集成。以下是几个思路与写作工具集成如果你用Obsidian、Typora或VS Code写作可以编写插件或脚本在编辑器里右键选中文本直接调用“润色技能”或“翻译技能”。与静态博客生成器集成如果你使用Hugo、Hexo、Jekyll可以在文章编译部署的流程中加入一个“自动生成SEO元数据”的步骤。每次写完文章元数据自动填充无需手动操作。与内容管理平台集成对于WordPress、Ghost等可以开发一个自定义区块或插件在文章编辑页面提供侧边栏直接调用技能库来生成摘要、标签或社交媒体文案。集成的核心是将AI技能变成你熟悉环境中的一个“快捷键”或“自动化节点”而不是让你离开舒适区去使用另一个工具。5.3 成本控制与性能优化使用大模型API成本是必须考虑的因素。以下是一些实战中的优化技巧技能设计优化精简提示词去除提示词中不必要的客套话和重复指令。清晰、简洁的指令同样有效且消耗更少的Token。设定合理的max_tokens根据技能实际需要设置输出Token的上限避免AI生成冗长无关的内容。例如“生成标签”技能可能只需要50个Token而“撰写章节”可能需要800个。选用性价比模型不是所有任务都需要GPT-4。对于文本润色、摘要生成等任务gpt-3.5-turbo或claude-3-haiku可能以1/10的成本提供90%的效果。在技能配置中可以根据任务类型灵活选择模型。流水线执行优化缓存中间结果对于内容不变的部分如基于同一份草稿生成不同平台的文案可以缓存AI的第一次输出结果避免重复调用。异步与并行像前面例子中对多个插件生成评测段落完全可以并行调用API大幅缩短总等待时间。人工审核前置在流水线早期设置关键决策点如选定主题角度。如果早期方向错了后面所有步骤的API调用都是浪费。监控与审计务必开启并定期查看日志分析哪个技能消耗Token最多、耗时最长。针对这些“热点”技能进行重点优化。设置API调用的月度预算告警防止意外超支。重要提示在将任何AI生成的内容公开发布前尤其是涉及事实、数据、代码示例或专业观点的内容必须进行严格的人工审核和验证。AI可能会“一本正经地胡说八道”产生幻觉。技能库提升的是效率而不是替代你的专业判断和责任。6. 常见问题与故障排查实录在实际使用inblog-ai-skills或类似自建AI工作流的过程中你肯定会遇到各种问题。下面是我和社区伙伴们踩过的一些坑以及对应的解决方案。6.1 技能调用失败与API错误问题现象运行技能或流水线时报错APIError,RateLimitError, 或AuthenticationError。排查步骤检查密钥与环境变量这是最常见的问题。确保你的OPENAI_API_KEY、ANTHROPIC_API_KEY等环境变量已正确设置并且没有过期。可以通过echo $OPENAI_API_KEYLinux/Mac或echo %OPENAI_API_KEY%Windows简单验证。检查网络连接特别是如果你在特殊网络环境下确保能正常访问api.openai.com或api.anthropic.com。可以尝试用curl或ping测试。查看额度与频次限制登录对应AI供应商的控制台检查API密钥的余额是否充足以及是否触发了每分钟/每天的请求频率限制Rate Limit。免费试用的额度通常很少。验证模型名称在技能的model_config部分检查model字段的值是否正确。模型名称更新很快旧名称可能已失效。例如gpt-4-0314是旧版本可能已被停用需要改为gpt-4-turbo-preview。解决方案对于认证错误重新生成并配置API密钥。对于频率限制可以在代码中增加重试逻辑使用指数退避算法或者升级API套餐。对于模型不可用错误查阅供应商最新文档更新模型名称。6.2 AI输出质量不稳定或不符合预期问题现象同一个技能有时输出很好有时却答非所问或者拒绝遵循指令比如不按指定格式输出。原因分析与解决提示词指令模糊这是根本原因。AI很像一个理解能力超强但需要明确指示的新手员工。如果你的提示词说“写个大纲”它可能写得很简略。如果你说“请输出一个包含引言、三个主要部分每部分两个子点和结论的Markdown格式大纲”结果就会稳定得多。解决重构你的prompt_template使用更具体、更结构化的指令。明确角色、任务、步骤、输出格式和禁忌。temperature参数过高这个参数控制创造性。对于需要稳定、可重复输出的技能如格式转换、摘要应设置较低的值如0.1-0.3。对于需要创意的技能如头脑风暴、起标题可以设置高一些0.7-0.9。解决根据技能目的调整temperature。在技能配置中实验不同值找到稳定与创意之间的平衡点。上下文污染在流水线中上一个技能的输出可能包含一些无关的标记或格式这些内容作为输入传给下一个技能时可能会干扰其判断。解决在技能之间增加一个“清洗”或“格式化”步骤。或者在下一个技能的提示词开头用强指令覆盖例如“请忽略之前的所有格式只关注以下内容...”。模型本身的不确定性即使参数固定大语言模型本质上也是概率性的存在轻微波动。解决对于关键技能可以采用“多次采样择优选取”的策略。例如调用“生成标题”技能3次然后人工或用一个简单的评分规则如关键词包含度、长度选择最好的一个。6.3 流水线执行卡住或数据传递错误问题现象流水线执行到某一步停止或者下一步技能收到的输入数据是错的。排查步骤检查日志这是最重要的调试手段。inblog-ai-skills的日志会记录每个技能的输入和输出。找到出错技能的那条日志仔细看它的输入是什么。验证数据格式检查上一步技能的输出是否符合下一步技能input_schema所期望的格式。例如上一步输出一个字符串但下一步期望一个JSON对象就会出错。检查变量引用在流水线YAML配置中引用上一步输出时使用的变量名是否正确。例如{{ output_of_previous_skill }}必须与上一步技能定义中声明的输出字段名完全一致。处理空值或异常上一步技能可能因为某些原因如AI拒绝回答返回了空值或错误信息。下一步技能无法处理这种输入。解决方案标准化输出为每个技能定义清晰、稳定的输出格式最好也是JSON。例如{“result”: “...”, “status”: “success”}。增加错误处理在流水线引擎或技能包装层增加try...catch逻辑。当某个技能失败时可以记录错误、跳过该步骤或使用默认值继续而不是让整个流水线崩溃。使用数据验证在技能执行前先用input_schema验证输入数据。如果验证失败则直接返回错误而不是调用昂贵的AI API。6.4 成本飙升与性能瓶颈问题现象每月API账单远超预期或者流水线运行速度很慢。优化策略技能粒度拆分如果一个技能非常复杂提示词很长且每次调用消耗大量Token。可以考虑将其拆分成几个更小、更专注的技能。小技能更容易缓存和复用。实施缓存层对于输入相同则输出必然相同的技能如“翻译”、“摘要”引入缓存可以使用Redis或简单的文件缓存。第二次遇到相同的输入时直接返回缓存结果节省大量API调用。批量处理如果有大量类似的文本需要处理如为100篇文章生成摘要不要用循环调用100次API。可以探索是否支持批量API部分供应商提供或者将文本适当组合一次调用处理多个但要注意上下文长度限制。监控与告警建立简单的监控记录每次技能调用的耗时和Token消耗。设置阈值告警当某个技能的消耗异常增高时及时通知你进行检查。最后保持耐心和实验精神。构建高效的AI工作流是一个迭代过程。从一个小而美的技能开始解决一个具体痛点然后逐步扩展和连接。inblog-ai-skills提供的这套范式最大的礼物不是那几个预设的技能而是一种将AI能力工程化、产品化的思维方式。当你习惯用“技能”和“流水线”来思考内容创作时你就已经走在了人机协作的最前沿。