阅读视图
半亩花田母公司向港交所递交上市申请
AI创企ElevenLabs酝酿新融资,估值或达110亿美元
中信证券:看好半导体设备的投资机遇 建议关注高弹性细分龙头
现代汽车计划将旗下高端化品牌引入中国市场
商业航天企业中科宇航完成上市辅导
小鹏汽车:小鹏充电今年前两周新增超充站53座
科大讯飞推出SuperAgent应用框架,驱动营销关系演进至B2A2C丨最前线
作者丨欧雪
编辑丨袁斯来
随着AI与营销加速融合,单一功能的Agent已难以满足复杂营销场景需求。
在1月15日于深圳举办的2026科大讯飞AIMC全球智能营销生态峰会上,科大讯飞AI营销(AIMarX)正式推出营销SuperAgent应用框架,并发布基于该框架构建的营销智能体平台,提出以“群体智能”驱动营销从“经验驱动”迈向“智能驱动”的行业新范式。
“数据割裂正成为AI规模化落地的核心制约。”在会上,AppsFlyer亚太区总裁兼董事总经理Ronen Mense这样指出当前营销行业面临的深层困境。
随着营销触点碎片化加剧,即使是头部品牌也发现,他们在不同平台间积累的数据无法打通,导致AI应用始终停留在单点优化阶段。“营销团队比其他职能更容易暴露数据基础的缺陷。”Ronen Mense指出,“数据既受到隐私法规制约,又需要支撑实时决策,这种双重压力使得构建可信、统一的数据基础变得尤为困难。”
这种困境在全球化营销中表现得尤为突出。“全球营销的复杂性正呈指数级上升——市场层级多元、文化差异显著、触点高度分散,这些痛点靠人力堆叠已无法应对。”科大讯飞AI营销业务群副总裁、营销方案业务部总经理王云霞表示。
“AI正从一个‘功能’进化为‘底层架构’。”科大讯飞高级副总裁、消费者BG总裁于继栋强调。这一转变要求技术必须更加务实,只有真正解决实际业务痛点,才能推动行业转型。
在峰会讨论中,36氪发现,一个共识正在形成:单一技术突破已不足以解决系统性问题。行业需要的是生态级的重构。
这种重构首先体现在协作方式的改变上。传统营销往往存在部门壁垒——数据分析、内容创意、媒介投放各自为政。而智能营销时代,需要的是跨职能的协同工作流。“优化师能快速定位策略问题,创意团队能知道哪个素材跑得好,这种统一视角正在改变传统的协作模式。”王云霞指出。
更深层的变革在于价值衡量体系的重建。当62%的用户在获取AI答案后不再点击传统链接,传统的点击率、转化率等指标已无法全面反映营销效果。行业需要建立新的度量标准,能够衡量品牌与消费者之间建立的长期信任和价值连接。
此外,科大讯飞副总裁、AI营销业务群总裁李平在峰会中提出了一个前瞻判断:SuperAgent将驱动营销关系从B2A(Brand to Agent)演进至B2A2C(Brand to Agent to Consumer)。在此模式下,AI不再仅是品牌的提效工具,更成为连接品牌与消费者的智能桥梁。
动力电池回收千亿元级市场待启
逾300家A股公司发布2025年业绩预告
OpenAI联合创始人兼总裁Greg Brockman:马斯克曾表示他需要持有OpenAI的多数股权
SwiftUI navigation stack 嵌套引起的导航错误
最近我们在推进 ModernNavigation 插件化架构时,遇到了一个 SwiftUI 开发中非常经典、但也极其容易让人抓狂的“幽灵问题”:嵌套 NavigationStack。 作为一名在 iOS 领域摸爬滚打多年的开发者,我深知这种架构层面的“小瑕疵”如果不彻底理清,后续会导致手势失效、双标题、甚至 Path 状态莫名丢失等一系列连锁反应。 今天我把这个问题深度复盘了一下,总结出了一套更符合我们 Redux 思想的解决方案。
案发现场:为什么你的 Navigation 崩了? 我们在做插件化时,为了让模块独立,经常会习惯性地在 AppRoute 的 body 里写下这段代码: case .settings: NavigationStack { // 罪魁祸首在这里 SettingsView() }
当你从 HomeView(已经在一个 NavigationStack 内部)执行 router.push(.settings) 时,你就亲手制造了一个“栈中栈”。
症状分析:
- 权限冲突:外层的 NavigationPath 想管进度,内层的 NavigationStack 也想管进度,SwiftUI 直接“摆烂”,导致侧滑返回可能直接回到 App 根部。
- UI 灾难:你可能会在屏幕顶端看到两个叠加在一起的导航栏,或者是返回按钮莫名其妙消失。
- Redux 状态断裂:内层栈的操作完全脱离了我们 NavigationStore 的掌控。
处方:区分“动作”而非“视图” 解决这个问题的核心思想只有一句话:Push 是一场“接力”,Sheet 是一场“派对”。
- Push(推栈):它是当前导航流的延续,绝对不能自带 NavigationStack。
- Sheet/Cover(弹窗):它开启了一个全新的、独立的导航流,必须自带 NavigationStack 来管理它自己的子页面。
-
给视图加点“环境感知” 为了让视图在“被推入”和“被弹出”时表现不同(比如弹窗时需要一个“关闭”按钮),我们引入一个 isModal 标识(不太优雅): struct SettingsView: View { var isModal: Bool = false @Environment(NavigationStore<AppRoute, AppSheet>.self) private var navStore
var body: some View { List { ... } .navigationTitle("设置") .toolbar { if isModal { ToolbarItem(placement: .cancellationAction) { Button("关闭") { navStore.dispatch(.dismiss) } } } } } }
-
在路由层实现“插件化”分流 在我们的 RouteViewFactory 实现中,我们需要明确区分这两种场景。不需要写超大的 switch,而是让 Factory 能够根据上下文返回正确的包装: struct UserRouteFactory: RouteViewFactory { func view(for route: Any) -> AnyView? { // 方案 A:通过路由类型区分 if let userRoute = route as? UserRoute { return AnyView(SettingsView(isModal: false)) // 纯净视图用于 Push }
// 方案 B:通过特定的 Sheet 路由类型 if let sheet = route as? UserSheet { switch sheet { case .settingsModal: return AnyView( NavigationStack { // 只有 Sheet 才包裹 Stack SettingsView(isModal: true) } ) } } return nil} }
深度思考:Redux 架构下的单向流 在 Redux 模式下,我们的 NavigationStore 应该对这种层级关系有清晰的定义:
- path 数组:管理的是同一个 NavigationStack 内的线性增减。
- presentedSheet:管理的是一个全新的 UIWindow 级别的层级。 为什么我们要这么做? 这样做最大的好处是导航状态的可预测性。 当你在处理 Deep Linking(深度链接)时,你可以清晰地在代码里写:
“先 Push 到用户中心,再从用户中心 Present 一个修改头像的弹窗。”
如果每个页面都自带 NavigationStack,这种跨层级的逻辑跳转将会是调试噩梦。
总结与更新 我们要对现有的导航包进行以下约定:
- 所有模块暴露的 Push 视图必须是“裸”的(无 Stack)。
- 模块可以定义专有的 SheetRoute,由对应的 Factory 负责包裹 NavigationStack。
- 统一使用 isModal 或 Environment 变量来处理导航栏交互的差异。 这样一来,我们的 ReduxRouterStack 就能保持极其精简,同时具备极强的健壮性。