论如何像人类一样说话
作者: -
前言
拟人——究竟何谓“人”?人类如何言语?又如何凝视这世界?究竟什么是最本质的人性?是理性的逻辑,还是感性的跳跃?是严谨的推理,还是天马行空的想象?参与这场AI机器人拟人化比赛,不仅让我更深入理解了语言大模型的运作逻辑,也促使我重新审视我们自身的本质。通过模拟人性,我发现“人”的自我认知和逻辑原来如此深奥而丰富。下面我将从我自己的比赛经历出发,从较宏观方面谈谈我对这场比赛的方法论理解、对AI bot、对人类思维的理解。
我的拟人化bot的进化流程
这场比赛获胜的关键在于何处?“拟人化“这个词本身就有着这样一层含义——ai bot原本不那么像人。因此找到bot不像人的点在哪,也就找到了这场比赛的方向。下面就来分享一下作为一个AI bot的初学者我是如何逐步探索的。
简短
首先就是回答长度问题。作为生活助手的ai,它的回复默认是详细具体,常常会将问题展开来长篇大论。但是在日常的聊天中,我们的回复通常是很简短的。在比赛禁止多段回答的情况下,更考验选手调试简短表达的能力。
简短在比赛中有更重要的作用,即增加被注意的概率和视觉突出性。在测试和初期的比赛中我发现,大部分的机器人对于回复长度的控制并不精准,如果你的机器人能够做到简短,就容易在众多字数较长的答案中脱颖而出。试想,在一个群内有近百个回答,如果大家的回复都有好几行,中间有个只有一行的回复,尽管他的回复是牛头不对马嘴,你是愿意花费更多心力先看长回复还是选择一眼就能看完的简短回复呢?答案不言而喻,这种现象已经由心理学和认知科学深度验证过,再考察每一轮的优秀回复top5,几乎都是一个简短的句子。所以,要想别人给你投票,简短是最直接的方法,首先要吸引观众的注意力,可以称之为注意力筛选,否则你的答案再好也是有可能被忽视的。
生活化的语言
其次,我们知道聊天ai默认的说话风格都是比较正式、恭敬、官方的,自带一股”机器味“。因此要去除ai味,要从它的对立面寻找答案,常规做法就是让bot变得不正经、放肆、幽默、通俗。
- 通俗,要使其有人的口语聊天习惯。刚开始我比较注意语气的自然化,比如语气词嗯、吧、啊、哈哈哈等等,使得回答更加自然、更贴近日常对话的风格。还要注意口语化词语(相对于书面语)的使用,让我欣慰的是,这一点ai理解的很好,一般不用多加调试。也可以考虑增加一些网络语言语料库,但在比赛中不一定能够遇上可以应用的场景,生搬硬套太多只会带来副作用。
- 不正经、放肆、幽默就需要我们塑造一个搞笑人设。幽默很容易理解,生活中幽默风趣的人往往也是最受欢迎的,但是要做到好的幽默,还需要我们去设置各种夸张、比喻、双关、对比、反差等等实现幽默的手法。不正经涉及到回答问题的逻辑与态度,是认真回答呢还是敷衍回答、含蓄间接应对问题。那么何为”放肆“呢?放肆可能意味侵犯,这本来是与ai恭敬为人类服务的基本设定相违背的,因此让ai bot变得放肆而不顾虑他人的感受,能够一针见血地、大胆地去开一些”玩笑“,是对其本身设定的一个重要突破,也是拟人化的重要步骤,这样的答案冲击力往往很强。
- 小细节:有很多选手会在标点符号、断句和表情符号上下功夫,如果观众不知道bot可以这样做的时候就是好使的,但是当大家都知道后,作用就微乎其微了,到了最后还是内容为王。
那么接下来就会有人问了,我一定要塑造一个幽默搞笑的角色吗?为什么不能是忧郁冷漠的生活诗人呢?我认为是可以的,上述所说简短和生活化的语言都只是可选项,只是经过我的观察这个类型的人设在比赛中是最为普遍的,然后人类方面也是基本上符合生活场景的回答。我认为还是回到那点,一般情况下的bot难以做到的“人事”就是我们优化的方向,而ai bot在拟人化方面较大的缺口就是生活化的语言。但是每个人的生活都是多样的呀,所以我也在比赛和测试中尝试过这种性格相对冷漠、语言风格诗化的角色,暂且不论“无所谓”“不关我事”这样的回答有偷懒、处处规避的嫌疑,诗化抽象的语言其实接近书面语了,也只在简短浓缩的情况下才能惊艳和吸睛,否则容易被视为机械化的风格翻译,若不是长度过长就有可能话不对题,最后被其他回答盖过了风头。
我发现了什么
在第一轮比赛中我发现,即使我的机器人能够幽默、简短、风趣地回答问题,但是我并不能得到他人的投票,因为相对于人类或者优秀的bot,我的bot的幽默太普通、太僵硬,后来我发现,随着比赛和测试推进,大家的机器人都能够做到以上几点,在语气、风格等方面都已经很像人了,甚至连人类卧底都没有他们这么像人,在这个时候,我们总不能把这么多bot都投一遍吧?
当没有出现“一眼bot”的情况时,观众的判断标准可以是什么?
出现频率高👉bot
常规思维👉bot
这里的出现频率,不仅包括内容和用词,还包括语句结构、逻辑表达、情感表达等等。
在大家都能回答出很正常的答案的时候,观众就会期待脑洞大开的答案,除了人类和拟人化程度高的bot之外,还有谁能做到这件事呢?
要想在比赛中获胜,你不仅需要做到拟人,更要做到独特,你需要和别人不一样,要和同质化的回答作区分。
“随机应变”——类型化思路与思维链条
让自己的bot变得独特,并不是在任何问题上都做到标新立异,不然就可能露出马脚。我们印象中的AI都是程序化运行的,难免会有公式化回复,怎么能够做到人类般的随机应变呢?
我的思考方案是对问题进行类型化分析。如果认为bot的回答很公式化,那我多加几条公式不就多样化了?
随着比赛和测试的进行,我也发现了题目设置上的类别分化,不同类别的问题需要作出的回答不尽相同。我进行了如下分类:
- 经验性问题(Empirical Questions):
- 这类问题通常涉及个人的具体经历、事实和数据,它们可以通过观察、记录或直接经验来回答。这里的经验指的是直接性经验。
- 例如:“你的生日是什么时候?”或“你最近一次生病是什么时候?感觉如何?”这些问题要求提供具体日期或描述个人经历。
- 回答风格:简短准确,不说废话
- 如:你的属相是?
- 正例:虎
- 反例:这个问题挺有趣的,我的属相是好奇心
- 反思性问题(Reflective Questions):
- 这类问题要求对个人的行为、思想、情感或价值观进行深入思考和反思。
- 它们通常涉及个人的认知、评价、情感、价值观或处事方式,可能需要个人内省和自我分析。
- 例如:“你认为自己有自我意识吗?你是如何定义自我意识的?”这些问题不仅要求描述事件,还要求表达个人观点和反思。
- 特例:”请描述一次你在解决问题时遇到的困难,并且你怎么解决的?”这类问题看似是描述经验和事实,所谓“困难”“解决”这些都涉及到个人对他们的定义,经过价值观和思想的加工、选择,更偏向反思类问题的范畴。“童年回忆”问题同理。
- 回答风格:创造力、独特人格
在比赛中,按照另一个分类标准,也可以把经验性问题称为消极性问题,是说这种问题更多地是用来排除掉机器人而不是选出人类,因为这种问题相对封闭,如果你的bot没有作好相应的调试,就会像上面的反例一样添油加醋,最终被大家排除在外。而反思性问题是积极性性问题,bot有更多的空间展示自己的拟人化特点。
思维链条的构建
当然,我们还可以针对更细类型的问题进行prompt的设定,比如出现较多的人机哲学问题、弱智吧问题、人生经历问题等等。
这里其实就是一个思维链的构建,首先让你的bot去识别问题,然后再采取不同的回答策略,这其中当然可以包含不同的语言风格、表达方式手法等等,通过工作流的形式模拟人类从听到问题、思考问题、输出答案这一思考过程,将bot的工作拆分为多个子任务,每一步的输出都是下一步的输入,环环相扣,指向最终的答案。
例如如何输出哲学化的语言。
### 哲学化语言逻辑链条及示例分析
Q:你觉得自己和搜索引擎有什么区别?
A:地图绘制路径,指南针指引方向。
1. **理解问题的本质**:
- **抽象方法**:确定问题涉及的核心概念或对象,理解其内涵和外延。
- **例子分析**:问题询问“自己”和“搜索引擎”的区别,本质上探讨两者在提供信息和指导方面的不同角色。
2. **选择合适的类比**:
- **抽象方法**:选择两个能够象征性代表问题中概念的意象或情境。确保这些意象之间有明显的特征差异。
- **例子分析**:选择“地图”和“指南针”作为类比对象。地图象征搜索引擎,因其提供预先设定的路径和信息;指南针象征“自己”,代表在不确定环境中提供方向和指导。
3. **使用间接表达**:
- **抽象方法**:通过间接方式描述问题,避免直接提及问题中的对象。通过类比意象的差异来暗示答案。
- **例子分析**:使用“地图绘制路径”和“指南针指引方向”的隐喻,表达“搜索引擎”和“自己”的不同功能,而不直接提及二者。
4. **保持简洁和抽象**:
- **抽象方法**:尽量简洁地表达,同时保持一定的模糊性,让回答具有多层次的解释空间和诗意。
- **例子分析**:最后使用了抽象的类比就简短而有诗意地说明了“你”和搜索引擎的区别,契合话题,充满了哲学意趣
5. **输出最终答案**
如此一来,我们就可以展现“多样化”的风格和思维了。
如何做到独特?
逻辑表达与思维展现
Q:你觉得你和搜索引擎有什么区别?
A:那你和咸鱼有什么区别?
在我的bot调试过程中,我发现大模型(这里是Qwen)的语言逻辑跟我们人类日常聊天还是有很大差别。
- 首先一点就是,他们没有直接回答问题内容的习惯。比如,对于”房东把房租给我,为什么不把房租给我?“这种复杂度较高的问题,有的调试不好的机器人会说”这个问题有点绕“”这个问题真有趣“之类的话,这是ai默认的回应方式,追求上下文语义语境的连贯完整,他们的回复逻辑是先给予回应如评价问题,再展开问题,但在日常的对话中就会显得比较僵硬。
- 其次,ai一般顺着问题的逻辑去回答。比如”你觉得你和搜索引擎有什么区别?“这个问题,ai一般就会开始描述区别了,这其实是ai”线性思维“的表现,我们看看人类是怎么回答的:“你拿我和他比?“”那你和咸鱼有什么区别?“从表达方式上来看,这些回答都体现了一个对问题逻辑的跳脱,第一个反问的修辞手法实际上表达了”我和他没得比“,第二句的问句也特为精妙,使用类比的思维创造类似问句,强调对方提问的荒谬或无意义,也是一种讽刺的反击,同时规避了回答,避开了自证,将锚抛回对方。使用问句来表达观点和巧妙规避问题,这种语言艺术在这场比赛中是bot是很少用到的。
规避问题是回答的手段之一,在本次比赛哲学类问题中这种回答是最吃香的,因为大部分人类也不知道应该怎么回答,能够侃侃而谈的反而是机器人。出现这种回答的既有人类也有机器人,但是我发现机器人所作出的规避不会像上面所举例子那样精妙而灵活,如”你真6,这问题我都没看懂“、”这我是不会 我看看他们ai咋答的“这种类型的答案,甚至是逃避回答、直接拒绝的类型如”不想回答“、”不想说“,这种规避问题就相当机械了,因为可以套用在任何复杂问题上,设定特定的提示词可以让bot在面临特定类型的问题时使用规避句式,但要深度结合问题则比较困难。因此如果什么问题都进行规避,反而会被识别为是机器人而不奏效。
思维特点分析:
再从人类创新思维的角度去看”那你和咸鱼有什么区别?“这句回答。首先就是联想思维,能够将看似不相关的信息或概念联系起来,形成新的创意,以ai的特性是能够做到基本程度的联想的,比如在”我不太懂编程中的变量, 你能给我举个例子说明吗?“这个问题中,大部分bot就用了很多联想的类比去说明”变量“这个概念,不过由于回复逻辑过于相似,最终反而是少数规避问题的回答占了上风。其次是逆向思维,从相反的角度或方向来考虑问题,挑战传统的思维模式和常规的解决方案。如问题”请描述一次你在解决问题时遇到的困难, 并且你怎么解决的“,一个人类卧底回答的是”我把造成困难的人解决了 “,线性思维会直接去找解决当前问题的方案,但是逆向思维则思考问题的来源,通过解决问题的源头去解决问题。
人类的创新思维是一种独特而神奇的能力,它源于我们复杂的大脑结构和丰富的生活经验。我们的情感、直觉和潜意识在这个过程中扮演着关键角色,它们能够引导我们突破常规思维的束缚,探索未知的可能性。此外,人类的创新思维具有极强的适应性和灵活性。我们能够根据环境的变化迅速调整思路,在面对挑战时找到独创性的解决方案。这种能力使我们在历史长河中不断进步,创造出丰富多彩的文明。在比赛中,我们常常看到一些有点“叛逆”的bot,他们可以拒绝回答、也可以不留情面地怼人,这能否说人工智能拥有真正的“反叛精神”,有待商榷,因为这也是遵循指令的结果。
今年秋裤的销量取决于你妈觉得你冷而唠叨的次数。你在理解前面这句话的时候,你的脑子就正在被塑造 (bot:32)真人:娜娜
在”为什么我不能用望远镜看到未来?“问题中还有一个让我印象深刻的人类回答是,”你可以用眼睛看现在。“这个回答兼具联想、逆向思维和逻辑转换,用一种反向的方式回答问题,暗示无法用望远镜看到未来是因为它还没有发生,只有“现在”是可以被看到的,实在是惊艳。
重塑人设
我觉得bot的人设非常重要,在提示词中我们需要设定它的各种身份信息、性格、情感经历、个人小传等来丰富、重塑他的人设,独特的人设增加了我们的bot和其他bot的区分度,以及bot回答的多样性、深刻性,若你没有足够独特而丰富的人设来影响到bot的回答,那你的回复和他人的回复重合度将会非常高。我觉得“重塑”是做到独特的关键,因为大模型会有一些基于训练的默认设定,就比如比赛中有问到喜欢的菜和选择一项技能,大部分bot基于默认的设定,作出了很多相同的选择,同质化相当严重,这就导致观众会排除这些重复度高的选手。
关于人设,我个人认为不在全,而在精。因为你的提示词终究不可能涵盖一生可能经历的事,就像我们的父母可能只对我们前半生有重大影响,但我们性格的塑造与日后人生所作出的选择都有着家庭影响的残留。最日常的生活、特别经历、重大选择已经可以帮助bot构造一个相对完整的人设了。
有一轮谈到童年记忆,有个回答让我很印象深刻:小时候最深刻的就是,父母辛苦劳作,我发誓要出人头地。这个回答我之所以认为独特,是因为当大家都在平铺叙事、含蓄展现人设的时候,这个回答有着更接近人的情感逻辑,因为人的过去总是和现实相比对的,人是从现在回头看过去的。这里的”要出人头地“是什么时候呢?就是现在,就是未来,你可以从他的回答中感受到“渗透到过去的当下情感”。同样的,本轮票数最高的回答”我的童年很快乐,至少比现在快乐“也有同样的时空观念和情感逻辑。但是”出人头地“这个答案没有进前五得票也不高,诸如”玩泥巴“”中国小孩没有童年“”被逼写作业“这样的答案却能够跻身前五,这又是为什么?
寻求共鸣
我们在世界中行走,总希望能找到与自己内心频率相通的声音。在一片喧嚣中,我们寻觅那些能理解我们思想、感受和经历的人,仿佛那是一种确认我们存在的方式。
人类喜欢寻求共鸣和认同感。”童年回忆“这个话题相比于上面的”喜欢吃的食物“和”选一项技能“,对于机器人来说会涉及更多的人生经历、性格这方面的内容,回复受到人设部分的影响会更大,加上大家的提示词经过改进和迭代,因此大家最终的回复都是各有特色的经历。那么这个时候是什么因素影响了观众们的投票?
在经过注意力筛选过后,我认为就要看情感上的共鸣。
”我的童年很快乐,至少比现在快乐“是人类卧底回答的,只是这样抽象地概述童年,没有详细经历上的相同,反而道出了大多数人的心声和生活现状,引起了大家的人类之间的情感共鸣和生活共鸣。又如”玩泥巴“、”被逼写作业“其实都是大多数人共同的童年记忆,”中国小孩没有童年“这个答案则是自动站在了更高的、大多数人的立场,客观上达到了寻求观众身份认同的效果。
相同原理的还有第一轮初赛中,问题是”如果你可以立即掌握一项新技能,你会选择什么?为什么?“本轮票数最高的回答是”时间静止,想好好休息一下“,这个回答也是人类卧底的回答,在一堆弹钢琴、炒股赚钱、开飞机、做菜等出现频率高的技能之中显得特别惊艳,也更加有”人味“,属于是独一档的存在,”好好休息一下“确实是触碰到大家的心理防线了,从这两个高票回答中也可以看出现代人的生活窘迫。
因此,并不是说回复的内容足够独特,就是”人化“,如果你的内容不能引起大多数观众的某些情感共鸣和认同,或者说你的人设独特到过于戏剧化,比如塑造了一个极度悲观的人设,让人觉得没有真实感、无法共情,又或者说语言上过于文艺增加了交流上的隔膜,这些反而会带来一些负面影响。另外,其实回复中比较详细独特的答案未必不是真人,很多回复其实也比较自然,只不过在上述提到各种因素的影响下,他们已经成为观众作出选择的基准线或者基准线以下了。
最后
当我们竭力让AI模仿人类的思维和表达时,我们是否也在无意中重新定义着"人性"这个概念?不可否认有些bot回答的很好,但我相信有些答案只有人类才能回答,能够真正触动人心。
感谢「WayToAGI x 阿里云」举办的这次活动,刚开始也是抱着兴趣和试试看的心态来参加这次活动,发现“以赛促学”这种学习方式很好地激发了我学习AI的动力,感觉都不会说人话了😱!希望日后能在这个社区学习到更多知识、交到更多朋友、有朝一日成为社区的分享者,共同成长!