一、项目是什么AI Weekly 是一个已投入生产环境运行的全自动化 AI 行业周刊生成与发布系统。它从 11 个中英文权威 RSS 源采集信息通过 LLM 自动完成分类、摘要和点评生成结构清晰的周刊内容并由静态站点面向真实读者提供服务。整个过程无需人工干预系统已进入每周一自动发布新刊期的稳定运行周期。二、为什么做这件事AI 领域信息爆炸但极度分散每周产生数百条动态真正重要的内容被淹没。纯人工编辑成本高简单聚合又缺乏结构化。我的目标是构建一条从信息采集到内容交付的生产级自动化管线用 LLM 替代人工编辑的判断力以最小时间成本提供最高信息密度的中文周刊。三、我的角色我作为项目设计者与全栈开发者独立完成了从开发到上线的完整闭环架构设计、内容管线开发、前端站点构建与上线、生产环境部署与自动化运维。四、技术架构核心设计原则**内容生产与前端呈现完全解耦通过文件系统作为唯一接口**使两部分可独立演进。采集层用 Python 实现多源 RSS 采集同时兼容 RSS 2.0 和 Atom 格式。每个源独立超时与异常隔离保证单源故障不影响整体。整理层调用 MiMo APIAnthropic 协议设计精细 prompt 控制 5 个板块分类、摘要生成和一周观察并强制要求内容源多样化避免模型偏袒头部公司。生成层将 LLM 输出转为带 frontmatter 的 Markdown自动推断期号支持预览模式。站点层基于 Astro Tailwind 开发。Content Collections 提供类型安全的内容管理SSG 生成静态页面实现零 JavaScript 默认输出首屏无渲染开销。搜索索引在构建时生成客户端执行轻量级加权检索无第三方服务依赖。同时实现 View Transitions 流畅切换、暗色模式等体验优化。数据流向RSS 采集 → LLM 整理 → Markdown 落盘 → Astro 构建 → 静态页面部署。五、关键挑战与解决方案挑战一LLM 输出不可控LLM 返回的 JSON 格式不稳定可能带有 markdown 标记、尾随逗号、非法转义字符等。解决方案是设计多层容错解析链清除 markdown 标记 → 正则提取 JSON → 修复尾随逗号 → 空骨架兜底配合指数退避重试使 API 异常不导致流程崩溃。可迁移经验调用 LLM 时永远不要信任输出格式。Prompt 里写清楚要求只是第一步代码层面必须设计清洗、修复和降级链路才能保证生产环境的稳定性。挑战二RSS 源格式异构11 个源同时包含 RSS 2.0 和 Atom 格式日期、描述、链接等字段位置不一致。解决方案是对各字段实现fallback 查找策略兼容两种格式每个源独立异常隔离保证单源失败不影响整体流程。可迁移经验集成外部数据源时字段 fallback 和异常隔离是标配。不要假设所有源的数据结构一致也不要把所有源放在同一个异常处理块里。挑战三生产环境可靠性系统需要在无人值守的情况下每周稳定触发并执行。解决方案是调度层和代码层双重保障。调度层配置允许电池运行、错过补执行、失败重试代码层实现指数退避重试、降级策略、全链路日志追踪确保触发后必执行。可迁移经验自动化系统的可靠性不能只依赖一端。调度层保证触发代码层保证执行容错两者互补才能做到真正的无人值守。六、生产验证结果首期周刊已成功经全自动管线生成并发布系统已进入每周自动生成与发布的稳定循环端到端全链路采集 → 整理 → 生成 → 构建 → 部署已在生产环境完整跑通已发布的周刊包含 5 个板块覆盖学术、产业、开源等多维度信息阅读时长约 5-8 分钟信息密度和可读性均达预期定时任务与 Vercel 部署钩子已配置完成管线具备每周一自动触发、构建并发布新刊期的能力模块化架构允许轻松更换 LLM 模型、添加新 RSS 源或切换前端框架七、可迁移的经验以下经验不依赖具体技术栈可供类似项目参考1. 解耦比优化更重要内容生产和前端呈现通过文件系统解耦后两边可以独立迭代。更换 LLM 模型不影响站点代码更换前端框架不影响内容管线。先解耦再优化。2. 构建时计算优于运行时计算搜索索引在构建时生成页面在构建时渲染。首屏零 JS 开销无第三方依赖兼顾用户体验和成本。适用于任何内容型站点。3. 为不确定性设计LLM 输出不稳定、外部源格式不统一、定时任务可能失效——这些都是生产环境必须面对的不确定性。设计降级路径让系统在部分失败时仍能产出结果而不是直接崩溃。4. 容错的价值大于准确一个返回空骨架但能继续运行的系统比一个因解析失败而崩溃的系统有价值得多。生产环境的第一要务是活着其次才是完美。八、后续方向未来可引入人工反馈微调机制进一步提升摘要精准度。模块化架构也支持扩展更多信息源和输出格式。项目地址 在线周刊 | https://ai-weeklys.vercel.app/