發表文章

目前顯示的是 6月, 2025的文章

AI Agent 時代來臨:用 GitHub Copilot 實戰 LINE 翻譯機器人

圖片
Hello 大家好,相信隨著 Vibe Coding 的熱潮,許多人終於能用自然語言來「說」出程式碼,跨出了過去難以逾越的那一步。 再加上近幾個月來,AI Agent、Model Context Protocol(MCP)、n8n 等結合 AI 相關的技術如雨後春筍般冒出,速度之快,幾乎是一覺醒來世界都變了樣。而這波大混戰中,Google 更在這幾天大方釋出 Gemini CLI 供大家免費使用,瞬間讓整個圈子都熱鬧了起來。但身為一個正被  AI 迫害的碼農 😜,怎麼能不親身體驗一下「用嘴巴寫程式」的威力呢? 先說結論 你終究還是要學會寫程式,只是寫程式將不再是一項專業技能。未來需要的,是一個具備優秀表達能力,並且擅長與 AI 合作的軟體工程師。 在不久的將來, 那些只會寫程式的設計師終將被 AI 取代,留下來的會是那些擅長帶領 AI 團隊(我稱之為 LLM Coding),並協助 AI 找出問題的 AI 軟體架構師 。所以從今天起,開始改變吧。 因此,今天就是要跟大家分享如何使用 GitHub Copilot 來寫程式。一開始我也蠻好奇的,覺得寫完之後可能還是要改吧?但 你相信它只花了五分鐘就完成了嗎? 相信你一看完,一定會震撼感十足!這也是我第一篇不寫程式的程式分享文章,下圖是最終實作出來的結果。 AI Agent 協助完成的 LINE 翻譯機器人 但在開始之前,先前情提要一下,之前我有一個系列文章,分享了如何 使用生成式 AI 技術實作屬於自己的 LLM 知識庫 ,其中某篇文章的範例提到了如何 運用 Prompt 提示工程 來幫助我們完成多國語系翻譯的功能,今天我就是要延續這個專案,來完成一個專屬的 LINE 翻譯機器人。 啟動 GitHub AI Agent 在開始使用 GitHub AI Agent 之前,我已在相同的專案內新增了一個名為 TranslateLineBotDemo 的 WebAPI 空白專案。接下來,直接看看我們的 Prompt 要怎麼下 需求說明 我正在幫一個製造業的工廠寫一個多國語言的 LINE Bot 機器人,而本次預計的需求目標如下 1. 需支援中文、英文、日文、越南、菲律賓等五國的多語系翻譯。 2. LINE Bot 僅能處理文字對話,當使用者送出文字以外的訊息,則回傳 "我現在只會翻譯文字喔" 的訊息。 3...

來跟 AI 玩玩角色扮演吧,提示工程(Prompt engineering)實作

# 使用生成式 AI 結合 RAG 技術實做屬於自己的 LLM 知識庫系列文章 在完成前面幾篇的實作後,你應該已經學會如何呼叫 LLM 模型,也知道如何讓 LLM 模型記住你們的對話了。同時,我們也都知道,LLM 模型是一位通才型的專家,當你提出問題時,它會根據訓練過的大量語料,試著回答你相關的內容。 不過,LLM 並非萬能, 當它遇到沒見過或不知道的問題時,就可能產生幻覺 ,這也是我們之後要實作 LLM 知識庫中需要留意的重要課題(續會有另外一篇 RAG 來介紹如何減輕這個問題)。 那你有沒有想過,如果在某些情境下,你剛好提出一個跨領域的問題,LLM 模型又會怎麼回答呢?

做個有記憶力的 AI 機器人,實作對話記憶

圖片
# 使用生成式 AI 結合 RAG 技術實做屬於自己的 LLM 知識庫系列文章 前情提要 這篇文章是【 Hello Gemini,串接第一個 Gemini 生成式 AI 】的延伸篇,在完成上一篇的設定後,我們已經成功透過程式呼叫 Google Gemini,串起了第一個生成式 AI 的小程式了。  但,事情並不總是這麼順利... 請看下圖的情境,我一開始問了一個問題,而它也正確的回答,接著再問「那他的背景是什麼」,結果 Gemini 居然回了一個讓人摸不著頭緒回答,不知道它是害怕想起來還是擔心對岸會對它不利 XD,它似乎完全忘了我們上一個問題在問什麼了。 你可能會有疑問?我明明在 ChatGPT 或 Gemini 使用者介面都用的好好的,怎麼會串個 API 就不知道我第一個問題是什麼呢?難道我的 API 版本是金魚腦比較笨!!其實,這是因為像 ChatGPT 或 Gemini 這類平台的使用者介面,內建了「對話記憶」機制來解決這個問題 。 也就是說,這些平台它會自動把你之前說過的話保留下來,讓模型能理解整段對話的上下文,回應自然又有連貫性,就像是跟朋友說話一樣自然。當然,這種記憶也是有限度的( 畢竟模型的上下文長度是有限的,因此記憶也是有限的 ,這部分我們之後有機會可以再深入介紹),不過至少最近幾輪的對話它都還能記住。  但當你透過 API 來串接 Gemini 或 ChatGPT 時, 模型並不會主動幫你記住對話的上下文 ,你得自己把對話的歷史維護好,並在每一次請求時都一併傳送過去,因此如同這篇的主題「做個有記憶力的 AI 機器人」,這篇將會示範如何實作基本的對話記憶機制。

Hello Gemini,串接第一個 Gemini 生成式 AI

圖片
# 使用生成式 AI 結合 RAG 技術實做屬於自己的 LLM 知識庫系列文章 Gemini 是什麼? Gemini 是 Google 開發的生成式 AI 模型系列,它的前身你可能聽過的是 Bard(一開始被 ChatGPT 打的很慘,現在已經默默退場的那位),而 Gemini 這個系列專為多模態任務設計,也就是說它不只會聊天,還能處理圖片、文字,甚至未來可能支援更多格式,你可以把 Gemini 想像成 Google 家的 ChatGPT,而且它也有自己的 API 可以串接。 為什麼選擇 Gemini?  回到本系列第一篇文章提到的,本次的目標是希望用 最低成本 打造出屬於自己的 LLM 知識庫,感覺這個目標聽起來不難,但現實往往不會那麼美好,實務上最理想的狀況當然是整套系統都跑在自己地端環境,不僅能確保資料不會外流,還能完全掌控模型運作細節。 不過嘛…… GPU 很貴的,不是每個人或者公司都願意砸大錢弄一台本地端跑 LLM 的伺服器,更別提現在使用者被 ChatGPT 養壞了,變得超沒耐心,超過 3 秒的回應時間可能就給負評 + 退訂了 XD。 因此我選擇 Google 的 Gemini 作為生成模型,原因很簡單,目前它提供免費呼叫 API 的額度 (至少本文撰寫的時候 Gemini 2.5 Flash 有一個免費額度可以使用,詳細可參考 Gemini Developer API 定價 ,但目前 AI 服務變化太快,未來就沒辦法保證了)。 怎麼串接 Gemini API? 前置作業 在開始寫程式碼之前,你必須先完成底下幾個重要步驟,相關設定也可以參考 Gemini API 說明文件 。 擁有一個 Google 帳戶:這一定要的吧,哪家不是這樣。 申請 Google Cloud 帳戶:去 Google Cloud 註冊一個帳戶,開通免費試用額度。 取得 Gemini API 金鑰:登入 Google AI Studio 後,它會要求同意一些服務條款。 建立 API Key:完成上一個步驟後,理論上可以看到 Create API Key 的按鈕,點下去就對了。 記下 API Key:完成後你會得到一組可以呼叫 Gemini API 的 Key,請記下它(忘記了其實也沒關係,管理介面這邊還可以看到),等等開發的時候會用到。 測試 API Key 拿到 API 照...