AI 工具介紹與命令列環境建立

本次課程分為兩個主題:AI 語言模型工具操作,以及命令列環境的基礎使用與 Node.js 安裝


一、AI 語言模型工具

什麼是大語言模型(LLM)?

大語言模型(Large Language Model,LLM)是一種以大量文字資料訓練而成的 AI 模型,能夠理解並生成自然語言。目前市面上有許多不同的模型,各有其特色:

這些模型可以透過各種平台來使用,不需要自行架設伺服器。


Poe

Poe 是由 Quora 推出的 AI 聊天平台,整合了多家公司的大語言模型,讓使用者可以在同一個介面切換不同 AI 進行對話。

主要特色:

操作示範:

  1. 前往 poe.com 並註冊帳號
  2. 選擇模型(例如 Claude 3.5 Sonnet、DeepSeek、Qwen 等)
  3. 輸入問題開始對話
  4. 嘗試切換不同模型,比較回答風格與品質

OpenRouter

OpenRouter 是一個 AI 模型的統一 API 閘道,讓開發者透過單一介面存取數十種不同的語言模型。

主要特色:

操作示範:

  1. 前往 openrouter.ai 並註冊帳號
  2. 瀏覽可用模型列表,查看各模型的定價與說明
  3. 建立 API Key
  4. 在聊天介面試用不同模型

二、命令列環境基礎

什麼是命令列介面?

命令列介面(Command Line Interface,CLI)是一種以文字輸入方式操作電腦的介面,有別於一般滑鼠點擊的圖形介面(GUI)。

早期的 MS-DOS 就是典型的命令列環境,現在 Windows 則提供 PowerShell 作為現代化的命令列工具。學習命令列能讓你更有效率地操作檔案、安裝套件、執行程式。

參考:MS-DOS 畫面風格示意 —— 黑底白字,輸入指令後按 Enter 執行。


開啟 PowerShell

在 Windows 中開啟 PowerShell:

開啟後,你會看到類似以下的提示符號:

PS C:\Users\你的使用者名稱>

這表示目前所在的目錄位置,接下來可以開始輸入指令。


基本指令說明

ls — 列出目錄內容

ls

列出目前所在目錄的所有檔案與資料夾。輸出結果包含:

欄位 說明
Mode 檔案屬性(d 代表資料夾,a 代表一般檔案,r 代表唯讀等)
LastWriteTime 最後修改時間
Length 檔案大小(資料夾不顯示)
Name 檔案或資料夾名稱

cd — 切換目錄

cd(Change Directory)用來切換目前所在的目錄位置。

cd music

進入名為 music 的資料夾。參數就是目標目錄名稱。

cd celemony

繼續進入 music 資料夾內的 celemony 子資料夾。


...

在命令列中,有兩個特殊的目錄符號:

符號 意義
. 代表目前所在的目錄
.. 代表上一層目錄(父目錄)
cd ..

回到上一層目錄。例如從 music/celemony 執行後,會回到 music

cd .

停在目前目錄(不移動),通常用於確認或搭配其他指令使用。


mkdir — 建立資料夾

mkdir project

在目前目錄下建立名為 project 的新資料夾。


start — 開啟檔案或網址

start 指令可以用系統預設程式開啟指定的目標。

cd project
start .

進入 project 資料夾後,用 start . 以 Windows 檔案總管開啟目前資料夾,方便以視覺化方式瀏覽內容。

start https://nodejs.org

以預設瀏覽器開啟指定網址,這裡用來前往 Node.js 官網。


快捷鍵技巧

在 PowerShell 中,有幾個常用快捷鍵能大幅提升效率:

按鍵 功能
Tab 自動補全檔案或指令名稱(再按一次可切換候選)
/ 翻閱先前輸入過的指令歷史
Ctrl + C 強制中斷目前執行中的程式或指令

三、安裝 Node.js

Node.js 是一個讓 JavaScript 可以在瀏覽器以外執行的執行環境,是現代網頁開發不可缺少的工具。

安裝步驟

  1. 在 PowerShell 中輸入:

    start https://nodejs.org
    

    或直接開啟瀏覽器前往 nodejs.org

  2. 下載 LTS(長期支援)版本的安裝程式

  3. 執行安裝程式,依步驟完成安裝(保持預設設定即可)

  4. 安裝完成後,關閉並重新開啟 PowerShell

    重要:安裝後必須重啟 PowerShell,環境變數才會生效。

確認安裝成功

重啟 PowerShell 後,輸入以下指令確認版本:

node -v
npm -v

若正確顯示版本號碼(例如 v22.x.x),代表安裝成功。


四、安裝與使用 Gemini CLI

安裝 Gemini CLI

npm install -g @google/gemini-cli

啟動 Gemini

gemini

第一次啟動時,畫面會詢問是否同意服務條款與信任設定,選擇同意後才能繼續使用。

進入後可以直接打招呼,體驗 AI 對話。

操作中的授權確認

Gemini 在幫你執行 shell 指令前,會先顯示指令內容並詢問是否授權執行,選項通常包含:

互動式指令的 focus 切換

當 Gemini 執行的 shell 指令本身有互動介面(例如需要輸入或選擇),畫面會分成 AI 對話區與 shell 執行區。此時需要切換 focus 才能在 shell 那側操作。切換按鍵請參考畫面下方的提示列(通常會顯示可用的快捷鍵)。

離開與重新連線

先學會怎麼離開,避免卡住不知道怎麼結束。

gemini -r

重新 attach 到上一個 session。若有多個 session,可以指定編號或完整 ID:

gemini -r 數字
gemini -r 完整ID
gemini --list-sessions

注意:--list-sessions 需要切換到對應的專案目錄下執行。


五、實作:讓 Gemini 幫你寫程式

背景執行的程式

試著請 Gemini 建立一個 HTTP server,用來提供 web/ 資料夾的靜態網頁。完成後,可以用系統的程式管理員確認程式是否正在背景執行。

俄羅斯方塊

請 Gemini 在 web/index.html 製作一個俄羅斯方塊遊戲。

完成後,進階挑戰:製作多人連線俄羅斯方塊

每個新任務記得切換到對應的資料夾再開始。


六、Prompt 實戰:從俄羅斯方塊到 PTT 數據分析雲

以下是課堂示範的完整提詞流程,展示如何用自然語言引導 AI 逐步開發一個完整系統。

Step 1: 基礎應用開發

提詞:

「請幫我做俄羅斯方塊, 寫在 index.html 裡」

成果: 生成一個具備視覺效果與完整邏輯的單檔案 HTML5 遊戲。


Step 2: 基礎設施與分享

提詞:

「建立網頁伺服器」 「請告訴我這台電腦的 ip 我想跟同學分享作品」

成果: 使用 Node.js + Express 建立後端,並自動查詢區域網路 IP,讓應用程式從「單機」變成「服務」。

補充:Private IP vs. Public IP

IP 位址分為兩種:

類型 說明 範例
Private IP(私有 IP) 區域網路內部使用,只有同一個網路下的裝置才能連線 192.168.x.x10.x.x.x
Public IP(公開 IP) 由 ISP 分配,網際網路上任何人都能連線 各網路業者分配的外部位址

在這裡我們用的是 Private IP:大家連接到同一個教室網路,所以彼此看得到。

若是在一般家庭或宿舍網路,同學不在同一個區網內就無法直接連線。若要讓外部連入,需要額外設定連接埠轉發(Port Forwarding)或使用 ngrok 等穿透工具,較為複雜。


Step 3: 資料採集 (Crawler)

提詞:

「請幫我做個爬蟲, 可以爬 ptt 八卦版的最新文章 100 篇. 使用 nodejs」

成果: 引入 axioscheerio,並透過 Cookie 繞過分級確認,實現自動化網頁抓取。

補充:為什麼指定 Node.js?

不是每台電腦都裝了 Python,但我們使用的是 Gemini CLI,而 Gemini CLI 本身就是 Node.js 程式,所以安裝 Gemini CLI 就代表 Node.js 一定存在。指定語言能避免 AI 選到環境裡沒有的工具。

如果你的環境不同(例如已有 Python 或其他語言),可以視情況調整提詞,或直接問 AI:「我的環境裡有哪些語言可以用?建議用哪個?」讓 AI 協助判斷。


Step 4: 資料結構化與持久化

提詞:

「請幫我把 100 篇的標題作者時間存成 csv 檔, 檔名是 ptt-gossiping-latest.csv; 然後, 這 100 篇文章 存到 ptt-gossiping 目錄下, 保存完整內容.」

成果: 將非結構化網頁轉為 CSV 表格與 TXT 檔案庫,完成資料清洗與儲存。


Step 5: NLP 自然語言處理與視覺化

提詞:

「這一百篇文章, 請幫我取出內文, 使用斷詞程式切割出詞, 利用詞頻排序, 最後做個文字雲. 避免使用 python, 優先考慮 nodejs 解決方案」

成果: 使用 nodejieba 進行中文斷詞與詞頻統計,最後利用 WordCloud2.js 渲染出動態文字雲。

補充:同 Step 3 的邏輯

明確排除 Python、指定 Node.js,原因與 Step 3 相同——確保 AI 選用環境中確定存在的工具,避免生成出來的程式碼因缺少直譯器而無法執行。


Step 6: 系統能力擴充 (Skill 化)

提詞:

「我想把你剛剛做的爬蟲程式整理成一個 skill... 名字叫做 'ptt-crawler-latest-100', 方便我隨時直接取用.」

成果: 將開發邏輯封裝為 Gemini CLI 的自定義 Skill,部署於 .gemini/skills/,達成功能模組化與永久保存。

補充:Gemini CLI Skills 規則

Skills 是存放在特定目錄下的指令腳本,Gemini CLI 會自動載入:

位置 說明
~/.gemini/skills/ 個人帳號根目錄,所有專案都能使用
<專案目錄>/.gemini/skills/ 僅在該專案目錄下有效

常用 Skills 管理指令:

/skills reload    重新載入所有 Skills(新增或修改後必執行)
/skills list      列出目前已載入的所有 Skills

第一次建立 Skill 後的注意事項:

  1. 先測試:執行一次,確認輸出正確、沒有路徑錯誤。
  2. 確認參數化:檢查輸出檔案位置、目錄名稱等是否寫死,若是,請請 AI 幫你改成參數,方便日後重複使用在不同專案。
  3. 重新載入:修改 Skill 檔案後記得執行 /skills reload,否則 Gemini 仍使用舊版本。

本次課程重點回顧

  1. PoeOpenRouter 是兩種不同定位的 AI 工具,前者面向一般使用者,後者面向開發者。
  2. QwenDeepSeek 是兩個值得認識的開源大語言模型。
  3. PowerShell 是 Windows 的現代化命令列工具,常用指令包括 lscdmkdirstart
  4. . 代表目前目錄,.. 代表上一層目錄。
  5. 安裝 Node.js 後需重啟 PowerShell 才能正常使用 nodenpm 指令。
  6. 安裝 Gemini CLI 後,啟動時需同意信任設定,執行指令前會再次詢問授權。
新媒體內容技術與設計

New Media Techniques and Design