写点什么

WritingGPT: 基于 ChatGPT 和 AutoGPT 打造个人写作团队

作者:俞凡
  • 2023-05-27
    上海
  • 本文字数:5935 字

    阅读完需:约 19 分钟

本文介绍了如何通过定义多个 GPT 角色,以自动化流水线的方式打造个人写作团队,让 AI 帮助我们完成文章写作、修改、SEO 等所有流程。原文: How I Built WritingGPT, a Fully Automated AI Writing Team



ChatGPT 是 AI 内容创造领域的巨大飞跃,但当我们要求系统写一篇完整的文章时,它往往会输出一堆废话,或者围绕一些奇怪的主题绕来绕去。


作为一名拥有几个小众网站的专业作家,以及 AI 专业人士和 OpenAI Beta 测试人员,我在过去几年里一直在尝试 AI 写作。虽然 ChatGPT 很不错,但还是无法真正满足创建可读性强、有用的文章的需要。


然而,最近有两件事改变了这一点:


  • GPT-4 API 的发布

  • AutoGPT 的出现 —— 将 AI 系统以链的形式组合在一起的 AI 代理,通过让 AI 系统协同工作来提高产出


尝试的结果是一个新的 Beta 系统,我称之为 WritingGPT。这是一个定制开发的 Python 程序,用 OpenAI 的 GPT-4 来模拟整个写作团队,仅根据提示和目标关键字制作高质量博客文章。


WritingGPT 创建的文章提供了真正的见解,并能获得谷歌排名。下面介绍我是怎么做的。

AI 与 AI 对话

就像Paul DelSignore在最近关于生成式 AI 的文章中所说的那样,AutoGPT 是生成式 AI 工具箱中一个强大的新工具。和 HuggingGPT 模型一样,AutoGPT 通过一个 AI 系统(通常是 ChatGPT)来指导其他 AI 系统的动作。


简而言之,AutoGPT 是人工智能与人工智能之间的对话,通过使用一个 AI 系统的输出作为另一个 AI 系统的输入,开发者可以将多个 AI 连接在一起,增强整体能力。


AutoGPT 和 HuggingGPT 可以在运行中实现这种能力。根据用户查询,它们可以编写新的代码并创建新的连接来尝试解决问题,从而实现更多功能,并通过创建新的连接来解决各种问题。不过我的目标是创建 AI 写作团队,因此并不需要那种程度的多功能性。


我的任务非常具体: 写一篇好的博客文章。实现这一任务的步骤有很好的定义,WritingGPT 不需要编写代码或者将步骤动态连接。


相反,我们可以想象出各种各样的人工智能,以一种一致的、可预测的方式将它们连接在一起,以解决这一特定、有限的问题。

人类的灵感

在小众网站社区,尤其是在像Niche Pursuits这样的播客中,网站所有者经常分享很多关于写作团队的细节。因此为了创建 WritingGPT 的结构,我采用了一个相对比较熟悉的流程。


这些团队具有相当一致的结构。一般来说,网站所有者会根据自己的知识和关键词研究来确定一个主题,然后把任务交给小编,后者会研究这一主题,并写一篇草稿。


编辑(通常是收入更高、经验更丰富的人)会审查草稿并提出建议。有时,专门的 SEO 人员会对关键词、结构和其他 SEO 因素提出建议。


小编根据收到的建议重写草稿。最后,发布编辑审查草稿、插入图片、添加链接、格式化并将其上传到 Wordpress 或其他内容管理系统。


网站所有者通常会查看最终版本并亲自编辑,以确保文章符合他们(或网站)的人设,基于个人经验进行处理后,发布文章。


可以看到,这是一个角色和步骤都很明确的流程。我就想,为什么不能用 AI 实现?

一个完整的硅基写作团队

这正是我决定要做的,具体来说,就是创建一个与 OpenAI 的 GPT-4 API 集成的 Python 脚本。


GPT-4 是 OpenAI 大语言模型的最新版本,也是目前支持 ChatGPT Plus 的底层技术。这是一个了不起的模型,能够生成令人惊讶的模拟人类语言的文本。


作为初始输入,WritingGPT 接受两项内容:


  • 写作想法。可以是简单的标题,也可以是复杂的标题或者关于文章应该包括什么的注释列表。

  • 以 SEO 为目的的文章目标关键字或短语。


然后通过一系列连续步骤将这些信息传递给 GPT-4 API。


WritingGPT 是围绕 API 的 Chat Completion 函数构建的。与 ChatGPT 非常相似,该函数接受提示并使用 GPT-4 进行响应。不过,与 ChatGPT 不同的是,该 API 包含了另一个有用的功能,用所谓的系统消息为 GPT-4 指定"角色"的能力。


基本上,角色是用户告诉 GPT-4 希望它成为什么样的实体。虽然 ChatGPT 被锁定为聊天机器人,但角色允许我们精确指定希望 GPT-4 具有的功能。


对于 WritingGPT, GPT-4 的角色允许我们创建一系列 GPT-4 实例,每个实例都像传统写作团队的成员一样。


当我向 WritingGPT 提供提示时,第一步是将提示交给 GPT-4 的一个版本,我已经指示它扮演小编角色。AI 会解读提示,写出目标文章的初稿。


#Write initial draftresponse = openai.ChatCompletion.create(  model="gpt-4",  messages=[    {"role": "system", "content": "You are a professional freelance copy writer"}, {"role": "user", "content": "%s" % initial_directive}  ])    initial_draft = (response.choices[0].message.content)print ("Initial draft", initial_draft)
复制代码


当草稿完成后,AI 将其发送给虚拟写作团队的下一个成员: 一个扮演经验丰富的编辑角色的 GPT-4 版本。


根据系统编写的文章类型,可以指定想要调用哪种类型的编辑。例如,如果让 WritingGPT 生成一篇技术文章,可以通过修改系统消息来召唤一个具有丰富技术出版物工作经验的 AI 编辑。


AI 编辑会查看文案草稿,并提供一份反馈和建议列表。



然后将草稿交给 GPT-4 创建的 AI SEO 专家,系统信息(定义了系统的角色)确保指定这个 SEO 专业人员有"10 年以上经验",这样他们就有希望真正了解该做的工作!


与 AI 编辑一样,AI SEO 专家会根据文案草稿和指定的目标关键字,为文案提供一系列建议。


然后,AI 小编从 AI 编辑和 AI SEO 专家那里获得反馈,并将草稿重写为改进的最终版本。


一旦最终版本完成,AI 小编将草稿提交给 AI 美工(同样以 GPT-4 角色创建),后者将会对文章中包含的图片提出建议。


最后,AI 美工将草稿交给 AI 发布编辑,后者用 HTML 对草稿进行格式化,并添加文章中提到的任何企业或地点的网站链接,然后输出最终版本。


总结一下,以下是 WritingGPT 人工团队中的人工智能"人":


  • 小编

  • 有经验的编辑

  • SEO 专家

  • 美工

  • 生产编辑


通过将多个定制的 GPT-4 实例连接在一起,WritingGPT 可以用 AI 模拟整个写作团队。


至关重要的是,不需要训练每个 AI"人"来执行他们的角色,只需要用不同的系统消息告诉 GPT-4 扮演哪个角色,它就可以很好的执行对应角色。

结果

WritingGPT 在测试中可以很好的写出连贯的、SEO 优化的文章。


接下来看看如何用 WritingGPT 为我的小众网站 Life Tech Shorts 写一篇文章,该网站主要涵盖家用科技产品。我们将写一篇文章来回答这个问题: "洗碗机是密封的吗?"


以下是我给 WritingGPT 的初始提示和目标关键字:


initial_directive = "Write a blog post answering the question Are Dishwashers Airtight?"   target_keyword = 'are dishwashers airtight' 
复制代码


大约 1 分钟后,小编就写出了回答这个问题的初稿,并交给了 AI 编辑。初稿基本上就是从 ChatGPT 中直接得到的东西。


以下是 AI 编辑对改进草稿的看法:


标题建议: "密封性之争: 探索洗碗机密封的真相。" 这种改头换面的标题引发了好奇心,并添加了更吸引人的语气。

-修改引言: 在引言中加入吸引人的钩子来吸引读者注意力,比如,"洗碗机 —— 拯救了无数个花在争论该轮到谁来洗盘子的时间。" 但是你有没有想过这个聪明的设备是如何保证封闭水和空气的?”

-简化和重组句子以提高清晰度和可读性,例如,将"由于该过程涉及用水和产生蒸汽……"改为"洗碗机在运行过程中用水并产生蒸汽……"

-把长段落分成更短、更容易理解的段落,让读者更容易理解。

-增加统计数据或研究,展示洗碗机的效率或洗碗机技术多年来的进步,激发读者的兴趣。

-考虑用副标题来分割文本,使读者更容易理解。例如,使用"气密 vs. 水密: 理解两者的区别" 作为副标题。

-用对话式语气吸引读者注意力,例如,把"注意到……很重要"换成"记住……很重要"。

-包含现实生活中的例子或轶事,使文章更具相关性,例如处理洗碗机问题的个人经历或与洗碗机有关的著名事件。

-修改结论: 通过总结要点,为读者提供最终想法或要点来加强结论。例如,"最终,洗碗机在水密和半气密密封之间的复杂平衡被证明是其有效性背后的秘密。"下次当你把那些脏盘子装进去的时候,就能欣赏到那些让这个厨房帮手变得如此不可或缺的智能工程和设计。"


这么多反馈啊!AI SEO 专家也参与了进来:


SEO 编辑

  1. 通过加入目标关键词来优化标题: 考虑将标题修改为"洗碗机是密闭的吗? 你需要知道的关于洗碗机密封机制的一切",以直接点出目标关键字并吸引用户查询。

  2. 在副标题中添加目标关键字和相关关键字: 使用包含目标关键字和相关关键字的副标题,例如"洗碗机是气密还是水密?"和"了解洗碗机的气密和水密设计"。

  3. 包含相关内外部链接: 添加与洗碗机或电器相关的其他文章的内部链接,以及讨论洗碗机机械、法规或能源效率的权威来源的外部链接。

  4. 添加带有优化标签的图像: 合并相关图像,例如洗碗机组件或密封件的图表或照片,并包含包含重点关键词的图像标签。

  5. 用符号或编号增强可读性: 将洗碗机设计、蒸汽通风口和干燥周期的关键点分解成符号或编号列表,使读者更容易消化信息。

  6. 加强 EAT(Expertise, Authoritativeness, Trustworthiness)元素: 为了建立专业知识、权威性和可信度,添加作者简历,包括在电器或家庭维护方面的证书和专业知识。此外,考虑包含引用、推荐,或来自该领域专业人士的专家意见。

  7. 应用 LSI(Latent Semantic Indexing)关键字: 加入潜在语义索引(LSI)关键字,这些关键字是经常与目标关键字一起出现的术语,如"洗碗机门密封"、"防水电器"和"洗碗机蒸汽出口"。

  8. 优化元描述: 写一个引人注目的元描述,包括目标和相关关键字,以更好的告知潜在读者博客文章的内容,并吸引他们点击。

  9. 更新和重新利用内容: 定期回顾和更新有关洗碗机设计和功能的最新信息、趋势和技术文章。此外,考虑将内容转换为不同格式,例如信息图表或视频,以吸引更广泛的受众。

  10. 监控和维护关键字排名: 跟踪关键字排名和网站流量,以确保文章有效针对主要关键字及其变体。准备好对内容进行调整,以维持或提高排名表现。


WritingGPT 的 AI 小编随后接受了两组反馈,并将草稿重写为最终版本。在这一过程中,AI 小编接受了编辑的部分建议(尤其是关于引言的建议),而忽略了其他建议,就像人类作家一样!


随后,AI 美工建议将一些照片整合到草稿中,发布编辑添加了相关的 H2s 和其他标题来构建文章。


发布编辑还提供了一个可靠的标题:"洗碗机是密封的吗? 理解你的厨房英雄的机制"


下面是加载到网站 Wordpress 后端的一部分文章:



GPT-4(目前)还不能生成照片,所以没有实际添加照片,而是指示 WritingGPT 提供包含照片提示的文本,然后我就可以在现实世界中拍摄了。


我是一名专业摄影师,所以独特的照片是我的小众网站的一大卖点,制作原创照片有助于使 WritingGPT 的输出对读者来说更加独特和有用。AI 美工给了我照片简介,就像真正的美工/编辑一样,而我负责制作和添加照片!


在今后的迭代中,我可能会与 DALL-E API 集成以添加自定义插图,但就目前而言,我喜欢添加真实世界的照片。


添加照片后,我查看了草稿,并对 WritingGPT 的输出进行了事实核查,然后添加一些我自己的经历,并确保文章的每个部分都引人注目且有意义。这与我在处理人类作家或写作团队的草稿时使用的流程相同,基于这个流程大概需要花费 5 分钟完成一篇文章。


这是我发表在博客上的最终结果: Are Dishwashers Airtight? Understanding the Mechanics of Your Kitchen Hero


这篇文章通过了 AI 独创性检查,99%都是原创的。



这篇文章的抄袭率是 0%。



从 SEO 角度来看,它做的怎么样?这篇文章在 Surfer 上得了 40 分,并不完美,但考虑到竞争对手的平均得分在 52 分左右,也不算差。



主要问题是这篇文章很短,只有大约 500 字。对于更复杂的主题,WritingGPT 会写更长的文章,通常就意味着更高的 Surfer 分数。


但无论 SEO 得分如何,正如老话说的,要用结果来证明。在 WritingGPT 发布文章后的 6 个小时,它在谷歌目标关键词中排名第二,再过几天可能排第一名。



当然,这是一个长尾关键词。但是,在几个小时内排名这么高是个很好的迹象,表明谷歌喜欢这些内容,并且知道它对受众有价值。我猜 WritingGPT 的虚拟 SEO 顾问很擅长这份工作!

限制和未来的工作

尽管我发现 WritingGPT 对于各种博客文章类型来说都是个有用的工具,但也有一些限制。与任何生成式 AI 系统一样,WritingGPT 偶尔会"产生幻觉"或瞎编乱造。


如果说有什么不同的话,那就是多位作者和编辑似乎给系统的输出带来了更多"幻觉"(以及更准确和独特的见解)。似乎 AI 小编有时会将 AI 编辑所说的内容当成事实,如果这些内容是 AI 编辑编造的,就会出现错误。


这个系统很擅长不假装成人类(部分原因是我设置了护栏,比如告诉 WritingGPT 不要执行信息不足的任务),但有时还是会出错。


这就是为什么仔细检查系统的结果很有必要,不能只是获取输出并点击发布。当然,如果雇佣人类作家为网站写作,也应该检查他们的工作!


WritingGPT 的使用成本也比 ChatGPT 高。由于该系统不断将冗长的草稿和大块的文本来回处理,并且由于 GPT-4 API 比其早期版本昂贵得多,因此使用该系统撰写文章并不是免费的。


不过还是很便宜,根据账单数据,用 WritingGPT 写 1000 字似乎要花费大约 1 美元。另外,WritingGPT 比较慢,写一篇完整的文章大约需要 10 分钟。


该系统可以编写各种类型的博客文章,给它提供一些独特的信息(比如去当地餐馆的笔记)有助于产生真正有趣和独特的内容,输入的细节越多,结果就越好,越不像 AI。


WritingGPT 的另一个优点是系统是模块化的,可以随时轻松添加其他具有新角色的"团队成员"。


例如,可以添加一个 AI 事实核查员,或者 AI 评论家,他会讨论小编文章中的观点,帮助小编把文章写得更好。这有点像生成对抗网络的非正式版本,用于生成人工角色。


或者,一旦 GPT-4 的浏览功能被添加到 API 中,就可以添加一个 AI 研究助理,用于实时访问网站,为 WritingGPT 提供最新数据。

我对 WritingGPT 的计划

目前我不打算发布 WritingGPT 供其他人使用,我用它为自己的内部小网站和一些客户服务。


不过,该系统背后的基本理念几乎任何人都可以应用于几乎任何行业。将 AI 实体(通过 GPT-4 注入智能并分配不同的角色)结合在一起,让它们相互交流,共同努力提高产出,是一个广泛适用的强大流程。


我们可以看到 AI 生成的法律团队帮助构建法律案件,识别并发现需要寻找的文件,起草投诉,以及以其他方式进行合作。还可以看到 AI 生成的医疗团队通过利用不同的人工智能来扮演不同的专家、护士和供应商角色,为病人"巡诊"。


AutoGPT 功能强大,但很难控制。WritingGPT 背后的"团队 GPT"方法利用了多个 AI 相互交谈的能力,但也确保他们的工作遵循明确的操作流程,从而产生有用、一致的输出。


基于团队的 AI 也是一种超越构建更大语言模型军备竞赛的方法。WritingGPT 更聪明,而不是更大或更强,它用现有系统(以及源自现实世界的流程)来改进工作。


事实证明,GPT-4 只要从(虚拟)朋友那里得到一点帮助,就可以做出惊人的事情。




你好,我是俞凡,在 Motorola 做过研发,现在在 Mavenir 做技术工作,对通信、网络、后端架构、云原生、DevOps、CICD、区块链、AI 等技术始终保持着浓厚的兴趣,平时喜欢阅读、思考,相信持续学习、终身成长,欢迎一起交流学习。微信公众号:DeepNoMind

发布于: 刚刚阅读数: 3
用户头像

俞凡

关注

公众号:DeepNoMind 2017-10-18 加入

俞凡,Mavenir Systems研发总监,关注高可用架构、高性能服务、5G、人工智能、区块链、DevOps、Agile等。公众号:DeepNoMind

评论

发布
暂无评论
WritingGPT: 基于ChatGPT和AutoGPT打造个人写作团队_人工智能_俞凡_InfoQ写作社区