女人迷一日性别骇客工作坊,带你从无到有打造专属自己的聊天机器人,其实,学写程式没有想像中的那么困难。

女人迷举办性别骇客松进入第二个年头,有感于参加者对性别有感,却担心自己对程式一窍不通无法在性别骇客松有所贡献,因此特别规划一系列性别骇客工作坊,透过实作让没有程式背景的朋友第一次学习写程式就上手。

性别工作坊第一场的主题是 Facebook Messenger BOT(脸书聊天机器人)教学。BOT 是机器人的意思,尤其是聊天软体机器人(例如 Fb Messenger),透过设定,我们可以让机器人回覆相关的讯息,不只节省人力,也让使用者在第一时间得到回应。

程式入门,先从认识 Ruby 开始

参与者陆陆续续入座,合作夥伴笑说,这是他们办程式工作坊以来,最多女生参加的一次了!现场除了学生,更多是来自不同行业的参加者,都是因为对于聊天机器人和写程式的好奇而前来参加,现场的共通点是:我们都没有学过写程式。

讲师一边带着我们打开写程式的环境,一边介绍程式语言 Ruby。 Ruby 是一种物件导向、命令式、函数式、动态的通用程式语言。在 1995 年被日本电脑科学家松本行弘(Matz)发表问世。(注1)它的特点是容易被阅读和理解。

就像英文、中文一样,程式是一种语言,只是它的沟通对象是电脑,而不是人类,学会如何跟电脑对话,就是学写程式。简单来说,程式可以让我们驱动电脑做很多繁琐重复的事;透过程式,你告诉电脑它要重复做哪些事、什么时候该重复做,告诉它如何判断什么时候停下来、什么时候开始。

这次举办工作坊合作有两个对 Ruby 语言非常有热忱的团队一定要介绍给大家,Rails Girls Taipei(小补充:rails 是写 Ruby 时用的框架,有点像 Ruby 的编辑器),一个致力于推广让女孩学习 Ruby 语言的团体,他们透过举办工作坊和各式样的女生限定聚会,让女孩卸下写程式的恐惧,目标是让工程师环境性别比例越来越相同,进而颠覆对工程师都是男生的印象,女人迷可以和这样的团体合作,真的很棒!(同场加映:【现场直击】FB 现身女人迷乐园!首场台湾女工程师聚会

另一个团队则是五倍红宝石,由一群热爱 Ruby 语言的开发者组成,在台湾致力推广 Ruby 程式语言,透过教育训练、企业培训,将 Ruby 推广到更多的企业与开发者,并积极支持相关社群的活动,因此工作坊讲师特别请来五倍红宝石非常有经验的讲师苍时弦也,带领大家入门写程式。怕大家学习路上孤立无援,现场每个小组都有一位五倍红宝石夥伴担任助教,在一旁协助大家学习。

写程式:在你写对之前,都会是失败的

一开始我们打开讲师为大家准备的 Cloud9 网页,这是一个可以线上编辑程式码的网页,让你走到哪里都能开发程式。考虑到每个人学习速度不同,每位助教不时在旁走动,只要脸上充满困惑,助教就会上前询问状况,是不是需要帮忙,让现场写程式的大家安心不少。苍时也事先备好加持过的模组样板,帮大家直接跳过复杂的前置作业,像是在难走的道路铺上一条好走又平坦的柏油路,让大家一起无痛抵达。我们在 FB developers 登入注册连上自己的粉丝专页,便从不知程式为何的新手跃升成为脸书开发者。


(colud9 首页)

讲师苍时说,一般初学者如果要从零开始学写程式,建议先从简单范例开始,先不要在乎程式为什么是这样也不要一开始就追根究底想弄清楚来由,否则很容易就这样卡住停滞不前。想要减少心理阴影面积,就要先成功过,之后再慢慢建立写程式的习惯和理解如何建构程式码排列规则。

接着他带着大家打开 Ruby 的教学网页,叫 tryruby,网站画面非常的可爱令人亲近,上面会教你基本使用会用到的辅助使用指令,可以一边照着教学,一边完成练习,错了也没关系,再来一次就好!(推荐你看:TLC主持人珊曼莎:成功的关键是勇于犯错

大家开始练习写程式的时候,不时冒出“咦?怎么跑不出来?”“为什么!”之类的哀嚎,这时邻近的助教就会咚咚的跑到学员身边看看是怎么回事,苍时老师也不时的提醒大家:

遇到失败请当做是正常状况,在你写到对之前,都是错的。心理素质够强大才能成为工程师,因为他们每天都在面对失败,成功只是刚好。那些很厉害的工程师,是因为他已经犯过无数次的错误。

聊天机器人怎么说?

脸书聊天机器人的运作机制是这样的:我们先在 cloud9 上写程式建立好一个可以和脸书连动的机制,也建立关键字资料库,就是你要告诉电脑,对方说话后,要回覆的什么样的内容;例如对方送出“你好”的讯息,我就让聊天机器人说“哈啰!”来回应。注册 FB developers 后,把写好的聊天机制和脸书粉丝专页连起来,如此一来当使用者对粉丝专页私讯讯息后,脸书系统会把使用者讯息传送到写好的程式,程式做出判断之后,将回覆讯息传送给脸书,脸书便会将回应的讯息回传给使用者。

其实一开始会有点担心,没有任何程式背景、逻辑薄弱的自己真的能在老师的教学下顺利用 Ruby 写出脸书的聊天机器人吗?结果不但没有出现先前担心的状况,还因为弄懂了程式逻辑,最后还带着满满的成就感走出大门,现场有妈妈带着还在就读小学的女儿来参加,她们也从头到尾脸上都挂着满足的笑容,现场笑声和讨论的声音此起彼落。(推荐阅读:人生的执拗必要:任性的勇气,成就喜欢的自己

明白聊天机器人的运作方式后,就留时间让大家设定自己的资料库。最后 Demo 时间我们一起分享了自己写的聊天机器人对话内容,有人写专门和不知道吃什么的人对话的机器人,有人写了一个专门和你讲废话的机器人,有人针对粉丝专页的内容写了相关回应机器人,顿时工作坊的气氛好欢乐好愉快,那是来自能自己亲手写出程式的满足和成就。

除了发表自己的成果,参加者也在会后分享一天下来的感受:

“非常仔细地教学让我了解之前本来不懂的 coding 观念”

“这个活动真的很棒,课程内容很适合完全没基础的人,讲者和助教们也都很用心!”

“虽然之前有自学过 html,但这场活动下来有开眼界的感觉!”

一整天的工作坊结束后,大家带着一脸成就的感的微笑离开,觉得心里特别的踏实。其实这正是女人迷举办性别骇客松的初衷,创造让大家齐聚一堂的机会,体会为性别做出行动带来的惊喜与发现。性别骇客工作坊也是考量到苦无程式背景的参加夥伴,我们想何不提供一个科技入门的方式,让大家在参与的过程中亲身体验动手创造、改变的乐趣。科技日新月异,不变的是,科技进步的初衷,是希望带给人类越来越美好的便利生活。