← 回到公開活動書架 ← 回到選擇

講者三:Nicci(英文・繁中翻譯)

互動設計師與藝術家 · 工作室 SHIFT CMD,作品曾於 Ars Electronica、MAAT 展出 · After Images、天氣雲、P5.js + MediaPipe

大家好,我叫 Nicci,是一位互動設計師,也是一位藝術家,同時以西雅圖和台北兩地為據點。在我的創作裡,我做的是關於「運算(computation)」的作品——也就是那些我們可以數位地去體驗、去把玩的東西。而很多時候,你大概可以把它形容成一種「關於軟體、關於互動」的觀念藝術。

我的專案大多是 web-based(以網頁為基礎)的。我做原型(prototype)、影片,偶爾也帶一些工作坊。在我的創作裡,我感興趣的是實驗性的介面,以及這個問題:除了我們被給定的主流科技之外,運算還能帶給我們什麼樣的感受?

還有,我們的注意力發生了什麼事?螢幕是怎麼把我們的行為、互動和手勢「常態化」的?我也會去看運算在社會性與集體性這些面向上的樣貌。你知道,與其把每樣東西都當成一台「個人電腦」、你的裝置只屬於你自己,我們能不能反過來把人連結起來、一起做些什麼?

身為一個在企業端工作的設計師,大約有六年的時間,我都在做作業系統、以及圍繞 AI 的使用者體驗。但其實是到最近這一年、或一年半,我才真正開始把 AI 當成一個創作工具,用在我自己的創作裡。所以今天我就單純分享幾個專案,主要是關於我怎麼使用 AI 工具,但也包括我和它的關係如何隨時間改變、或者它在我不同專案裡扮演的不同角色。第一個專案叫 After Images,是一件我發表在 HTML Review 上的互動作品。

它真正在做的,是探討「轉譯(translation)」這個概念——影像之間、文字之間、顏色之間的轉譯,但也是我「當下的體驗」和「那一刻的照片」之間的轉譯;然後,那張照片又如何變成一個痕跡(trace),被程式碼、被機器重新詮釋。

給一點背景:我那時在看我的相機膠卷(camera roll),注意到——我其實可以從膠卷裡這些「一塊一塊的顏色」,追溯出我生活裡正在發生什麼。而我特別感興趣的,是所有那些我捕捉到大量「藍色」的時刻,因為它們總是太新了。

像是那天天氣晴朗、我在戶外,或者我在旅行、畫面裡有水之類的時刻。理論上,我很想搞懂:我要怎麼把我的相機膠卷裡這些影像爬梳(scrape)出來,並把它們裁切成藍色的方塊,來代表我曾經有過的這些時刻。

這就是我開始實驗「AI 和 LLM 如何能成為一種工具、幫我突破我這個技術缺口」的時候。我做的是:請一個 LLM 幫我寫一支 Python 腳本,讓我能把我自己已經親手篩選過的照片,全部裁切成這些藍色的方塊。

過程中其實有很多次迭代,為了搞清楚到底怎麼做才對,好讓我能得到我想要的那種效果。在它裁切完之後,我又請它寫另一支腳本,去過濾掉那些只有……我有一陣子沒回去看了,但我想,喔對,藍色的門檻是 0.8,也就是影像裡要有 80% 的像素是藍色。

因為裁切時很多東西還在畫面裡,像是還有人之類的,我真的很想把它純粹蒸餾(distill)成只剩顏色。最後我也讓它把影像裡的不同顏色,匯出並對應到不同的 hex 色碼。所以我最後真的得到了一組——你知道的——一組藍色影像,從它原本的內容裡抽象出來;然後也得到了這一大批東西。你在這裡看到的就是這個。它像是一種被抽離得很徹底的記憶,回頭看我的這些資料,對你們任何人來說大概都沒什麼意義。

但對我來說,我和這個時刻、這個顏色,有一種特定的連結。對,所以我覺得在這裡,LLM 真的幫我執行、並突破了我原本有的這個想法。接下來我想談的下一個專案,則比較是 AI 成為我一個「協作工具」的例子。

我對「為行為編寫腳本(scripting behaviors)」這個概念非常感興趣,而那其實有點像我們在寫的這些 prompt,對吧?而且就像生成藝術(generative art)本身——你知道,有點像剛剛 Rong 說的——你建立一些規則和條件,讓事情可以有無限多種排列組合。

所以我在藝術上的一大靈感來源,是觀念藝術家、Fluxus(激浪派)的藝術家。他們會寫這種「事件樂譜(event scores)」。這裡有一個 Sol LeWitt 的例子。他有一份給「Wall Drawing(牆面繪畫)」的指示,他就把這份文件寄給不同的美術館,然後由美術館自己去執行它。

所以每一次被執行出來,看起來都不一樣。或者,我們看看,另一件作品,小野洋子(Yoko Ono),她寫的這些幾乎像詩,但每一首其實都是指示。它們就像是一些小小的指示,讓你去體現那個當下、去執行某個動作。

所以這算是我靈感的根源。而我那時在想:有哪些平凡的、每天都會做的數位行為,是我可以把它導入(channel)成一首「樂譜」的?其中一件我想到的,是「查看天氣」這件事——我想這是我們每天都會做的。

你早上需要做這件事,才知道要穿什麼、需不需要帶傘、需不需要戴太陽眼鏡等等。但這件事怎麼能變得更異想天開(whimsical)一點?所以在這裡我做的是:在這個網站上,每次你進來,它會根據當下的時間、你的位置、你在哪裡,為你畫出、生成一張不一樣的雲。而我真正想在這裡觸及的是:你要怎麼透過「感受」、而不是「資料」來體驗天氣?而我在這裡需要做的——你知道,顯然這些想法都有了,但我真的得先搞清楚怎麼把幾件事做起來,才能開始。

我知道我想把這個專案做成一個網頁,用上像 OpenWeather 這樣的 weather API、天氣資料、使用者位置,以及用 P5.js 程序化生成(procedurally generated)的雲等等。我最近比較常做的一件事,其實是用 ask mode 而不是 agent mode,因為我很喜歡那種「理解它在提議什麼、並從中學習」的過程。

我覺得即使只是手動把它說的東西打出來,過程中也有很多東西可以學——然後你會想,等等,為什麼這裡的語法是這樣?或者,我要怎麼這樣設定這個函式?所以這是我的起始 prompt。然後,你知道,就像 Rong 也說過的,很多時候我就只是在 debug,對吧?

像是:你可以把所有 styling 都拿掉嗎?把 HTML 保持簡單?就先印一個 hello world 給我。我只是想知道,你知道,什麼有效、什麼沒效。或者在這裡,你知道,我們再一次,就先把一些天氣資料印出來。我覺得在這個圈子裡,有很多時候我們喜歡從一個點子直接跳到最終目標,但中間的過程,其實有很多東西要去理解。

而有點像我前面幾位講者說的,我覺得對我個人而言,過程中會有很多來回、一種互動式的學習。但我也注意到另一件事:很多這種 LLM 生成的成果,可能會有點笨拙、不夠優雅。

而且有很多次,我請它把東西簡化,然後——你知道,也許它只是在附和我啦——但它會說,好,你說得對,這太複雜了,我來把它簡化。但在這裡,我問說我們能不能就稍微改一下,好讓它對我自己來說更易讀(legible)一點。

但接著它給了我一些回饋,像是:好啊,當然,我們可以這麼做,但這樣你會失去的是……(一堆東西)。然後它就建議,你知道,在這裡改寫一段不一樣的腳本。所以我覺得這也很有幫助,讓我看到它是怎麼和這個 agent 來回討論的。

所以在這個專案裡,我想做的另一件事,是讓它是開放的。回到前面說的那種社會性、集體性的體驗:每個人都可以來這裡。我甚至開了一個 are.na 的頻道,你可以把你當天的雲截圖、丟進去。久而久之,你就能看到好幾個月下來,天氣累積起來的樣子。

看著這個很有趣:我把它傳給一個在柏林的朋友,我那天的雲長這樣,但他的長那樣——天氣不一樣。那是個比較異想天開的小專案。我覺得對我來說,LLM,尤其是 Claude,真的幫我拉近了「思考」和「動手做」之間的距離。但最近我也一直在想:這是以什麼為代價?

對我來說一個大哉問是:我要怎麼面對「作者身分(authorship)」這個問題?尤其在藝術、在軟體裡,有很多傳統會問:這是你自己做的嗎?手工的成分在哪裡?但相對地,這跟我們過去用過的其他工具——那些幫我處理、或橋接技術落差(skill gaps)的工具,像 Photoshop、Illustrator 這些——又有什麼不同?我覺得它們某種程度上,也都幫我們跳過了幾個步驟、讓工作流程更輕鬆。

我本來也要談談我注意到的一件事:當你在 vibe coding、在用這些 AI 工具時,「速度」和「摩擦(friction)」之間有一種反比的關係。但對我來說,當我用這種方式做越多原型,我自己也正撞上這個問題。

我覺得「摩擦」不見了,而摩擦正是想法獲得深度的地方。那是你去做壓力測試、和你的想法與概念待得更久的地方。但如果你能就這樣從一個概念直接跳到一個成品——我確實覺得,作為一個比較偏觀念性、思考比較橫向、跨很多不同想法的人,我確實覺得這會讓那種張力流失一點。

但我決定用一個不一樣的方式來收尾。所以昨天我跟這裡的一些人聊天,得到一個點子想做點什麼——一個介於 P5 和 MediaPipe 之間的點子。所以我很快地做了一個東西。我說「by eye(用眼睛)」,其實我是指 plotted(描繪出來的)。所以在這裡,只透過一個簡單的屬性,我現在就能連起來、為我自己建立這個畫布,你可以看到我的手被追蹤了。

這裡有一個我可以玩的畫布。所以這是一個 debug 工具,用來理解到底發生了什麼事等等。而它真正需要的,你知道,就只是……對,它真正需要的,就是我說:幫 P5.js 和 MediaPipe 設定一個專案,納入必要的 assets,你知道的,並透過 CDN 載入 MediaPipe 和 P5.js。

我之後可以自己在本機的伺服器上跑它。所以這些就是我需要的東西。然後它就幫我把一切都設定好了。而我也可以指認出:好,這裡就是我之後要寫我自己的函式、把那個「摩擦」加回來的地方。因為這其實正是過去每當我有概念時、最常把我卡住的部分。

我以前就會跑去 Stack Overflow,試著搞清楚這些東西到底要怎麼湊在一起、看那些我其實讀不太懂的文件,因為我不是軟體工程師。所以這個部分,某種程度上幫我跨過了一個門檻,讓我能更快地開始「玩」,對吧?然後在我想要的地方,我可以再把摩擦加回來,試著去理解:好,這是怎麼運作的、我想做什麼?

試著走過這個過程,把那種「慢」重新加回我的創作裡。但為了收在一個好玩一點的地方——我可以做的一件事,就是把它放到這裡。好。現在我有了這些泡泡。就這樣。謝謝大家,謝謝。

← 回到選擇 下一個:講者四:吳哲宇(Che-Yu) →