女人迷一日性別駭客工作坊,帶你從無到有打造專屬自己的聊天機器人,其實,學寫程式沒有想像中的那麼困難。

女人迷舉辦性別駭客松進入第二個年頭,有感於參加者對性別有感,卻擔心自己對程式一竅不通無法在性別駭客松有所貢獻,因此特別規劃一系列性別駭客工作坊,透過實作讓沒有程式背景的朋友第一次學習寫程式就上手。

性別工作坊第一場的主題是 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,但這場活動下來有開眼界的感覺!」

一整天的工作坊結束後,大家帶著一臉成就的感的微笑離開,覺得心裡特別的踏實。其實這正是女人迷舉辦性別駭客松的初衷,創造讓大家齊聚一堂的機會,體會為性別做出行動帶來的驚喜與發現。性別駭客工作坊也是考量到苦無程式背景的參加夥伴,我們想何不提供一個科技入門的方式,讓大家在參與的過程中親身體驗動手創造、改變的樂趣。科技日新月異,不變的是,科技進步的初衷,是希望帶給人類越來越美好的便利生活。