【生活娱乐赛道】Voul —— 把生活小纠结交给一桌灵魂投票官

大家好,我是本次 TRAE AI 创造力大赛复赛的个人参赛者。Voul 这次从产品设计、代码打磨、部署验收、演示视频到提交材料,均由我以个人身份完成,并主要通过 TRAE Work / TRAE IDE 组织和推进。

这次提交的作品叫 Voul,含义是 Vote + Soul。它是一个面向生活娱乐场景的多视角决策体验产品:用户把一个真实但轻量的小纠结放到桌中央,Voul 会先整理成 A/B 议题,再邀请 9 位风格化投票官入座,从不同判断框架出发投票、解释理由,并支持用户继续追问。

Voul 不想做一个替用户拍板的“标准答案助手”。它更像一张深夜圆桌:当你不想继续在脑子里原地打转,又不一定方便马上打扰朋友时,可以把问题交给一桌有差异、有性格、有判断框架的灵魂,让他们帮你把选择里的分歧、代价和盲区照出来。

想解决什么问题

很多生活小选择并不需要一个绝对正确答案。

比如:

  • 要不要把一段暧昧关系说清楚;
  • 要不要离开一份稳定但消耗的工作;
  • 要不要为了新的机会去另一座城市;
  • 要不要买一个一直想买、但又觉得不太必要的东西;
  • 要不要主动联系一个很久没联系的人。

这些问题通常不大到必须找专业人士咨询,但也不是一句“想开点”就能解决。真正卡住人的,往往不是不知道选项是什么,而是不知道自己到底在怕什么、想要什么、愿意承担什么代价。

如果只靠自己想,很容易陷入同一种视角里反复内耗;如果问朋友,又受时间、关系和表达成本影响;如果直接问通用 AI,常常会得到一段均衡、正确、但没什么记忆点的建议。

Voul 想补上的,就是这一段体验:不是给用户一个唯一答案,而是快速铺开一组有差异、有趣、能碰撞的判断视角。

Voul 怎么玩

核心链路很简单:

  1. 用户输入一段生活小纠结。
  2. Voul 将问题整理成 A/B 选项、关键卡点和在意因素。
  3. 系统生成一桌 9 位风格化投票官。
  4. 投票官依次亮牌,分别选择 A 或 B。
  5. 结果页展示票数、阵营、每位投票官的理由和整体总结。
  6. 用户可以选择 1-3 位最想继续听的投票官进一步追问。

我希望这个过程有一点“找朋友参谋”的熟悉感,也有一点“开盲盒看谁站我这边”的趣味感。用户看到的不只是票数,而是不同类型的人会怎样理解同一个问题:有人看证据,有人看长期代价,有人看关系暗线,有人会把问题推回行动本身。

为什么它是生活娱乐产品

Voul 处理的是轻量生活纠结,不是严肃风险决策。它的价值不是替用户做决定,而是让用户在更轻松的氛围里整理问题。

它有实用的一面:把一段混乱表达整理成 A/B 议题,把“我到底卡在哪里”拆成更容易讨论的结构。

它也有趣味的一面:9 位投票官会用不同判断框架站队,结果天然适合截图、复盘和分享。用户会想看“谁站我这边”“哪位投票官反对我”“哪一句理由戳中了我”。

它还有一点陪伴感:很多纠结发生在晚上独处、情绪卡住、想找人聊但又不想打扰别人的时刻。Voul 不会把问题讲得很重,而是用一桌风格鲜明的参谋,把用户从单一视角里拉出来。

投票官不是简单换口吻

Voul 的核心不是让某个名字说几句像样的话,也不是把同一段建议套上不同语气。

复赛阶段,我重点打磨的是“投票官为什么会这样判断”。每位投票官都对应一套抽象出的判断框架:它看问题时先看什么、重视什么、避开什么、怎样比较 A/B 两个方向的代价。

因此,同一个问题放到不同投票官面前,会出现真实的分歧:

  • 偏证据的人会先拆事实和脑补;
  • 偏长期的人会拉长时间看代价;
  • 偏行动的人会问你下一步到底能不能动;
  • 偏关系观察的人会看见情绪、体面和未说出口的话;
  • 偏产品或商业思维的人会逼你把目标和取舍讲清楚。

这种差异让 Voul 的结果页不只是“建议集合”,而更像一场小型圆桌辩论。用户最终可能仍然选择 A,也可能选择 B,但至少会更清楚自己为什么选。

复赛阶段做了哪些升级

进入复赛后,我没有只把初赛材料重新整理一遍,而是围绕“完整作品感”和“可真实体验”做了几轮收口。

第一是产品体验收口。复赛阶段修补了首页样例入口、输入解析、复赛口径、追问按钮、投票理由表达等问题,让主链路从首页、输入、组局、亮牌到结果页都更稳定。

第二是投票官表达升级。围绕 promptTemplates.tsMockInferenceProvider.ts 做了优化,让同一角色面对同一问题时投票方向保持稳定,重复生成时表达不完全复制,不同问题下又能保持人物思维内核一致。

第三是部署与验收。项目使用 React + TypeScript + Vite 构建,HashRouter 保证静态托管路径友好;本地 build 后将 dist 静态产物上传至飞书妙搭托管,并完成公网主链路 QA。

第四是材料和视频准备。复赛阶段重新整理演示视频脚本、产品理解上下文、UI 截图、TRAE 实践过程和提交材料,确保公开社区帖与飞书问卷的提交口径分开:公开帖只展示作品说明,体验入口只放在私密提交渠道。

产品可延展性

Voul 当前版本先跑通的是一个核心闭环:输入困惑、A/B 整理、9 位风格化投票官、站队理由、分歧总结和继续追问。但我更想验证的,不只是“一次投票”这件事,而是 Voul 能不能长成一个更完整的“人格化参谋 + 思想资产 + 轻社交表达”产品。

第一条延展线,是把投票官从角色卡升级成独立参谋 Agent。每位投票官不只是有名字和口吻,而是有自己的判断框架、追问方式、禁区、偏好和长期成长。比如偏理性的人物可以持续擅长排错、看激励机制和长期代价;偏关系观察的人物可以更擅长捕捉暧昧、自欺、体面和未说出口的情绪。这样人物不再只是内容装饰,而会成为可复用的思考资产。

第二条延展线,是从随机 9 人局扩展到自由组局和私人参谋团。用户可以按场景快速开桌:理性冷静桌、感情关系桌、行动决断桌、温柔陪伴桌、职场选择桌、消费决策桌、创作判断桌。也可以固定自己常用的一桌灵魂,以后每次纠结都先问这组“私人参谋团”。

第三条延展线,是把结果页做成可分享的内容资产。Voul 的结果天然有传播点:今晚这桌怎么投、谁站在我这边、最戳我的一句话、最反直觉的一票、我的三位私人参谋。后续可以把这些内容生成更漂亮的结果卡片、年度选择报告或个人决策风格报告,让一次生活小纠结变成可复盘、可分享、可沉淀的内容。

第四条延展线,是从单次纠结扩展到用户的选择档案。Voul 可以记录用户常见的纠结类型、反复出现的选择模式、最常收藏的人物观点,形成轻量的“选择画像”。这条线必须保持生活娱乐和自我启发的边界,不做心理诊断,但可以帮助用户看见:自己是不是总在关系里犹豫、总在稳定和冒险之间摇摆、总是知道答案但缺行动。

第五条延展线,是从经典灵魂扩展到用户自定义灵魂和创作者角色包。用户可以创建“10 年后的我”“最理性的朋友”“我的创业导师”“我妈会怎么说”这类私人参谋。更进一步,创作者也可以把自己的表达风格、文章、笔记或方法论蒸馏成可交互角色包,比如恋爱参谋包、职场决策模型包、情绪陪伴包、小说角色投票包。

所以 Voul 的可想象空间,不只是把投票官数量继续做大,而是把“多视角判断”做成一种新的交互资产:它可以服务个人选择、关系讨论、轻社交分享、内容创作和长期自我复盘。但无论怎么延展,边界都要守住:Voul 不替用户做决定,不做专业诊断,不把风格化抽象包装成真实人物本人发言。

技术实现亮点

Voul 当前采用 React + TypeScript + Vite 构建,配合 Tailwind CSS 完成深色圆桌式界面表达。

状态层使用 Zustand 管理决策上下文、投票局、亮牌过程、结果页追问和互动状态,让用户从输入到结果的状态流转保持清晰。

推理层采用 Provider 抽象。当前版本可以通过本地规则生成完整体验,后续也能平滑接入真实 API 或 Skill。这样产品不会被写死在某一种推理实现上,而是先把“投票官、投票理由、追问结构、结果总结”这些核心协议稳定下来。

投票官机制的重点是人物表达提取和蒸馏画像。它要求角色差异来自判断框架,而不是只来自表面口吻。

TRAE 实践过程

这次复赛中,我把 TRAE 用在了从产品收口到材料准备的完整流程里。

今天的推进方式不是把所有事情塞进一个长对话里,而是先用 TRAE 做总控拆解:把复赛交付拆成产品修补、部署验收、视频制作、材料准备和总控提交五条任务线。每条线都有独立目标、输入材料、交付物和验收标准,避免产品、部署、视频、文案和提交动作互相干扰。

拆完任务后,我按工作线分别开任务推进。产品修补线先收口,因为它决定后面所有材料和视频展示的产品基础;部署与验收线可以并行准备,但最终发布必须等待产品修补完成;视频线依赖公网 UI 截图和产品理解上下文;材料线负责把社区帖、问卷素材、Session ID 和过程截图整理成可提交口径;总控线最后统一核对公开/私密边界。

产品修补线负责让 Voul 从“能跑通”进一步变成“适合复赛展示”:修样例入口、输入解析、复赛口径、追问按钮和投票理由表达。

部署与验收线负责把本地成果变成可访问、可验证的正式作品:本地 build、质量命令检查、静态产物托管、公网权限调整,以及首页、输入页、组局页、亮牌页、结果页和追问入口的主链路 QA。

视频线没有直接复用旧素材,而是围绕当前正式版本重新整理脚本、截图、产品理解上下文和视频制作指令,并产出复赛专用演示视频。旧视频只作为节奏参考,最终视频围绕复赛版本的产品链路、TRAE 实践和可延展性重新组织。

材料线负责整理社区帖、飞书问卷素材、Session ID、过程截图说明和公开/私密提交边界。社区公开帖不放体验链接、二维码、源码包、测试账号;公网体验入口只放在飞书问卷等私密提交渠道。

总控线负责最终一致性核对:作品名、赛道、参赛方式、公网入口、演示视频、Session ID、过程截图、安全边界、公开帖禁放内容和问卷私密信息是否都放在正确位置。这个流程本身也是这次 TRAE 实践的重要部分:它不只是写代码,而是把一个复赛作品从想法、实现、部署、视频到材料提交完整组织起来。

演示视频

(为适配社区附件大小限制,已上传压缩版演示视频;原始成片用于飞书问卷私密提交。)

本帖已附上约 116 秒的复赛演示视频,重点展示:生活小纠结输入、A/B 议题整理、9 位风格化投票官生成、亮牌投票、结果总结、继续追问,以及 TRAE 在复赛过程中的任务拆解、产品修补、部署验收和材料整理。原始成片与评审所需体验入口已通过飞书问卷私密提交。

开发关键步骤截图

【过程截图 1:产品修补线 / P0 体验打磨】

展示复赛阶段如何在 TRAE 中单独推进产品修补线:先梳理仓库和页面状态,再聚焦 P0 问题,包括入口文案、Demo 口径、结果页表达、追问可用性和本地质量检查,确保产品在提交前达到可展示状态。

【过程截图 2:投票官灵魂提取 / 人格化表达优化】

展示复赛中对 Voul 核心能力的继续打磨:把“投票官”从泛泛的人物口吻升级为更稳定的判断框架。优化重点包括蒸馏画像、promptTemplates.tsMockInferenceProvider.ts,让同一角色在同一问题上立场稳定,同时在重复生成时保留表达变化。

【过程截图 3:部署与验收线 / 构建上线收口】

展示复赛阶段的部署与验收过程:完成最终构建和静态产物准备后,通过妙搭托管发布,并围绕公网体验入口、备用 ZIP、打开说明和 QA 风险进行收口,确保评审可以顺利访问和体验作品。

关键任务 Session ID

  • 6a76e390064a2ddce7648d1b:重要复赛环节,可用于展示 TRAE 实践过程,包括任务拆解、产品修补、部署验收、视频和材料协同推进。
  • 6a76e167064a2ddce7648a5a:优化投票官灵魂提取技能,可用于技术实现、人物表达、promptTemplates.tsMockInferenceProvider.ts 优化说明。
  • 6a76e159064a2ddce7648a47:复赛过程素材补充 Session,可作为材料线或总控线的备用过程证明。
  • 6a76f1ce064a2ddce764936d:复赛过程素材补充 Session,可用于视频材料、公网截图和材料交接过程说明。

安全边界

Voul 是生活娱乐场景下的灵感型产品,只提供娱乐和思考参考。它不替用户做决定,也不提供医疗、法律、投资、心理诊断等专业建议。

涉及真实公开人物或经典角色时,Voul 只做风格化抽象,不代表本人观点、授权或背书。

结尾说明

Voul 想验证的是一种更有产品感的 AI 交互方式:当 AI 不再只扮演一个单一助手,而是成为一桌有差异、有性格、有判断框架的参谋时,生活里的小纠结会不会变成一个更好玩、更立体、更愿意继续聊下去的体验。