Blog-writer-multi-agent
Abdulbasit110/Blog-writer-multi-agent加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
你还在为写技术博客而熬夜吗?面对一个陌生的技术主题,要查资料、列提纲、填内容、校对润色——一个人吭哧吭哧折腾大半天,写出来的东西还漏洞百出。GitHub 开源项目 Blog-writer-multi-agent 就是来解决这个痛点的:它用三个 AI 智能体(Agent)组成流水线,你喂给它一个主题,几分钟后,一篇结构完整、引用实时网络资料的博客文章就出来了。

这个项目的作者 Abdulbasit 应该是名独立开发者或 AI 技术爱好者。他发现现有的 AI 写作工具普遍存在两个问题:一是输出的内容缺乏时效性,AI 靠的是训练数据里的知识,聊 2024 年的事还能对付,但聊昨天刚发布的新框架就抓瞎了;二是很多 AI 写作工具是"单兵作战",一个模型从头写到尾,缺乏专业分工,写出来的东西要么逻辑松散,要么深度不够。
基于这些观察,他用 CrewAI 框架搭建了这套多智能体博客写作系统,并在 GitHub 上开源。项目上线后,被贴上了 agenticai、multiagents、crewai 等标签,迅速聚集了 65 颗星,在 AI Agent 赛道中属于入门级但有一定代表性的作品。
整个系统的核心是一套标准的 Plan-Write-Edit 三阶段流水线,每个阶段由一个专属的 CrewAI Agent 负责:
第一棒:Content Planner(内容规划师)
Planner Agent 接收用户输入的主题(如"Agentic AI 的发展趋势"),调用 SerperDevTool 实时搜索互联网,获取该主题的最新资讯、行业动态和相关资料。然后,它综合这些信息,规划出博客的整体框架——标题、章节结构、每个小节要覆盖的核心观点,以及需要引用的参考资料。这相当于一个专业编辑在拿到选题后做的工作。
第二棒:Content Writer(内容写手)
Writer Agent 接过 Planner 的提纲和参考资料,开始撰写正文。它使用 Google 的 Gemini 2.0 Flash EXP 作为底层大模型,这是一款支持超长上下文(100万 tokens)的旗舰模型,能够在一次调用中处理大量参考资料,保证文章内容的一致性和深度。Gemini 2.0 的多模态能力(处理文本、代码、图片)也为未来扩展留下了空间。
第三棒:Content Editor(内容编辑)
Editor Agent 对 Writer 生成的初稿进行最后一道加工:检查事实准确性、修正逻辑漏洞、优化语言表达、提升可读性。它会对比 Serper 搜索到的真实资料,确保文章内容不出现 AI 幻觉(Hallucination)。
项目采用清晰的前后端分离架构:
后端(FastAPI + CrewAI)
后端入口是 server/app/main.py,基于 FastAPI 框架实现,提供一个核心接口 POST /generate-blog/。后端在服务启动时初始化整个 Crew(三个 Agent),减少每次请求的冷启动延迟。LLM 配置通过 YAML 文件(config/config.yaml)管理,支持通过环境变量覆盖——这种设计让开发者在调试时无需改动代码,直接改 .env 文件即可切换模型或调整参数。
依赖管理采用 uv(Rust 编写的高速 Python 包管理器)替代传统的 pip,uv run uvicorn ... 一条命令完成依赖安装和服务启动,体验相当现代化。
前端(Next.js 14 + Shadcn UI)
前端是标准的 Next.js 14 应用,部署在 client/bloggpt/ 目录下。页面提供一个简洁的输入框,用户输入博客主题后,点击生成按钮,通过 /app/actions 中的 Server Actions 调用后端 API。后端返回 Markdown 格式的博客内容,前端通过 marked 和 react-markdown 渲染为带样式的文章页面。UI 组件使用了 Shadcn UI(基于 Radix UI 的可复制粘贴组件库),整体风格现代、简洁。
值得注意的是,前端还引入了 DOMPurify 来防止 XSS 攻击——这是一个很必要的防护措施,因为 AI 生成的内容中可能包含恶意脚本。
部署步骤:
uv,在 server/ 目录创建 .env 文件写入 GOOGLE_API_KEY 和 SERPER_API_KEY,运行 uv run uvicorn app.main:app --host 127.0.0.1 --port 8002 --reloadclient/bloggpt/ 目录运行 npm install && npm run dev,访问 http://localhost:3000真正的门槛是两个 API 密钥:
GOOGLE_API_KEY:Google AI Studio 获取,支持 Gemini 2.0 Flash EXP,有免费额度SERPER_API_KEY:Serper.dev 获取,用于实时网络搜索,按调用量计费没有这两个密钥,系统无法运行。项目没有提供 Docker 支持,也没有 docker-compose 文件,不支持一键容器化部署——这是当前版本最大的遗憾。对于想快速体验的用户来说,手动配置环境有一定门槛。
Blog-writer-multi-agent 的最大价值不在于它本身写得有多好,而在于它展示了 Multi-Agent 协作 这一 AI 应用主流范式在实际项目中的落地方式。通过 CrewAI 框架,三个 Agent 各司其职、层层递进,相比单模型写作,输出的内容在结构完整性和引用准确性上有明显提升。
这种"规划—执行—审查"的流水线设计,与 OpenAI 的 GPT-4o 发布时提出的 Agents 系统架构高度一致,代表了当前 AI 应用开发的一个主流方向。对 AI 开发者而言,这个项目是一个很好的 CrewAI 入门级参考项目,值得一读。