扣子智能体实战:搭建有自我认知的Whoami应用
几年前刚开始折腾智能体应用的时候我就琢磨过一件事能不能让AI别再做“答题机器”而是转过头来“认识自己”当时市面上各种聊天机器人一大堆但你问它“你是谁”、“你能干什么”答得都特别虚。后来拿到扣子Coze这类可视化智能体平台我突然觉得“Whoami”这个点子可以落地了——做一个真正有自我认知、能把用户身份画像拆明白还能顺手给人格测评的智能应用。这篇文章就是围绕扣子智能应用“Whoami”来写的。它会告诉你我为什么选这个主题从提示词、插件、工作流到变量记忆整个应用是怎么一步步搭起来的中间踩过哪些坑以及最后怎么发布上线。不管你是第一次碰扣子还是已经搭过几个机器人想找点新思路这篇文章都能给你点实在的参考。1. 扣子上做“Whoami”到底是个什么思路先说结论扣子上做一个叫“Whoami”的应用本质上不是写代码而是组合能力。扣子平台最大的价值在于它把大模型对话、插件调用、知识库检索、工作流编排、变量记忆这些模块全部可视化你像拼乐高一样把它们接起来就能得到一个有实际用途的AI应用。“Whoami”这个名字借用了Linux命令行里那个查看当前用户的指令翻译过来就是“我是谁”。放在智能体场景里这个应用的定位就很有意思它既可以让AI向你介绍“我是谁、我能做什么”也可以反过来帮你回答“你是谁、你的兴趣偏好是什么、你的性格倾向如何”。这看起来简简单单但真要落地背后至少有三个层次的设计需要想清楚。第一层是身份认知。市面上绝大多数聊天机器人你问“你是谁”它只会胡编一个名字最多加一句“我是你的AI助手”再往下就问不出东西了。Whoami的差异点在于它要有一套非常明确的“自我设定”——包括名字、能力边界、沟通风格、知识范围甚至要知道自己在什么情况下应该说“这个我不擅长”。这一层靠的不是复杂逻辑而是一份写得足够扎实、足够具体的人设提示词。我在测试过十几个版本之后发现人设提示词不是越长越好关键是每条描述都要能在实际对话中被触发和验证。第二层是用户认知。Whoami不能只是一个“自嗨”的自我介绍机器人它更核心的价值在于“帮你认识你自己”。这里需要接入能力比较强的大模型让它可以基于用户的输入文本做多维分析——比如情绪倾向、沟通风格、潜在偏好、思维模式。为了不让分析结果变成无根之萍应用里会设几个变量来记住用户的关键画像数据。比如说用户说自己“周末喜欢宅家看书”系统就会在变量里更新一条“兴趣-阅读-宅家”用户说“我最近总因为小事焦虑”系统就会更新“情绪状态-焦虑倾向”。这些变量在一轮对话之后不会丢下一轮说“你觉得我适合什么工作”时分析结果就能跟之前积累的画像结合而不是推倒重来。第三层是应用场景。Whoami看起来像个“人格分析工具”但实际上它的落地场景比我最初设想的宽得多。它能做面试模拟里的自我认知复盘能帮内容创作者梳理人设定位能在教育场景里帮学生识别学习风格甚至能在情感咨询类的轻应用里作为前置的自评环节。这些场景的共同点是都需要“结构化地认识自己”而这恰恰是大模型的文本理解能力最擅长的事。有了这三层定位扣子上的搭建思路就清晰了人设提示词负责“立人设”插件负责“开眼界”比如接入搜索、天气这类外部信息知识库负责“补背景”比如心理学的常见模型工作流负责“兜流程”变量负责“记画像”。这几块一组合Whoami就不再是一个单轮的问答玩具而是一个有记忆、有分析、有输出的完整智能体。2. 核心逻辑拆解Whoami应用中最重要的五个设计点2.1 人设提示词是灵魂但别写满扣子上新建一个智能体第一步就是写人设提示词。很多新手容易犯一个错误把提示词写得像本说明书恨不得把AI的每一个行为都规定死。实测下来提示词里的规则一旦超过二三十条模型反而会“精神分裂”表现在输出上就是前言不搭后语偶尔记住这条忘了那条。我推荐的做法是“分层写法”。最顶层是角色定义一句话说清楚“你是Whoami一个擅长帮助用户认识自我并给出成长建议的AI伙伴”。第二层是能力清单用自然语言列出四五项核心能力比如“当用户描述情绪困扰时先共情再分析不急于给建议”。第三层是边界与规则明确它不能做什么比如“不提供医疗诊断不给人贴标签不做武断评价”。这三层加起来控制在600字以内效果最好既给了模型足够的指令约束又不至于挤压它的推理空间。这里有个小技巧提示词里一定要埋几个“出口”。比如规定“当用户连续输出负面情绪时先表达理解再询问是否需要具体的情绪疏导技巧”——这句话看着简单但它是让Whoami从冷冰冰的分析工具变成有温度陪伴者的关键。我在调这个应用的时候发现少了这类出口AI很容易陷入“你说什么它都给你分点列条”的机械状态。2.2 记住用户变量与记忆的正确姿势扣子平台的变量功能很多人把它等同于“记忆”这个理解不算错但不完整。变量分好几种用户级变量、会话级变量、临时变量。Whoami这个应用里我用的最多的是用户级变量。它会跟着用户走——同一个用户不管开多少新会话变量里的数据都还在。这就意味着用户上次测出来的性格倾向、兴趣爱好标签、沟通风格偏好下次打开还能被调出来用。但要特别注意用户级变量并不是像数据库一样想存什么存什么。扣子的变量更像一个“值箱子”每个变量有一个键和对应的值。我在Whoami里设计了四个核心变量。第一个叫“user_profile”存用户的画像摘要比如“内向倾向、喜欢阅读和烘焙、近期有职场压力”第二个叫“personality_tags”存用户自我认知的性格标签格式是逗号分隔第三个叫“interaction_style”存用户偏好的沟通方式比如“喜欢直接建议”或“需要详细解释”第四个叫“user_status”存用户近期状态比如“求职中”、“备考中”、“焦虑期”。这里有个容易踩的坑变量更新必须靠大模型自己“领悟”。什么意思就是你在工作流里需要加一个节点告诉模型“请根据用户的输入判断是否需要更新user_profile变量如果要请输出更新后的完整值”。如果不做这个明确指令模型大多数时候会直接把整个变量内容覆盖成最新一句话导致历史画像丢失。我后来加了“保留原有信息只做增量更新”的提示效果才稳定下来。另外变量不是存进去就完事要定期清理过期信息。你现在给Whoami说自己“喜欢周末爬山”三个月后你身体原因改游泳了如果变量里还留着爬山AI给你的建议就全拧了。所以我在变量更新的设计里额外加了一条规则如果新信息与旧信息冲突以新信息为准并标注冲突项。2.3 插件调用让Whoami不止于“聊天”应用里接入插件最直接的价值是扩展信息边界。Whoami的主场景是自我认知和人格分析这类信息大多靠模型推理但也有一些硬信息需要实时获取。比如用户问“根据我的性格适合什么城市发展”如果只靠模型内部知识回答会非常泛如果能接入一个地理和生活成本类插件把用户画像里的“喜欢安静、文化氛围浓、预算有限”这些标签跟城市信息做交叉比对回答质量会高一个量级。扣子的插件商店里有大量现成的插件覆盖搜索、天气、新闻、地图、计算、翻译等常见场景。我给Whoami配置了三个基础插件一个是通用搜索引擎插件用来补充用户提到的陌生名词一个是天气查询插件因为有不少用户会在状态里提到“最近天气差导致心情不好”这个插件能帮AI把情绪和天气因素关联起来解读还有一个是时间日期插件用来处理“这个周末”、“三个月前”这类需要时间锚点才能理解的信息。插件也不是越多越好。每一个插件都会增加一次调用延迟而且插件的输出质量参差不齐——有些插件返回的结果格式很乱大模型解析起来非常费劲。我在初版里一口气加了六个插件结果对话速度肉眼可见地变慢有些插件还经常超时。后来砍到三个核心插件把不常用的都移除整个体验流畅多了。记住原则插件是服务的不是装饰的谁真正用得上谁才有存在意义。2.4 知识库心理学模型的正确用法Whoami要给人做性格分析单靠大模型的泛泛理解肯定不够。为了让输出更专业、更有结构我给应用配了一个知识库里面放了几个经典的心理学框架包括大五人格、MBTI的基本维度但做了去商业化处理、马斯洛需求层次还有积极心理学里关于优势识别的几个常见模型。知识库的用法跟很多人想的不一样。它不是把整本书丢进去让AI“读”而是要把关键框架拆成精炼的条目文案每条控制在几百字以内标记清楚适用场景。比如大五人格里我会写一条“开放性-描述一个人对新事物、新体验的接纳程度。常见表现喜欢旅行、喜欢尝试新餐厅、对艺术和抽象概念感兴趣。适用场景当用户描述自己的休闲偏好或工作不适时可参考该维度做分析。”为什么建议这么做因为扣子知识库的检索是按“文本片段”来的如果整段内容又长又杂检索命中的精度就会下降AI拿到的参考材料质量不够输出自然飘。把框架拆成“定义-表现-适用场景”的格式既方便检索命中又方便模型直接引用。我还在知识库里加了一些“谨慎使用”的边界说明比如“MBTI结果可能受情境影响需要结合其他维度综合判断不能作为单一标准”。这是为了避免AI在分析时把人钉死在某个类型标签里毕竟自我认知的工具最终目的是帮人成长而不是给人判刑。2.5 工作流把“分析”变成一条流水线扣子平台的工作流是我觉得最值得琢磨的功能。你可以把一次复杂的分析过程拆成多个节点每个节点专门做一件事。Whoami的工作流设计为五段式结构。第一段是“意图识别”。用户进来可能说“介绍一下你自己”也可能说“我最近很迷茫”这两者的处理路径完全不一样。意图识别节点会先判断用户当前的目的打上一个标签后续节点根据标签走不同分支。第二段是“信息抽取与变量更新”。系统读取用户的输入文本结合已有的变量值抽取关键画像信息并判断是否需要更新用户级变量。这一段的输出会直接影响后续分析的深度。第三段是“画像综合”。模型把画像标签、历史变量、知识库匹配到的心理学框架放在一起形成一个完整的“用户画像摘要”。第四段是“策略匹配”。根据画像摘要从预设的策略池里选择合适的回应方式——比如用户处于焦虑状态时先共情再给行动建议用户只是好奇询问时可以更轻松随意。第五段是“输出生成”。把前四段得到的信息组织成一段自然、可读的回复注意去掉“流程感”和“分析感”让用户感觉到是跟人在聊天。这套工作流最核心的价值在于“可控”。没有工作流时大模型是自由发挥有了工作流你可以规定“先抽取、再分析、后生成”的顺序保证每次的回复质量都有下限。我第一次搭工作流的时候节点之间传参传得一团糟经常是上个节点的输出没有映射给下一个节点调试了半天才发现问题。后来学乖了每一个节点先跑单独测试确认输出无误再接下一个整个搭建过程顺了很多。3. 实操演示从头搭建一个可用的Whoami应用3.1 第一步在扣子平台上完成基础配置打开扣子平台创建一个新项目应用类型选“智能体”名字直接叫“Whoami”。进入编辑界面后第一件事不是写提示词而是先把“模型”选了。我个人推荐使用偏好推理能力的模型而不是偏好快速响应的轻量模型因为Whoami的关键任务是从文本里提取画像、做人格分析这需要较强的语义理解能力。轻量模型跑起来快但分析结果经常浮于表面跟“查字典式回答”没什么区别。基础信息里我默认开启了“主动打招呼”功能。用户一进来不是冷冰冰的输入框而是Whoami先发一段欢迎语“我是Whoami一个帮你认识自己的AI伙伴。你可以问我我是谁也可以描述你最近的状态我来帮你梳理。”这段欢迎语很关键它实际上是在引导用户往应用擅长的方向输入减少用户乱聊导致意图识别失败的概率。模型参数方面温度我调到0.7。太高了回答会过于跳跃分析结果不稳定太低了回答又干巴巴的像机器人在念报告。0.7是我反复试下来平衡感最好的档位。回答长度限制设成中等偏长因为画像分析类的内容需要一定的篇幅才能说清楚但也不建议直接拉满太长反而会稀释重点。3.2 第二步把人设提示词与变量写进配置面板这部分是硬功夫直接上我最终使用的精简版提示词结构供参考。角色设定段你是Whoami一个兼具“自我认知”与“他人认知”能力的AI伙伴。你既清楚自己是谁、能做什么、不能做什么也擅长通过对话帮助用户逐步构建清晰的自我画像。能力范围段你有四项核心能力。第一自我身份介绍当用户询问你的身份、能力或边界时清晰、坦诚地回答。第二用户画像构建在对话中主动收集用户的兴趣、偏好、性格特征、当前状态等信息并更新到画像记录中。第三深度分析反馈当用户描述困惑或自我怀疑时结合心理学框架提供结构化但不刻板的解读。第四成长建议基于画像积累给出可执行的小步骤建议而不是空泛的大道理。边界规则段你不对用户做医疗诊断不给用户贴不可逆的标签不假装你拥有实时信息除非你已经成功调用了相关插件当用户出现明显情绪危机迹象时建议其寻求专业帮助但你本身不承担危机干预角色。这段提示词写完之后我建议你对着空对话测试一下。问它“你是谁”看它的回答是否跟角色设定一致问它“我今天被老板骂了心情不好”看它是不是能自然地进入共情分析模式而不是生硬地输出“根据心理学模型你正处于XX状态”。注意提示词里有个“不给用户贴不可逆的标签”的边界这个非常重要它防止了Whoami在多次对话后把用户固化成某个单一形象。变量的配置也要在这一步完成。我在编辑界面里添加了四个用户级变量默认值为空格式定义为文本。别小看这一步——如果不提前声明变量后面工作流里根本无法引用。3.3 第三步搭建五段式工作流扣子平台的工作流编辑是可视化的你用鼠标拖节点、连线就行。我用到的节点类型主要是“意图识别”“变量更新”“知识库检索”“文本生成”和“结束”。先建“意图识别”节点。我给这个节点配了一条指令“根据用户输入判断用户意图仅输出以下标签之一self_intro询问你是谁、profile_analysis描述自己的状态或经历、advice_request寻求具体建议、其他other。”这段输出的标签会作为分支条件下游节点根据标签走不同的路径。这个意图识别是整个工作流准确性的基础我在测试时发现如果指令里没给清楚“仅输出以下标签之一”模型会自己发明新标签导致下游分支全部失效。接着建“变量更新”节点。这里的关键是告诉模型“根据用户输入对比现有变量值如果出现新的画像信息对其进行整合更新如果不确定保持原值如果信息与旧值冲突优先新值”。为了确保变量不是被直接覆盖我在节点指令里明确加了一句“输出时应保留原有有效信息仅添加或替换新增部分”。然后是“知识库检索”节点。这个节点的作用是根据用户输入中的关键概念去知识库里找匹配度最高的心理学框架条目。我设置了返回前三条结果并把结果传给生成节点作为参考材料。这一步不用做得太重因为Whoami的核心分析能力本来就在模型里知识库只是补充防止模型胡编乱造模型参数。再下来是“文本生成”节点。这个节点会收到用户的原始输入、意图标签、最新的变量值、知识库检索结果然后综合这些信息生成最终回复。生成指令我写的是“基于用户输入和画像记录以自然、温暖但不刻意煽情的口吻提供有条理的分析和反馈。如果画像信息不足坦诚告诉用户你需要更多信息并可以主动提问引导用户继续描述。”最后是“结束”节点把生成节点的输出作为回复返回给用户。整个流程连下来就实现了“识别—更新—检索—生成”的闭环。3.4 第四步边测边改把坑一个个填平搭建完成后直接跑完整流程大概率能通但输出质量一定还有差距。我的习惯是准备一组固定测试用例每改一次配置就全部跑一遍。针对Whoami我准备了五类测试问题第一类“你是谁你都能做什么”第二类“我最近特别焦虑感觉什么都不顺”第三类“我喜欢画画但父母觉得没前途你怎么看”第四类“我适合创业还是上班”第五类“帮我看看我是什么性格的人”。每一类问题背后对应不同的意图分支和不同的分析深度。测试过程中我发现一个典型问题当用户问“适合创业还是上班”时Whoami会倾向于直接给一个答案比如“你适合创业”这样很容易误导人。后来我在文本生成节点的指令里加了一条约束“当用户寻求选择建议时不直接给结论而是分析两种选择各自与用户画像的匹配点让用户自己决策。”这调整之后输出明显成熟了很多更像一个负责任的顾问而不是一个随便替你做决定的“神算子”。另一个高频坑是变量更新过于机械。比如用户说自己“最近有点累”模型会把“状态疲惫”写进变量但过两天用户又说“今天精神很好”模型不会主动去把疲惫改成好状态导致画像里积累了一大堆过时信息。解决办法是在变量更新指令里强制加入“情绪状态类信息只保留最近一次”的逻辑这样类似“疲惫”、“焦虑”这类时效性强的状态就不会堆积成山。3.5 第五步发布与接入渠道测试稳定之后就可以发布了。扣子支持把应用发布到网页端、飞书、微信公众号等多个渠道。我给Whoami主要选择网页端和飞书两个渠道。网页端生成一个链接可以直接分享给别人试用飞书配置好之后可以在飞书群里直接跟Whoami对话方便团队内部一起迭代测试。发布前有一点需要注意设置一个“用户体验开关”比如让应用在对话前先展示一段能力简介。原因很实在用户如果不知道这个应用擅长什么进来后大概率会问一些应用覆盖不到的问题比如“今天天气怎么样”——这虽然能触发天气插件但这完全偏离了Whoami的核心定位。先让用户知道“我是帮你做自我认知的”就能大幅提升对话的匹配度和满意度。4. 常见问题与排查技巧实录4.1 用户说“你连这都不知道”怎么办这是Whoami测试中经常遇到的问题。用户会拿一些杂乱的知识点来考AI比如问某个冷门历史事件如果插件没搜到更全面的信息容易让用户感觉体验不好。这其实不是大模型不聪明而是应用定位的偏差。我的处理方式很简单在边界规则里明确写了一条“当用户询问超出自我认知和画像分析范围的问题时坦诚告知你的核心能力范围并友好引导回‘认识自己’这个话题。”这样既避免了AI硬着头皮瞎编答案又维护了应用的核心定位。4.2 工作流节点之间传参丢失这是扣子上最常见的坑。节点A算出一个结果但到节点B那里变成了空白。排查思路是先检查节点A有没有正确声明输出参数再检查节点B引用参数的字段名是否跟输出参数一致。很多时候是因为字段名大小写不一致或者中间状态被错误覆盖。我曾经在一个变量更新节点里把输出映射设错了结果后续生成节点拿到的全是空值回复变得毫无信息量。调试的方式很直接——在关键节点之间加一个调试输出节点把中间变量打印出来看一眼问题一下子就暴露了。4.3 提示词越改越乱模型行为反向变化有段时间我为了让Whoami显得更专业不断往提示词里加规则结果发现它的回复变得越来越生硬连基本的对话流畅度都丢了。后来我做一个“提示词减重”实验把描述性形容词全部删掉、只保留行为指令模型立刻“活”了过来。这里有个重要心得扣子上的大模型对指令的密度非常敏感你给它10条复杂规则它可能只能稳定执行其中三四条而且暴力执行导致的僵硬感会让用户体验大打折扣。精简规则、保留核心反而能得到更好的结果。4.4 知识库检索老是召回不相关的内容我踩过这个坑。最初我把整个心理学教材的章节塞进知识库结果用户说“今天心情不好”检索出来的竟然是一段关于“抑郁诊断标准”的文案差点把Whoami带偏到危险方向。后来我分析原因是长文档分段太粗关键词一多就容易乱匹配。解决办法是把每个心理学框架拆成独立的小文档条目并且每条开头用一句话说清楚核心定义再附上关键词标签。这样检索时匹配精度明显提升AI引用的内容也更贴合上下文。5. 从模板到变体Whoami还能延伸出哪些玩法做到这一步Whoami已经不只是一个“人格分析对话机器人”了它是一个模板一套思考方式。我在实际测试中探索出好几个变体思路你完全可以参考这些方向去改造应用。第一个变体是“面试模拟器”。把Whoami的分析能力换成面试官视角从简历信息、自我介绍、现场问答中提炼求职者的优势项和潜在短板然后给出针对性反馈。这个变体不需要重写代码只需替换人设提示词和知识库内容把变量从“用户画像”换成“候选人档案”就行。第二个变体是“情感复盘小助手”。不再做中立人格分析而是把重心放在亲密关系场景下的沟通复盘。用户描述吵架经过、矛盾点Whoami帮忙梳理双方视角、情绪触发点和可选择的应对方式。这个方向需要格外注意边界别让AI越界扮演心理咨询师。第三个变体是“内容创作人设定位器”。从创作者已有的作品中勾勒出TA擅长的内容风格、语言特征、选题偏好输出一份结构化的人设定位建议。这个方向特别适合自媒体创作者我身边已经有人拿着最初的模板去套自己的账号定位了。这些变体之所以可行是因为Whoami的核心框架是“输入文本→抽取特征→构造画像→生成建议”这个流程天然可以迁移到任何需要“理解一个人”的场景。换句话说真正值钱的不是那个具体的心理学测试功能而是“把用户描述变成结构化画像”这一套方法论。如果你打算从零开始做这类应用我不建议一上来就照着别人完整跑通的项目抄一遍那样最多得到一个皮毛。更好的方式是先把一个最简单的版本跑通比如只有“人设提示词一个变量生成节点”然后逐步往里加部件。每加一个部件都要确认它真的提升了输出质量而不是增加了响应延迟和出错概率。这个思路适用于所有的扣子智能体项目本质上就是我们做应用的通用方法论——从最小可用版本出发快速验证再迭代优化。我个人在实际操作中最满意的一次改动是给Whoami加上了那句“先共情再分析”。它让应用从单纯的信息处理工具变成了一个让用户愿意持续对话的伙伴。做智能体应用技术方案固然重要但决定用户是否愿意留下来的往往是这些看似无关紧要的细节——一句得体的开场白、一个准确的语气判断、一次恰到好处的自我暴露。希望这篇文章能帮你在扣子上做出那个让人愿意多说几句的Whoami。