11-项目实践一-小红书爆款笔记生成项目
11|项目实践(一):小红书爆款笔记生成项目
概述
第一个核心项目实践,从0到1打造一个真正能够应用于企业级生产环境的复杂 Multi-Agent 系统:小红书爆款笔记生成引擎。集成了视觉分析、策略规划、文案撰写与SEO优化,并支持完整API调用的后端服务系统。
项目地址:https://github.com/kid0317/crewai_mas_demo_m2l7
核心概念
1. 产品需求与业务目标
输入:几张未修的图片 + 一段粗略的灵感或想法 输出:结构化的、可直接落地的爆款笔记方案
核心业务流程:
- 单图多模态解析:每图独立输出视觉分析与P图方案
- 全局内容策划:基于所有图片特征制定内容策略简报
- 文案生成:符合小红书网感、自带Emoji的标题与正文
- SEO与分发优化:提炼5-8个长尾标签 + 图片发布顺序建议
2. 核心架构:Agent-Task-Process 深度设计
5大专业数字员工:
| Agent | 职责 | 特殊配置 |
|---|---|---|
| 视觉分析师 | 图片视觉分析、P图方案 | 多模态模型(qwen3-vl-plus) + AddImageToolLocal |
| 内容撰写员 | 撰写符合小红书网感的文案 | 纯文本高智商模型 |
| SEO专家 | 提炼标签、优化分发 | 懂KFS闭环和长尾关键词 |
| 内容策划师 | 制定整体内容策略 | 协调各Agent输出 |
| 编辑排版师 | 最终排版与格式优化 | - |
工程最佳实践:Agent人设文案放在YAML配置,LLM和Tools绑定放在Python代码。
3. 异步并发 + 串行混合编排
传统问题:依次识别10张图会耗费极长时间,API严重超时。
解决方案:
- 多模态极速并发:每张图并发执行”视觉分析Task”和”编辑方案Task”
- 业务逻辑严密串行:汇总为XhsVisualBatchReport后,按”内容策划→文案撰写→搜索优化”顺序执行
4. FastAPI云原生部署
选型理由:AI任务耗时数秒至数分钟,FastAPI基于uvloop的异步事件循环确保等待大模型时不阻塞服务器线程。
架构分层:
- Service层:封装调用逻辑、错误处理、监控日志埋点
- API路由层:暴露run_xhs_note_flow HTTP接口
- 前端接入:业务前端可直接调用
关键要点
- 人设工程:5个Agent各司其职,避免”全能Agent”反模式
- YAML解耦:Agent配置与代码分离,便于非技术人员调整
- 契约驱动:所有核心产出强制遵循Pydantic结构化输出
- 显式依赖:通过context参数精准传递上游结果,杜绝上下文污染
- 异步编排:图片处理并行化,策略任务串行化,显著压缩等待时间
实践示例
Agent定义(agents.py)
def get_xhs_visual_analyst() -> Agent:
cfg_visual = _agent_cfg("xhs_visual_analyst") # 从YAML读取
return Agent(
config=cfg_visual,
multimodal=True, # 开启多模态
llm=get_llm(image_model="qwen3-vl-plus"),
tools=[AddImageToolLocal()],
)
Task定义(tasks.py)
def get_task_copywriting(content_strategy_task: Task) -> Task:
return Task(
description=cfg.get("description", ""),
expected_output=cfg.get("expected_output", ""),
agent=get_xhs_content_writer(),
context=[content_strategy_task], # 显式依赖上游
output_pydantic=XhsCopywritingOutput, # 结构化输出
async_execution=False,
)
Process编排(flows.py)
# 1. 图片并发处理
visual_tasks = []
for img in images:
visual_tasks.append(get_visual_analysis_task(img))
visual_tasks.append(get_edit_plan_task(img))
# 2. 策略任务串行执行
strategy_task = get_content_strategy_task(context=visual_tasks)
copywriting_task = get_copywriting_task(context=[strategy_task])
seo_task = get_seo_task(context=[copywriting_task])
常见问题/坑点
| 问题 | 原因 | 解决方案 |
|---|---|---|
| API接口超时 | 串行处理多张图片耗时太长 | 图片处理阶段改为异步并发 |
| 上下文污染 | Task之间传递不清晰 | 使用显式context参数 + Pydantic约束 |
| 输出格式不一致 | 没有结构化约束 | 所有核心产出必须遵循output_pydantic |
| 人设调整困难 | 代码与配置混在一起 | YAML解耦,非技术人员可独立调整 |
关联知识
- 07-定义Agent-从提示词工程到人设工程:Agent RGB模型
- 08-定义Task-从步骤控制到契约驱动:Task结构化输出
- 09-定义Process-任务调度与信息传递:Process模式
- 10-多模态模型-让你的Agent拥有眼睛:多模态能力
参考资源
- 课程源码:https://github.com/kid0317/crewai_mas_demo_m2l7
- FastAI框架:https://github.com/kid0317/fastapi_base
学习时间
- 课程时长:42:50
- 笔记整理:2026-04-10
状态
- 课程学习
- 代码实践
- 项目复现
下次复习日期
2026-04-17