Skip to content
··阅读时间3分钟

4 周进度:一边午睡,一边构建 10-Agent 营销平台

我在 4 周里构建了 3 个 AI 营销 agents 和多租户架构——这已经等于我之前那个花了 7 个月上线产品在一个月里完成的工作量。

更新(2025 年 11 月): STRAŦUM 现已上线!最初这个“4 周冲刺”最终演化成了完整的 9-agent 营销智能应用。完整发布故事见:STRAŦUM: The 9-Agent Marketing Application I Built in 75 Days

现在可试用: stratum.chandlernguyen.com(Private Alpha,邀请制)

我在发布 DIALØGUE 后只等了 6 天,就开启了下一个项目。

你可能会想:“你不是应该先去营销播客生成器、拉用户、修 bug 吗?”你这么想 完全正确。但问题是——我很想看看,在新一代 AI 工具加持下,我到底能把自己推得多远、多快。叫它 speed run 也行,叫它过度野心也行,叫它 Claude Code 和 Gemini 2.5 Pro 让构建重新变得 好玩 也行。

这条时间线本来不该成立

对比一下就知道有多离谱:

- DIALØGUE:从第一行代码到上线,6-7 个月

- Marketing Suite:第 4 周时,3 个 AI agents 已经能互相协同

回看 git 历史,到第 1 天结束时,我已经有:

- 多租户架构(organization → client → campaign 层级)

- 带认证的初始 React 前端

- 可用的 Business Strategy Agent,内置 11 个框架,覆盖不同区域。这些框架本身就是全球/区域头部咨询机构常用的方法。例如:

- 带 Row Level SecuritySupabase 集成

这已经超过我做 DIALØGUE 第一个 的产出。

这些数字让我继续往前

过去 4 周的一些指标:

- 已交付功能:3 个完整 agents + 多租户架构

- 代码行数:约 117,000(Python: 39k,TypeScript: 58k,SQL: 20k,Javascript: 其余)

- 数据库表:39 张(每张都服务明确目的,后面会讲)

- Git commits:232(约 26 天)

- 咖啡摄入:别问

为什么这个项目实际上难 10 倍

DIALØGUE 当然也复杂:AWS Lambda、Step Functions,后来全迁到 Google Cloud Run。但本质上它是单目标工具:生成播客。单一用户类型、单一流程、单一 happy path。

这个 Marketing Suite 完全不是一个量级。看一个真实场景:

真实场景: 一家代理公司同时服务 Nike 和 Adidas(假设)。策略师用 Business Strategy Agent 分析 Nike,这份结果自动写入 strategy_outputs 表。切到 Persona Agent 时,它会读取 Nike 的策略来生成 persona——但绝不能看到 Adidas 的数据。同时,Nike 在 brand_guidelines 表中的品牌规范会向下传递到 Content Agent,确保每条内容都用 Nike 的语气,而不是 Adidas。

这背后需要:

- organizations 表(区分 SME vs AGENCY)

- clients 表(仅 agency 使用)

- campaigns(外键同时指向 org 与 client)

- strategy_outputs(campaign 级隔离)

- brand_guidelines(层级继承)

- 每一张表都要有 Row Level Security 策略

这还只是 一条 工作流。再乘以 10 个 agents,每个都有自己数据要求。

现在到底什么能用了(以及哪里还是一团乱)

能用的部分(3 个在线 Agents + Business Intelligence)

Business Strategy Agent:这不是普通 SWOT 生成器。它会套用 11 个完整框架:

- SWOT Analysis

- Porter's Five Forces(竞争强度、供应商议价力、买方议价力、替代威胁、新进入者威胁)

- Business Model Canvas(商业设计 9 大构件)

- ICE Prioritization(Impact、Confidence、Ease 评分)

- BCG Growth-Share Matrix(Stars、Cash Cows、Question Marks、Dogs)

- VRIO Framework(Value、Rarity、Imitability、Organization)

- Three Horizons Model(当前核心、新兴机会、未来押注)

- Blue Ocean Strategy(Eliminate、Reduce、Raise、Create)

- McKinsey 7S Framework(Strategy、Structure、Systems、Shared Values、Skills、Style、Staff)

- OKRs Framework(Objectives and Key Results)

- Jobs to Be Done(Customer jobs、Pains、Gains)

每个框架都会输出结构化数据,并供其他 agents 调用。你跑完 SWOT 后,其中的“Opportunities”会自动给 Marketing Strategy Agent 的增长战术提供输入。

Persona Agent:会生成 15+ 属性的详细 persona,而且更夸张的是——你可以直接“采访”它们。真实对话如下:

你:“你最受不了现有项目管理工具的哪一点?”

Persona(科技初创创始人):“不停切上下文。我要看 Slack、再看 Asana、再看分析面板。等我搞清楚该做什么,30 分钟已经没了。”

每次采访回复会越来越聪明,因为它会读取 persona_interactions 历史。很多用户会在这里停留 20-30 分钟。有用户说:“这像即时焦点小组,而且真的有用。”

Marketing Strategy Agent:这是桥梁。它把你的业务策略、persona 理解,转成可执行 go-to-market 方案。它不是泛泛地说“用社媒”,而是把具体 persona 对应到具体渠道和具体信息表达。对 bootstrap 初创给零预算战术;对 SME 给 70-20-10 预算分配;对企业给多渠道编排。

Business Intelligence(隐藏 MVP):你和任一 agent 的每次对话都会自动提炼洞察并积累组织知识。你和 Strategy Agent 讨论欧洲市场进入?这条洞察会写入 ai_insights 表。下周你用 Content Agent 时,它已经知道你的欧洲扩张计划。无需重复解释,不会丢上下文。

还在构建中的部分(剩余 7 个 Agents)

Campaign Execution Agent:这块开始进入高风险区。Google Ads、Meta、LinkedIn、TikTok 的 API keys 要怎么安全存?当前方案是 platform_credentials 表做加密存储,并给每次 API 调用加审计日志。但权限模型真的让我夜里睡不踏实。

Analytics Agent:先接哪个 API?Google Analytics 4?Meta Ads?LinkedIn Analytics?难点不在“拉数据”,而在“跨平台归一化后还能正确比较”。

ROI & Budget Agent:多平台、不同归因模型下的实时追踪。如何把 Google 的 data-driven attribution 和 Meta 模型对齐?还在摸。

其余 4 个 Agents:Quick Wins(挖即时机会)、Competitive Intelligence(合规竞品分析)、Client Success(留存策略)、Content Agent(其实已可用,但还需打磨)。

那些让我睡不好的硬问题

- 品牌名:这个应用到底该叫什么? :P 有好名字请留言!

- API 安全:多广告平台 API key 怎么管,才不会变安全灾难?

- 一致体验:怎么让 10 个专用 agents 看起来是一个统一平台,而不是 10 个工具用胶带绑一起

- 以及更多 :)

架构进化:从痛里学

做 DIALØGUE 时,我在 race condition 上吃过大亏。还记得那个 3 分钟注册 bug 吗?新用户会一直等待,因为 auth trigger 和 Edge Function 同时抢着创建同一条用户记录。

这一次我从 Day 1 就按正确方式来。举个两天前的真实例子:

问题: Marketing Strategy Agent 需要知道已有哪些 personas、哪些策略已经生成、要遵循哪些品牌规范,同时必须维持严格数据隔离。

解法: 不让每个 agent 分别查多张表(慢、复杂、易错),而是做一个 Enterprise Context Service,作为单一事实来源:

// Before: Each agent making multiple queries
  const personas = await supabase.from('personas').select()
  const strategies = await supabase.from('strategies').select()
  const guidelines = await supabase.from('brand_guidelines').select()

  // After: One intelligent service
  const context = await getEnterpriseContext(campaignId)
  // Returns filtered, cached, properly-scoped data in 45ms

结果是:Content Agent 能一次调用就拿到品牌语气规范、看到该写给哪些 personas、理解当前营销策略,而且整个过程自动遵守数据边界。

速度差异是真实存在的

9 月 14 日那天很夸张。看带时间戳的真实 git log:

08:04 AM - Migrated frontend to standardized API client
08:19 AM - Completed API standardization (100% coverage)
11:34 AM - Phase 1: Centralized route configuration
            (no more hardcoded URLs anywhere)
1:00 PM  - Phase 2: Standardized all 10 agent pages
            (consistent URL patterns like /agents/strategy/:campaignId)
1:10 PM  - Phase 3.1: Core context management
            (workspace → client → campaign hierarchy in URLs)
4:31 PM  - Phase 3.2: Navigation components became context-aware
            (breadcrumbs show "Nike › Summer Campaign › Strategy Agent")
4:38 PM  - Phase 3.3: All agents integrated with context system
            (switching campaigns preserves your place)
5:03 PM  - Phase 3.4: Testing & Polish
            (92% bundle size reduction through code splitting)

六个重大架构改动。仅 URL 系统一项就触及全库 40+ 文件。若没有 AI 辅助,这在过去基本是一个星期级重构,中途还大概率会引入一些坏功能。

而且 我大部分时间其实 不在 电脑前 :D

那天是周日,我们去教会、逛超市、吃了完整海鲜午餐、午睡、去 Costco、还玩了会 iPad 游戏。这在 AI assisted coding 下变得可能。感谢 Claude Code 和 Gemini CLI!

这次 URL 标准化对用户的实际意义是:

// Before: Lost context when switching between agents
  "/strategy" // Which campaign? Which client? Who knows?

  // After: Context preserved in URL
  "/workspace/nike/campaign/summer-2025/agents/strategy"
  // Bookmark it, share it, refresh it - context stays intact

为什么 DIALØGUE 刚上线就做这个?

因为我能。因为工具已经好到这个程度。因为在广告行业 20+ 年后,我终于具备了把“我一直想用的营销平台”亲手做出来的能力。

更重要的是:我想记录“领域经验 + 现代 AI 工具”结合后到底能做到什么。这不是替代开发者,而是放大开发者。四周前,这种复杂度通常需要一个团队;现在它需要的是决心、靠谱 AI 助手,以及危险剂量的咖啡。(当然后来我在 不懂 Swift 的前提下做原生 iOS 应用 时也更明确地看到:AI 约能把你推到 60%,最后 40% 的审美和打磨仍然完全是人类工作。)

接下来做什么?

我目标是在 10/11 月做 alpha 发布。还需要:

- 完成剩余 7 个 agents

- 做出 campaign planning 界面

- 解决广告平台集成的安全问题

- 让 agency UI/流程真正可用可懂

- 用真实用户测全链路(很吓人)

仅 Analytics Agent 就要把 Google Analytics、广告平台和内部指标汇总成统一看板。ROI Agent 还要在多平台下做接近实时预算追踪。

每一个都可单独成项目。但按现在这个速度?它真的开始变得“可实现”了???

想继续跟进?我会持续更新构建进展。

公开构建的意义,就是胜利和混乱一起公开。现在大部分还是混乱。但它是 有产出的 混乱,这才重要。

一个月后再来看。如果顺利,你将能测试一个由 AI agents 承担“整套营销部门工作量”的平台。如果不顺利……至少博客会很好看。 :P

继续阅读

我的旅程
联系
语言
偏好设置