用 AI 短片,說一點豐原的故事

用 AI 短片,說一點豐原的故事
最近開始嘗試用 AI 工具製作短片,把豐原的地方文化、歷史記憶與生活風景,轉化成歌曲和影像,探索不同的說故事方式。
從熟悉的街道、廟口的熱鬧,到日常生活裡容易被忽略的小細節,都是創作的靈感。透過 AI 協助發想歌詞、生成音樂與畫面,再慢慢整理、調整,讓一段段關於豐原的故事,有機會用更輕鬆、親近的方式被看見與聽見。
製作過程中,最有趣的地方,是思考如何讓作品帶出在地的感覺。一首歌、一段畫面,能不能讓熟悉豐原的人產生共鳴,也讓還不認識這座城市的人,多一點好奇?
涉及歷史的內容,也需要回頭查找資料,分清楚史實與創作想像。AI 能幫忙呈現故事,而故事裡的細節,仍值得花時間理解與確認。
目前還在持續摸索,希望透過這些小小的創作,記錄自己眼中的豐原,也邀請大家一起重新發現家鄉的美。如果你有想聽的豐原故事,或記憶中特別的地方,歡迎留言分享,說不定就會成為下一支短片的靈感!




Redis 走進 AI 架構:從快取資料,到替 Agent 準備正確的上下文

做後端開發,談到 Redis,第一個想到的通常是快取:商品資料先放一份、Session 集中管理、熱門查詢少打幾次資料庫。

但當系統開始加入 AI 助理,新的問題出現了。

使用者前面才說要查台中門市,下一輪問「那今天還有貨嗎?」系統卻不知道「那」指的是哪一項商品。模型回答得很流暢,查到的卻是昨天的庫存。

站在 .NET 系統架構的角度,我更關心的是:每次呼叫模型之前,應用程式能不能把正確、最新,而且符合權限的資料準備好?

Redis 的 AI 能力,值得從這個問題開始理解。

模型負責理解與生成;應用程式必須負責提供可信的上下文。

先釐清:Redis 的 AI 能力有不同層次

「Redis 接入 AI」很容易讓人以為,只要升級資料庫,就會自動多出一個懂業務的助理。

實際上,可以分成資料檢索與上層服務來看。Vector Sets 提供原生向量集合操作;Redis Query Engine 則能在 Hash、JSON 資料上建立索引,組合向量、全文與結構化條件。兩者的操作方式與適用情境不同。Redis 向量索引說明

Redis Iris 則把 Agent Memory、LangCache、Context Retriever 與 Data Integration 組合成上下文服務,涵蓋記憶、語意快取、受治理的資料存取及資料同步。Redis Iris 官方文件

選型時,我會分別確認資料庫版本、部署方案及服務需求。支援某個向量命令,並不表示整套 Agent 記憶流程已經完成設定。

用餐飲 POS 來看:三種問題,需要三種資料

假設我們正在替連鎖餐飲系統開發 AI 客服。使用者可能問:

使用者的問題系統需要的資料我會採用的處理方式
「外帶訂單如何取消?」門市適用的取消規則檢索有效版本的政策文件
「照我上次的口味推薦」已確認的使用者偏好讀取該使用者的長期記憶
「我剛才那筆訂單退款了嗎?」該筆訂單最新狀態驗證身分後查詢訂單服務

這三題都以自然語言提出,資料來源卻完全不同。

退款規則適合從知識庫找;口味偏好適合從記憶找;退款進度應查詢實際訂單。若把所有問題都丟進同一套向量搜尋,很容易找到「看起來相關、實際上不能作答」的內容。

因此,我會先設計問題分流,再決定 Redis 在各條路徑扮演什麼角色。

向量搜尋:先限定資料範圍,再找語意相近的內容

向量可以協助系統找到用詞不同、意思相近的內容。例如「外帶取消」與「撤銷取餐訂單」,不一定包含相同關鍵字,卻可能指向同一份規則。

如果只需要輕量的相似度查詢,可以評估 Vector Sets;若文件還要搭配門市、分類、日期或其他查詢條件,則可以評估 Query Engine。後者提供向量搜尋與 metadata 過濾,向量索引可依需求選擇 FLAT、HNSW 等演算法。Redis 向量搜尋文件

在多租戶系統中,我會讓後端從已驗證的身分取得租戶範圍,把必要的存取限制帶進檢索流程。不能讓使用者輸入一句「查另一家公司的文件」,就改變查詢權限。

資料範圍正確後,才有討論相似度與排序的意義。

Agent 記憶:保存對話,還要管理事實如何更新

Redis Agent Memory 區分會話與長期記憶。啟用相關功能後,可以在背景摘要較早的對話,並抽取值得保留的事實與偏好,形成可搜尋的長期記錄。Agent Memory 官方說明

但「存起來」只是起點。

使用者上個月偏好辣味,今天說最近想吃清淡一點,系統該採用哪一筆?他只是替朋友訂餐,這次選擇又該不該成為本人的長期偏好?

我的設計會讓記憶保留來源、時間與適用對象,並提供更正、刪除與失效機制。對會影響實際交易的資訊,還要有明確的確認程序。

此外,重要條件不能只靠向量搜尋「剛好找到」。應用程式必須明確載入的限制,就應作為固定業務條件處理。

語意快取:相似的問法,未必有相同答案

LangCache 的用途,是讓語意相近的請求有機會重用既有回答,減少重複生成。Redis Iris:LangCache

例如同一門市、同一版本規則下,「外帶怎麼取消?」與「取消外帶的流程是什麼?」可能適合共用答案。

但是「我的退款到了嗎?」與「他的退款到了嗎?」即使語意非常接近,也不能因此共用結果。

我會先定義哪些回答允許快取,再檢查租戶、權限、語言、政策版本與有效期限。即時訂單、庫存與個人交易狀態,則走業務查詢路徑。

衡量成效時,也不只看命中率。錯誤重用答案的比例、政策更新後的失效速度,以及整體回應延遲,都應一起觀察。

放進 ASP.NET Core,責任應該怎麼分?

我會把請求入口設計成以下流程:

  1. 驗證使用者身分,取得租戶、門市與資料存取範圍。

  2. 判斷問題需要政策文件、個人記憶,還是即時業務資料。

  3. 對允許重用的問題檢查語意快取,其他問題直接進入檢索或服務查詢。

  4. 將取得的資料連同來源、時間與必要限制,整理成模型上下文。

  5. 產生回答;資料不足時,要求補充資訊或說明尚無法確認。

  6. 依保存政策更新對話、候選記憶及允許快取的答案。

在程式結構上,我會把知識檢索、記憶存取、快取判斷與訂單查詢拆成不同服務介面,讓 Controller 保持簡單,也方便單獨驗證每個環節。

若涉及取消訂單、退款或修改資料,仍由應用服務驗證權限、狀態轉移與重複請求。模型可以協助理解使用者意圖,交易是否成立則必須由業務規則決定。

這樣一來,未來更換模型或檢索服務時,也不必重寫整套訂單邏輯。

導入前,我會先算清楚兩件事

第一件是記憶體。

以 1,536 維 FLOAT32 向量為例,單筆純向量資料是 1,536 × 4 = 6,144 bytes;一千萬筆約 61.44 GB,還沒計入索引、文件、metadata、副本與其他開銷。

即使採用更低位元表示,也不能直接把純向量的縮小比例,當成整個 Redis 執行個體的節省比例。容量規劃應以實際資料與查詢品質測試為準。

第二件是資料生命週期。

可重建的快取與需要保存的長期記憶,對淘汰、備份及復原有不同要求。我不會因為都能放進 Redis,就直接讓它們共用相同的容量與淘汰策略。是否拆成不同執行個體,要看資料重要性、負載與故障影響。

我會從一個能驗證的小場景開始

第一階段,我會選單一門市的政策問答:整理文件版本,建立檢索,再用一組固定問題檢查答案與來源是否一致。

第二階段,才針對穩定、重複的問法加入語意快取,同時測試「問法相近但答案不同」的反例。

等這些行為可預期後,再加入跨會話偏好與即時訂單工具。每增加一項能力,就驗證它對正確率、延遲與維運成本的影響。

從 .NET 架構師的角度看,Redis 在 AI 時代的價值,是讓我們多了一組管理上下文的工具。真正決定系統品質的,仍是資料來源、權限邊界、更新機制,以及每次回答前的判斷流程。

讓 AI 記得更多之前,先讓系統知道:哪些資訊值得記住、什麼時候必須更新,以及這一次回答到底能相信哪一份資料。

讓 AI 不只會聊天:透過 CLI 擴充 AI 的實際工作能力

生成式 AI 很擅長回答問題、產生程式碼、規劃系統架構與整理技術文件。

但若 AI 只能停留在聊天視窗中,它多半只能告訴你:

  • 指令應該怎麼下
  • 程式應該怎麼寫
  • 系統應該怎麼部署
  • 錯誤可能發生在哪裡

真正要讓 AI 參與開發、測試、部署與維運,就需要搭配 CLI 工具。

CLI 是 Command-Line Interface,命令列介面。透過終端機、PowerShell、Git、Docker、Python、Node.js,以及各種雲端 CLI,AI 才能把「建議」轉換為「可執行的工作流程」。

簡單來說:

聊天介面讓 AI 提供答案,CLI 則讓 AI 有機會把答案轉換成實際操作。

當開發環境準備完成後,AI 可以協助:

  • 建立專案
  • 建立資料夾與程式檔案
  • 安裝開發套件
  • 執行程式
  • 執行測試
  • 分析錯誤
  • 修改程式
  • 操作 Git
  • 建立 Docker 容器
  • 部署雲端服務
  • 操作 Firebase
  • 查詢資料庫
  • 建立 CI/CD
  • 撰寫 PowerShell 自動化腳本
  • 分析系統 Log
  • 重複執行、修正與驗證

這也是 AI Coding Agent、AI CLI、Vibe Coding 與 Agentic Development 的核心基礎。


一、什麼是 CLI?

CLI 是透過文字指令操作電腦、開發工具與雲端平台的介面。

例如,使用 Git 下載專案:

git clone https://github.com/example/project.git

使用 Docker 啟動服務:

docker compose up -d

登入 Azure:

az login

部署 Google Cloud Run:

gcloud run deploy

當 AI 開發工具具備 CLI 操作能力後,通常可以依照以下流程工作:

  1. 理解使用者需求。
  2. 檢查本機開發環境。
  3. 建立專案與資料夾。
  4. 安裝必要套件。
  5. 產生程式碼與設定檔。
  6. 執行建置。
  7. 執行測試。
  8. 分析錯誤訊息。
  9. 修改程式。
  10. 再次執行與驗證。
  11. 建立 Git Commit。
  12. 部署到測試或雲端環境。

因此,CLI 不只是工程師輸入指令的工具,也是 AI 與作業系統、開發工具及雲端平台之間的重要橋梁。


二、Windows 本機建議安裝的基礎工具

若要在 Windows 電腦上使用 AI 搭配 CLI,建議先安裝以下工具。


1. Windows Terminal

Windows Terminal 是 Windows 上的現代化終端機工具。

官方安裝說明:

https://learn.microsoft.com/zh-tw/windows/terminal/install

Windows Terminal 可以同時操作:

  • PowerShell
  • Command Prompt
  • WSL
  • SSH
  • Azure Cloud Shell
  • 各種 CLI 工具

Windows Terminal 可視為整個 CLI 開發環境的主要入口。

安裝完成後,可以從開始功能表開啟 Windows Terminal,並在不同分頁中分別執行:

  • PowerShell
  • Git
  • Docker
  • Node.js
  • Python
  • Azure CLI
  • Google Cloud CLI

2. PowerShell 7

PowerShell 是 Windows 上非常重要的命令列與自動化腳本工具。

官方安裝說明:

https://learn.microsoft.com/zh-tw/powershell/scripting/install/install-powershell-on-windows?view=powershell-7.6

PowerShell 可以用來:

  • 管理檔案與資料夾
  • 安裝軟體
  • 呼叫 REST API
  • 控制 Windows Service
  • 控制 IIS
  • 建立部署腳本
  • 建立備份腳本
  • 建立排程工作
  • 檢查網站健康狀態
  • 分析 Log
  • 操作 Git
  • 操作 Docker
  • 操作雲端 CLI
  • 建立 CI/CD 腳本

確認 PowerShell 版本:

pwsh --version

啟動 PowerShell 7:

pwsh

PowerShell 特別適合以下環境:

  • Windows Server
  • IIS
  • .NET
  • SQL Server
  • Active Directory
  • 企業內部系統
  • 自動部署
  • 自動更新
  • 系統維運

例如,AI 可以協助建立一支 PowerShell 腳本,自動完成:

  1. 下載 GitHub 最新 Release。
  2. 解壓縮檔案。
  3. 停止 IIS。
  4. 備份現有網站。
  5. 保留 appsettings.json。
  6. 更新程式。
  7. 啟動 IIS。
  8. 驗證網站狀態。
  9. 失敗時自動還原。

3. Git

Git 是目前最重要的分散式版本控制工具之一。

官方網站:

https://git-scm.com/

Windows 使用者通常可以從 Git 官方網站下載 Git for Windows。

Git 可以用來管理:

  • 程式碼版本
  • 修改紀錄
  • 分支
  • Commit
  • Tag
  • Merge
  • 衝突處理
  • 程式碼還原
  • 遠端 Repository
  • 團隊協作
  • CI/CD 觸發
  • Release 版本

確認 Git 是否安裝完成:

git --version

查看目前 Git 設定:

git config --list

設定使用者名稱:

git config --global user.name "Your Name"

設定電子郵件:

git config --global user.email "you@example.com"

查看設定結果:

git config --global user.name
git config --global user.email

Git 的基本工作流程

Git 最常見的操作流程如下:

工作目錄
→ 暫存區
→ 本機 Repository
→ 遠端 Repository

查看目前修改狀態:

git status

將修改加入暫存區:

git add .

建立 Commit:

git commit -m "feat: add login feature"

推送到遠端:

git push

建立新的 Git Repository

在目前資料夾初始化 Git:

git init

加入所有檔案:

git add .

建立第一個 Commit:

git commit -m "Initial commit"

設定遠端 Repository:

git remote add origin https://github.com/owner/repository.git

推送至遠端:

git branch -M main
git push -u origin main

下載既有專案

Clone Git Repository:

git clone https://github.com/owner/repository.git

進入專案:

cd repository

查看目前分支:

git branch

取得最新版本:

git pull

建立功能分支

建立並切換到新分支:

git switch -c feature/add-login

較舊的寫法:

git checkout -b feature/add-login

完成修改後:

git add .
git commit -m "feat: add login feature"
git push -u origin feature/add-login

常見 Git 指令

查看 Commit 紀錄:

git log

以精簡格式查看:

git log --oneline

查看程式修改內容:

git diff

查看已暫存的修改:

git diff --staged

查看遠端 Repository:

git remote -v

切換分支:

git switch main

合併分支:

git merge feature/add-login

建立標籤:

git tag v1.0.0

推送標籤:

git push origin v1.0.0

Git 在 AI 開發中的重要性

AI 可以快速修改大量程式碼,但修改範圍越大,風險也越高。

因此,在讓 AI 操作專案前,建議先建立 Git Commit:

git status
git add .
git commit -m "chore: backup before AI changes"

AI 修改完成後,可以透過以下指令檢查差異:

git diff

若修改錯誤,可以使用 Git 還原。

還原單一檔案:

git restore path/to/file

取消暫存:

git restore --staged path/to/file

回到上一個 Commit 前,必須先確認是否會影響尚未保存的修改。

Git 對 AI 開發最大的價值包括:

  • 保留 AI 修改前的版本
  • 比較 AI 修改內容
  • 快速找出錯誤
  • 分批提交修改
  • 容易進行程式碼審查
  • 發生問題時可以還原
  • 可與 GitHub、GitLab、CI/CD 整合

4. Docker Desktop

Docker 可以將應用程式與其執行環境封裝成容器。

官方下載:

https://www.docker.com/products/docker-desktop/

Docker 適合用來建立:

  • PostgreSQL
  • MySQL
  • Redis
  • RabbitMQ
  • Nginx
  • Elasticsearch
  • Qdrant
  • Milvus
  • AI API
  • Python 執行環境
  • .NET 執行環境
  • React 前端
  • 測試環境
  • 微服務架構

確認 Docker 是否安裝:

docker --version

確認 Docker Compose:

docker compose version

查看執行中的容器:

docker ps

查看所有容器:

docker ps -a

例如,使用 Docker 建立 PostgreSQL:

docker run --name postgres-dev `
  -e POSTGRES_USER=postgres `
  -e POSTGRES_PASSWORD=YourPassword `
  -e POSTGRES_DB=appdb `
  -p 5432:5432 `
  -d postgres

AI 可以協助產生:

  • Dockerfile
  • docker-compose.yml
  • Volume
  • Network
  • Health Check
  • 環境變數
  • 多階段建置
  • 正式環境映像檔
  • 容器啟動腳本

5. Node.js

Node.js 是 JavaScript 與 TypeScript 的執行環境。

官方網站:

https://nodejs.org/zh-tw

Node.js 常用於:

  • React
  • Vue
  • Angular
  • Next.js
  • Nuxt
  • Vite
  • Three.js
  • Express
  • NestJS
  • MCP Server
  • AI CLI
  • 自動化工具
  • 前端建置

確認 Node.js:

node --version

確認 npm:

npm --version

建立 Vite 專案:

npm create vite@latest

安裝套件:

npm install

啟動開發環境:

npm run dev

建立正式版本:

npm run build

AI 可以透過 Node.js CLI 協助:

  • 建立 React 專案
  • 安裝 UI 套件
  • 建立 API
  • 建立 Three.js 場景
  • 執行 ESLint
  • 執行測試
  • 建立 Production Build
  • 分析 npm 安裝錯誤

6. Python 或 Anaconda

Python 是 AI、機器學習、資料分析、自動化與後端 API 常用的程式語言。

Python 官方下載:

https://www.python.org/downloads/

Anaconda 下載:

https://www.anaconda.com/download

Python 常見用途包括:

  • OpenAI API
  • Azure OpenAI
  • RAG
  • Embedding
  • 向量資料庫
  • 機器學習
  • 深度學習
  • OCR
  • Whisper
  • YOLO
  • 資料分析
  • Excel 處理
  • 網頁爬蟲
  • FastAPI
  • Flask
  • 自動化腳本

確認 Python:

python --version

確認 pip:

pip --version

建立虛擬環境:

python -m venv .venv

啟用虛擬環境:

.\.venv\Scripts\Activate.ps1

安裝套件:

pip install fastapi uvicorn openai

輸出套件清單:

pip freeze > requirements.txt

安裝專案套件:

pip install -r requirements.txt

Anaconda 則特別適合:

  • Jupyter Notebook
  • 資料科學
  • AI 模型研究
  • 多 Python 環境管理
  • 機器學習套件管理
  • 教學與實驗環境

三、如果要建立雲端服務

若希望 AI 協助建立或部署雲端服務,應安裝對應平台的官方 CLI。


1. Google Cloud CLI

官方網站:

https://cloud.google.com/cli

Google Cloud CLI 的主要指令為:

gcloud

可操作:

  • Cloud Run
  • Compute Engine
  • Cloud Storage
  • Cloud SQL
  • Google Kubernetes Engine
  • Artifact Registry
  • Secret Manager
  • Cloud Functions
  • IAM
  • Service Account
  • VPC
  • Load Balancer

登入 Google Cloud:

gcloud auth login

查看帳號:

gcloud auth list

查看專案:

gcloud projects list

設定預設專案:

gcloud config set project YOUR_PROJECT_ID

查看目前設定:

gcloud config list

設定預設區域:

gcloud config set run/region asia-east1

部署 Cloud Run:

gcloud run deploy

AI 可以根據需求協助:

  1. 建立 Google Cloud 專案。
  2. 啟用相關 API。
  3. 建立 Artifact Registry。
  4. 建立 Docker Image。
  5. 推送映像檔。
  6. 建立 Cloud Run。
  7. 設定 Secret Manager。
  8. 設定環境變數。
  9. 設定自訂網域。
  10. 建立自動部署腳本。

2. Firebase CLI

官方文件:

https://firebase.google.com/docs/cli?hl=zh-cn

Firebase CLI 通常透過 npm 安裝:

npm install -g firebase-tools

確認版本:

firebase --version

登入:

firebase login

查看專案:

firebase projects:list

初始化 Firebase:

firebase init

切換專案:

firebase use PROJECT_ID

部署:

firebase deploy

Firebase CLI 可管理:

  • Firebase Hosting
  • Firestore
  • Authentication
  • Cloud Functions
  • Storage
  • Emulator
  • Remote Config
  • App Hosting
  • Security Rules

AI 可以協助建立:

  • firebase.json
  • Firestore Rules
  • Storage Rules
  • Functions 專案
  • Hosting 設定
  • Emulator 設定
  • CI/CD 部署流程

3. Azure CLI

官方安裝說明:

https://learn.microsoft.com/zh-tw/cli/azure/install-azure-cli?view=azure-cli-latest

Azure CLI 的主要指令為:

az

登入 Azure:

az login

查看訂閱:

az account list --output table

設定訂閱:

az account set --subscription "訂閱名稱或訂閱 ID"

建立 Resource Group:

az group create `
  --name DemoResourceGroup `
  --location eastasia

Azure CLI 可操作:

  • App Service
  • Azure Functions
  • Container Apps
  • Azure Kubernetes Service
  • Azure SQL
  • PostgreSQL Flexible Server
  • Storage Account
  • Key Vault
  • Azure OpenAI
  • Virtual Machine
  • Azure Container Registry
  • Application Insights
  • Azure Monitor
  • Service Bus
  • Redis

AI 可以根據需求產生:

  • 建立資源腳本
  • 更新部署腳本
  • 環境變數設定
  • Key Vault 設定
  • 網路安全設定
  • Application Insights 監控
  • 刪除測試環境腳本

四、資料庫工具

AI 應用通常需要儲存:

  • 使用者資料
  • 系統設定
  • 對話紀錄
  • 文件索引
  • Embedding
  • 分析結果
  • 操作 Log
  • 任務狀態
  • 權限資料
  • AI Agent 執行紀錄

因此,資料庫也是 AI CLI 開發環境的重要部分。


1. PostgreSQL

下載網址:

https://www.enterprisedb.com/downloads/postgres-postgresql-downloads

PostgreSQL 適合:

  • 企業管理系統
  • SaaS
  • AI 應用
  • RAG
  • JSON 資料
  • 全文檢索
  • 地理資訊
  • 向量搜尋
  • 多租戶系統

搭配 pgvector 後,PostgreSQL 也可以儲存與搜尋 Embedding。

確認 PostgreSQL CLI:

psql --version

連線本機 PostgreSQL:

psql -h localhost -U postgres

指定資料庫:

psql -h localhost -U postgres -d appdb

建立資料庫:

CREATE DATABASE ai_demo;

查看資料庫:

\l

查看資料表:

\dt

離開:

\q

2. pgAdmin

官方網站:

https://www.pgadmin.org/

pgAdmin 是 PostgreSQL 的圖形化管理工具,可用來:

  • 建立資料庫
  • 建立資料表
  • 執行 SQL
  • 管理帳號
  • 管理權限
  • 查看連線
  • 備份
  • 還原
  • 查看效能

CLI 適合自動化,pgAdmin 適合視覺化管理,兩者可以搭配使用。


3. SQLite

官方網站:

https://www.sqlite.org/

SQLite 是輕量級嵌入式資料庫,不需要獨立資料庫伺服器。

適合:

  • 桌面程式
  • 手機 App
  • 小型系統
  • 單機工具
  • PoC
  • 快速雛型
  • 開發測試
  • 本機 AI 工具
  • 小型 RAG

資料通常儲存在單一檔案中,例如:

app.db

開啟資料庫:

sqlite3 app.db

查看資料表:

.tables

查看資料表結構:

.schema users

離開 SQLite:

.quit

4. DB Browser for SQLite

官方網站:

https://sqlitebrowser.org/

DB Browser for SQLite 可以透過圖形化介面:

  • 開啟 SQLite
  • 查看資料表
  • 編輯資料
  • 執行 SQL
  • 匯入 CSV
  • 匯出 CSV
  • 查看索引
  • 修改資料表結構

當 AI 產生 SQLite 專案後,可以使用 DB Browser 驗證資料是否正確。


五、版本控制與遠端平台 CLI

Git、GitHub CLI 與 GitLab CLI 是不同層級的工具。

可以簡單理解為:

工具主要用途
Git管理本機與遠端程式碼版本
GitHub CLI操作 GitHub 平台功能
GitLab CLI操作 GitLab 平台功能

GitHub CLI 與 GitLab CLI 不能取代 Git。

一般情況下,應先安裝 Git,再安裝 GitHub CLI 或 GitLab CLI。


1. Git

官方網站:

https://git-scm.com/

Git 負責:

  • Clone
  • Add
  • Commit
  • Pull
  • Push
  • Branch
  • Merge
  • Tag
  • Diff
  • Restore

例如:

git clone https://github.com/owner/repository.git
git switch -c feature/new-page
git add .
git commit -m "feat: add new page"
git push -u origin feature/new-page

2. GitHub CLI

官方網站:

https://cli.github.com/

GitHub CLI 的主要指令是:

gh

登入 GitHub:

gh auth login

查看登入狀態:

gh auth status

建立 Repository:

gh repo create

下載 Repository:

gh repo clone owner/repository

建立 Issue:

gh issue create

查看 Issue:

gh issue list

建立 Pull Request:

gh pr create

查看 Pull Request:

gh pr list

查看 GitHub Actions:

gh run list

查看執行結果:

gh run view

查看失敗 Log:

gh run view --log-failed

GitHub CLI 可讓 AI 協助:

  • 建立 Repository
  • 建立 Issue
  • 建立 Pull Request
  • 查看 Review
  • 分析 GitHub Actions
  • 下載 Release
  • 建立 Release
  • 管理 Workflow
  • 管理 GitHub 專案

3. GitLab CLI

GitLab CLI 發布頁:

https://gitlab.com/gitlab-org/cli/-/releases

GitLab CLI 的主要指令為:

glab

登入 GitLab:

glab auth login

GitLab CLI 可以連線:

  • GitLab.com
  • 自建 GitLab Server

查看 Issue:

glab issue list

建立 Issue:

glab issue create

查看 Merge Request:

glab mr list

建立 Merge Request:

glab mr create

查看 Pipeline:

glab pipeline list

查看 CI 狀態:

glab ci status

GitLab CLI 可讓 AI 協助:

  • 建立 Issue
  • 建立 Merge Request
  • 查看 Pipeline
  • 建立 Release
  • 分析 CI/CD
  • 操作自建 GitLab
  • 管理專案工作流程

需要注意:

GitLab CLI 負責管理 GitLab 平台,真正執行 CI/CD 工作的元件仍是 GitLab Runner。


六、AI 搭配 CLI 可以做哪些事情?


1. 建立網站專案

提示詞範例:

請使用 Vite 建立 React TypeScript 專案。

需求:
- 使用 React
- 使用 TypeScript
- 使用 Tailwind CSS
- 建立首頁
- 建立登入頁
- 建立後台 Dashboard
- 使用 React Router
- 安裝套件
- 執行 npm run build
- 修正所有建置錯誤

AI 可以協助執行:

npm create vite@latest
npm install
npm install react-router-dom
npm run build

並建立:

  • React 元件
  • 路由
  • 表單
  • Dashboard
  • API Service
  • CSS
  • 環境變數

2. 建立 Python API

提示詞範例:

請建立一個 Python FastAPI 專案。

需求:
- 提供健康檢查 API
- 提供使用者登入 API
- 提供 AI 問答 API
- 使用 SQLite
- 使用 SQLAlchemy
- 建立 requirements.txt
- 建立單元測試
- 啟動後驗證 API

AI 可以建立:

app/
├─ main.py
├─ database.py
├─ models.py
├─ schemas.py
├─ services/
├─ routers/
├─ tests/
├─ requirements.txt
└─ README.md

並執行:

python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install fastapi uvicorn sqlalchemy pytest
uvicorn app.main:app --reload
pytest

3. 建立 Docker 環境

提示詞範例:

請將目前 FastAPI 專案容器化。

需求:
- 建立 Dockerfile
- 建立 docker-compose.yml
- 建立 PostgreSQL
- 建立 Redis
- 建立健康檢查
- 使用環境變數
- 啟動後測試 API

AI 可以執行:

docker compose up -d --build

查看容器:

docker compose ps

查看 Log:

docker compose logs -f

4. 部署 Google Cloud

提示詞範例:

我要在 Google Cloud 建立一個網頁服務。

請使用 gcloud CLI 協助規劃與部署。

需求:
- Python FastAPI
- 使用 Docker
- 部署至 Cloud Run
- 區域使用 asia-east1
- 使用 Artifact Registry
- 使用 Secret Manager 儲存 API Key
- 設定環境變數
- 提供部署與刪除腳本
- 建立付費資源前先列出資源清單

AI 可以依序協助:

  1. 檢查 gcloud。
  2. 登入帳號。
  3. 設定 Project。
  4. 啟用 API。
  5. 建立 Artifact Registry。
  6. 建立 Docker Image。
  7. 推送 Image。
  8. 建立 Secret。
  9. 部署 Cloud Run。
  10. 驗證服務網址。

5. 部署 Azure 服務

提示詞範例:

請使用 Azure CLI 部署一個 .NET Web API。

需求:
- 建立 Resource Group
- 建立 Linux App Service
- 建立 PostgreSQL Flexible Server
- 使用 Key Vault
- 使用 Application Insights
- 設定正式環境變數
- 提供建立、更新與刪除腳本

AI 可以產生與執行:

  • az group create
  • az appservice plan create
  • az webapp create
  • az postgres flexible-server create
  • az keyvault create
  • az monitor app-insights component create

6. 操作 Firebase

提示詞範例:

請使用 Firebase CLI 建立一個 React 網站。

需求:
- 使用 Firebase Hosting
- 使用 Firestore
- 使用 Authentication
- 建立 Security Rules
- 建立本機 Emulator
- 建立 GitHub Actions 自動部署

AI 可以協助執行:

firebase login
firebase init
firebase emulators:start
firebase deploy

7. 操作 Git 與 GitHub

提示詞範例:

請檢查目前專案修改內容。

接著:
1. 建立 feature/login 分支。
2. 將修改分成合理的 Commit。
3. 推送到 GitHub。
4. 使用 GitHub CLI 建立 Pull Request。
5. 在 Pull Request 說明中列出修改內容與測試結果。

AI 可能執行:

git status
git diff
git switch -c feature/login
git add .
git commit -m "feat: add login feature"
git push -u origin feature/login
gh pr create

8. 操作 Git 與 GitLab

提示詞範例:

請分析目前修改內容。

接著:
1. 建立 feature/report 分支。
2. 建立 Commit。
3. 推送到公司自建 GitLab。
4. 使用 glab 建立 Merge Request。
5. 檢查 GitLab Pipeline。

AI 可能執行:

git switch -c feature/report
git add .
git commit -m "feat: add report module"
git push -u origin feature/report
glab mr create
glab pipeline list

9. 自動管理 Windows 與 IIS

提示詞範例:

請使用 PowerShell 建立網站自動更新腳本。

流程:
1. 從 GitHub Release 取得最新版本。
2. 下載 ZIP。
3. 驗證檔案。
4. 解壓縮。
5. 停止 IIS App Pool。
6. 備份目前網站。
7. 保留 appsettings.json。
8. 更新其他程式檔案。
9. 啟動 IIS App Pool。
10. 呼叫健康檢查網址。
11. 失敗時還原。
12. 將完整過程寫入 Log。

AI 可以協助:

  • 撰寫腳本
  • 執行腳本
  • 分析權限錯誤
  • 驗證 IIS
  • 驗證網址
  • 建立失敗還原機制

七、如何撰寫適合 AI CLI 的提示詞?

不建議只寫:

幫我建立一個網站。

這類提示詞過於模糊,AI 很難判斷:

  • 使用什麼程式語言
  • 使用什麼框架
  • 是否使用 Docker
  • 是否需要資料庫
  • 是否需要部署
  • 可以操作哪些 CLI
  • 是否可以安裝套件
  • 是否可以修改現有檔案

建議至少包含以下內容:

  1. 目標。
  2. 技術架構。
  3. 執行環境。
  4. 可使用工具。
  5. 功能需求。
  6. 驗證方式。
  7. 權限限制。
  8. 安全限制。
  9. 部署平台。
  10. 最終交付內容。

建議提示詞模板

你是一位資深軟體架構師、AI 工程師與 DevOps 工程師。

請在目前目錄建立一個可執行的專案。

技術需求:
- 前端:React、TypeScript
- 後端:Python FastAPI
- 資料庫:PostgreSQL
- 快取:Redis
- 容器:Docker Compose
- 雲端:Google Cloud Run
- 版本控制:GitHub

可使用工具:
- PowerShell
- Git
- GitHub CLI
- Python CLI
- Node.js CLI
- Docker CLI
- gcloud CLI

執行要求:
1. 先檢查所有必要工具是否安裝。
2. 查看目前資料夾與既有檔案。
3. 不要直接覆蓋重要檔案。
4. 建立專案結構。
5. 安裝必要套件。
6. 建立資料庫設定。
7. 建立 Dockerfile 與 docker-compose.yml。
8. 建立健康檢查 API。
9. 建立單元測試。
10. 執行建置與測試。
11. 修正所有錯誤。
12. 建立 Git 分支與 Commit。
13. 提供 Cloud Run 部署腳本。
14. 涉及付費資源前,先列出資源與可能費用。
15. 不要將密碼、Token 或 API Key 寫入 Git。

八、網頁 3D 與程式 3D 工具選擇


網頁 3D:Three.js

Three.js 是基於 WebGL 的 JavaScript 3D 函式庫。

適合:

  • 網頁 3D 展示
  • 產品模型展示
  • 3D 模型檢視器
  • 互動式場景
  • 數位孿生介面
  • WebXR
  • 教學模擬
  • 網頁小遊戲
  • 工業設備視覺化

安裝 Three.js:

npm install three

建立 Vite 專案:

npm create vite@latest threejs-demo
cd threejs-demo
npm install
npm install three
npm run dev

Three.js 可以搭配:

  • React Three Fiber
  • Drei
  • Vite
  • Blender
  • GLTF
  • GLB
  • WebXR
  • Cannon.js
  • Rapier

提示詞範例:

請使用 Vite、TypeScript 與 Three.js 建立 3D 網頁。

需求:
- 建立地板
- 建立環境光
- 建立方向光
- 載入 GLB 模型
- 支援滑鼠旋轉
- 支援模型縮放
- 支援物件點擊
- 顯示物件資訊
- 加入載入進度
- 加入效能統計
- 執行 npm run build 驗證

程式、遊戲與工業模擬:Unity

Unity 是跨平台 2D/3D 開發引擎,主要使用 C#。

適合:

  • Windows 3D 程式
  • 手機 App
  • 3D 遊戲
  • AR
  • VR
  • 工業模擬
  • 教育訓練
  • 數位孿生
  • 物理模擬
  • 互動式展示

Unity 適合需要以下能力的專案:

  • 角色控制
  • 動畫系統
  • 物理引擎
  • 碰撞偵測
  • 多平台輸出
  • VR/AR 裝置
  • 複雜場景管理
  • 手機感測器
  • 工業設備模擬

工具選擇參考:

使用情境建議工具
網頁顯示 3D 模型Three.js
網頁互動 3D 場景Three.js
網頁產品展示Three.js
網頁輕量遊戲Three.js
Windows 3D 程式Unity
手機 3D AppUnity
AR/VR 應用Unity
完整 3D 遊戲Unity
工業模擬Unity
教育訓練模擬Unity

九、安全與權限管理

AI 能操作 CLI,代表它也可能執行具有破壞性的指令。

因此,必須建立明確的安全界線。


1. 不要將密碼寫入提示詞或程式碼

避免直接提供:

  • 密碼
  • API Key
  • Access Token
  • GitHub Token
  • GitLab Token
  • 資料庫密碼
  • SSH Private Key
  • Service Account Key
  • Azure Client Secret

建議使用:

  • 環境變數
  • .env
  • User Secrets
  • Azure Key Vault
  • Google Secret Manager
  • GitHub Secrets
  • GitLab CI/CD Variables

.gitignore 建議包含:

.env
.env.*
*.key
*.pem
appsettings.Production.json
secrets.json
service-account.json

2. 執行刪除指令前必須確認

以下指令可能造成嚴重影響:

Remove-Item -Recurse -Force
rm -rf
docker system prune -a
az group delete
gcloud projects delete
git reset --hard
git clean -fd

執行前應先:

  • 顯示操作目標
  • 顯示實際路徑
  • 顯示預計刪除內容
  • 建立備份
  • 建立 Git Commit
  • 優先在測試環境操作
  • 避免直接操作正式環境

3. 使用 Git 保護程式碼

AI 大量修改程式前,先執行:

git status
git add .
git commit -m "chore: snapshot before AI changes"

修改完成後檢查:

git diff
git status

這樣可以:

  • 查看 AI 改了什麼
  • 找出不合理修改
  • 分批審查
  • 還原錯誤
  • 保留歷史紀錄

4. 區分不同環境

建議至少區分:

Development
Testing
Staging
Production

AI 初期應優先操作:

  • Development
  • Testing
  • 個人雲端專案
  • 測試用 Resource Group
  • 測試用 Git 分支
  • 測試資料庫

避免一開始就讓 AI 取得 Production 最高權限。


5. 使用最小權限原則

AI 使用的帳號、Token 或 Service Account,只應取得必要權限。

例如:

  • 部署 Cloud Run 不一定需要 Project Owner
  • 建立 Pull Request 不需要 Repository Admin
  • 查詢資料庫不一定需要 DROP 權限
  • 讀取 Log 不需要系統管理員權限
  • Firebase 部署不一定需要完整 Google Cloud 管理權限

十、安裝完成後的環境檢查

可以使用 PowerShell 快速檢查常用工具是否存在:

$commands = @(
    "pwsh",
    "git",
    "docker",
    "node",
    "npm",
    "python",
    "pip",
    "gcloud",
    "firebase",
    "az",
    "gh",
    "glab",
    "psql",
    "sqlite3"
)

foreach ($command in $commands) {
    $result = Get-Command $command -ErrorAction SilentlyContinue

    if ($result) {
        Write-Host "[OK] $command" -ForegroundColor Green
    }
    else {
        Write-Host "[Missing] $command" -ForegroundColor Yellow
    }
}

也可以進一步檢查版本:

$versionCommands = @{
    "PowerShell" = "pwsh --version"
    "Git"        = "git --version"
    "Docker"     = "docker --version"
    "Node.js"    = "node --version"
    "npm"        = "npm --version"
    "Python"     = "python --version"
    "pip"        = "pip --version"
    "gcloud"     = "gcloud version"
    "Firebase"   = "firebase --version"
    "Azure CLI"  = "az version"
    "GitHub CLI" = "gh --version"
    "GitLab CLI" = "glab --version"
    "PostgreSQL" = "psql --version"
    "SQLite"     = "sqlite3 --version"
}

foreach ($item in $versionCommands.GetEnumerator()) {
    Write-Host "`n=== $($item.Key) ===" -ForegroundColor Cyan

    try {
        Invoke-Expression $item.Value
    }
    catch {
        Write-Host "未安裝或無法執行" -ForegroundColor Yellow
    }
}

十一、建議的 AI CLI 基礎工具組合

初學者可先安裝:

Windows Terminal
+ PowerShell 7
+ Git
+ Node.js
+ Python
+ Docker Desktop

需要使用 GitHub 時,再安裝:

GitHub CLI

需要使用 GitLab 時,再安裝:

GitLab CLI

需要部署 Google Cloud 時,再安裝:

Google Cloud CLI
+ Firebase CLI

需要部署 Azure 時,再安裝:

Azure CLI

需要開發資料庫應用時,可安裝:

PostgreSQL
+ pgAdmin
+ SQLite
+ DB Browser for SQLite

十二、結論

AI 能不能真正參與軟體開發,不只取決於模型本身是否聰明,也取決於它能使用哪些工具。

只有聊天能力時,AI 通常可以:

  • 提供建議
  • 產生程式碼
  • 解釋錯誤
  • 規劃架構
  • 撰寫指令

搭配 CLI 後,AI 則可以進一步協助:

  • 建立專案
  • 建立檔案
  • 安裝套件
  • 執行程式
  • 執行測試
  • 修正錯誤
  • 操作 Git
  • 建立分支與 Commit
  • 建立 Pull Request
  • 建立 Merge Request
  • 建立 Docker 容器
  • 操作資料庫
  • 部署雲端
  • 建立 CI/CD
  • 執行系統維運
  • 產生自動化腳本
  • 驗證最終結果

其中,Git 是 AI 開發流程中非常重要的安全基礎。

Git 可以讓開發者清楚知道:

  • AI 修改了哪些檔案
  • AI 修改了哪些程式碼
  • 哪一個版本發生問題
  • 是否需要還原
  • 是否可以進行程式碼審查

因此,建議至少準備以下環境:

Windows Terminal
+ PowerShell 7
+ Git
+ Node.js
+ Python
+ Docker
+ GitHub CLI 或 GitLab CLI
+ Azure CLI 或 Google Cloud CLI

完成安裝後,可以在提示詞中清楚告訴 AI:

你可以使用 PowerShell、Git、Python、Node.js、Docker 與雲端 CLI。

請先檢查目前環境與 Git 狀態,再開始修改。

執行過程中:
1. 不要直接覆蓋重要檔案。
2. 不要刪除未確認的檔案。
3. 修改前先建立 Git 分支。
4. 修改後執行建置與測試。
5. 顯示完整錯誤訊息。
6. 修正後再次驗證。
7. 不要將密碼與 Token 寫入 Git。
8. 涉及雲端付費資源前,先列出預計建立的資源。

當 AI、CLI、Git、Docker、程式語言與雲端平台整合後,AI 就不再只是回答技術問題的聊天工具,而是能夠參與規劃、開發、測試、版本控制、部署與維運的工程協作工具。

SQLite 推新版本~修復資料庫損壞漏洞以及漂亮呈現的QRF(Query Result Formatter)

SQLite 是全世界應用最廣泛的嵌入式資料庫引擎,從手機 App、瀏覽器到物聯網裝置都能看到它的身影。2026 年 7 月 24 日發布的 3.53.4 版本,除了修補前幾個小版本(3.53.1~3.53.3)遺留的問題外,也整合了自 3.53.0 以來累積的多項重要功能。以下用淺顯的方式,把這次更新拆解成幾個重點面向來介紹。

一、最值得關心的修復:資料庫損壞漏洞

這次更新最關鍵的一項,是修復了與 WAL(Write-Ahead Log,預寫式日誌)重置有關的資料庫損壞問題。WAL 是 SQLite 用來提升寫入效能與並行處理能力的機制,一旦這個環節出錯,最壞情況可能導致資料庫檔案損毀。對一般使用者來說,這代表:只要有使用資料庫寫入操作的應用程式,都建議儘快升級到這個版本,以避免潛在的資料遺失風險。

二、新增QRF(Query Result Formatter)

QRF(Query Result Formatter)是這次版本很有特色的新功能,簡單來說,它能把 SQL 查詢結果自動排版成整齊的表格,方便在文字介面(例如命令列視窗)中閱讀,例如數字會自動靠右對齊、輸出以框線字元組成表格。這對於習慣用命令列工具查資料庫的工程師或維運人員來說,等於是「不用額外工具,資料庫自己就把報表排版好了」。目前互動式命令列(CLI)已預設採用這種新格式,而批次執行(例如寫腳本自動跑 SQL)則仍維持舊格式,避免既有自動化流程被打亂。

三、SQL 語法更靈活

這次也強化了 SQL 語言本身的能力,重點包括:

  • ALTER TABLE 更彈性:現在可以直接新增或移除欄位的 NOT NULL、CHECK 限制條件,不需要像以前一樣重建整張表。
  • REINDEX EXPRESSIONS:可以單獨重建「表達式索引」(例如根據函數運算結果建立的索引),用來修復索引過期失效的問題。
  • VACUUM INTO 加強:備份資料庫時可以透過 URI 參數指定保留空間大小,方便預留未來成長空間。
  • 新增了 json_array_insert()、jsonb_array_insert() 兩個 JSON 處理函數,讓操作 JSON 陣列更方便。

四、查詢效能與規劃器的優化

SQLite 的「查詢規劃器」負責決定一條 SQL 該怎麼執行最有效率,這次做了幾項調整:對於 EXCEPT、INTERSECT、UNION 這類集合運算,一律改用排序合併演算法,官方說明這樣「幾乎總是」比雜湊表快;另外也改善了多表格連接(JOIN)時的順序選擇邏輯,減少不必要的運算。對開發者而言,這些改動通常不需要修改任何程式碼,資料庫會自動跑得更快。

五、浮點數精度改變 — 需要留意的相容性議題

比較值得注意的是,浮點數與文字互相轉換的精度,預設從過去的 15 位有效數字,提升到 17 位。這代表數字顯示可能比以前更精確,但也可能讓某些依賴舊有顯示格式的程式或測試出現差異。如果需要維持舊行為,可以透過 SQLITE_DBCONFIG_FP_DIGITS 設定調整回來。這是一個「預設值改變」型的更新,建議有大量數值運算的系統在升級前先做測試。

六、命令列工具(CLI)多項細節優化

命令列工具本身也有不少貼心的小改進,例如 .timer 指令可以設定只計時下一句 SQL、.progress 可以設定逾時自動中斷查詢、.indexes 指令的搜尋邏輯改為比對索引名稱本身(而非資料表名稱),讓搜尋功能真正符合預期。另外要特別提醒:點指令結尾若有沒加引號的分號,現在會被直接忽略,這是一項可能造成相容性問題的改變,若有腳本依賴舊行為,需要特別檢查。

七、其他技術亮點

新增了多個 C 語言介面函數,方便進階開發者操作字串緩衝區與虛擬表;Session 擴充功能新增了逐項新增變更的介面,方便做資料同步;JavaScript/WASM 版本則新增了 opfs-wl 檔案系統選項,透過瀏覽器的 Web Locks 機制達到更公平的鎖定共享,不過需要較新版本的瀏覽器支援。

重點總結

如果只想記住三件事:第一,這個版本修了一個可能造成資料庫損壞的漏洞,建議儘快升級;第二,新增的 QRF 讓命令列查詢結果變得更好讀;第三,浮點數精度與分號規則有變動,升級前建議簡單測試一下既有系統是否受影響。

需要特別說明的是,官方頁面提到 3.53.4 這個修補版本,主要是為了修正前幾個版本(3.53.1 至 3.53.3)中「主要由人工智慧引起的問題」,詳細細節官方僅指向提交紀錄,並未在頁面上進一步展開說明。

LINE 開發者的 2026 年中震撼彈:Rate Limit 被腰斬 99.5%、帳號終於能「刪除重來」,還有那個消失的最小化按鈕

身為一個每天跟 LINE Messaging API、LIFF 混在一起的 .NET 開發者,我必須說 2026 年這個五月到七月,LINE 官方明顯是把「改版」這件事當成連續劇在更新,一集接一集,還時不時來個「未完待續」。這篇就把這段期間比較有感的更新,一次幫大家整理清楚,順便碎念幾句。

一、Rich Menu 終於有「數據」可以看了,不用再靠感覺

7 月 1 日這天,Messaging API 新增了兩支端點:取得 rich menu 洞察總覽、取得每日洞察數據。以前如果你的圖文選單是用 Messaging API 建的,你只能默默祈禱使用者有點下去;現在終於可以像用 LINE Official Account Manager 建的選單一樣,看到「顯示次數」跟「點擊次數」了。有趣的是官方特別強調,這兩套數據是互不相通的:API 建的選單看不到後台的數據,後台建的選單也看不到 API 的數據。所以如果你們家專案是兩種方式混用,記得數據要分開看,不然老闆問起「圖文選單成效」,你可能要交出兩份報告。

二、Rate Limit 被砍到只剩 0.5%,這是要逼死誰

這大概是整個五月最有戲劇張力的一則公告。5 月 7 日官方先預告:Get rich menu list 這支端點的速率限制,將從每秒 2000 次,改成每秒 10 次。沒錯,你沒看錯,是從 2000 掉到 10,砍幅超過 99%。然後 5 月 26 日,這件事真的發生了。

Get rich menu list
之前:2,000 requests / 秒
之後:   10 requests / 秒

如果你的系統有那種「每次使用者互動就順手查一次 rich menu 清單」的懶惰寫法,這波更新等於直接把你的架構考卷發回來重寫。建議是把清單資料快取起來,別再每次都問 LINE 要清單,畢竟現在問一次的成本,可能比你想像中貴很多。

三、LINE MINI App 內購:免費試用期結束,該收錢了

LINE MINI App 的應用內購買功能,原本佛心來著開放免費使用到 6 月底,官方在 6 月 5 日先預告、7 月 1 日正式上路:從 7 月 1 日之後的交易開始收取服務費用,費率則是以你申請當下公告的費率為準。同時官方也順手修訂了《LINE 應用內購買服務條款》,主要是把費用計算與請款結算方式講得更清楚。如果你們家產品有掛 MINI App 內購,這波記得回頭檢查一下財務試算,別讓會計部門措手不及。

四、日本認證 MINI App 可以跟 Business Manager 組織「牽紅線」了

6 月 10 日這則比較偏在地化:日本地區的已驗證 MINI App,現在可以把 MINI App 頻道連結到 Business Manager 組織,進而跟同組織底下的其他服務(目前支援 LINE 官方帳號)做整合。條件不少,包括地區都要設成日本、服務提供者跟已發布資料的營運公司要一致等等,細節偏繁瑣,但方向很明確:LINE 想把底下這些帳號體系越串越緊,官方也說未來會開放更多整合功能,值得先卡個位。

五、開發者帳號終於可以「刪除」了,但這是不歸路

6 月 24 日的更新算是補了一個长期缺口:LINE Developers Console 終於支援刪除開發者帳號。不過這裡有個重點要劃起來——刪除之後不能復原。而且如果你是某個 Provider 或 Channel 底下唯一的 Admin,刪除前系統會要求你先把權限交接給其他帳號,不然那個服務就等於被鎖死,沒人能再進去改設定。所以與其說這是「刪除帳號」功能,不如說它是一個「離職交接檢查表」,公司內部帳號有異動的話,記得先做好交接再按下去。

六、LIFF 悄悄升級了兩次,但你可能完全沒感覺

5 月 13 日發布 LIFF v2.29.0,6 月 29 日再發布 v2.29.1,兩次都寫著同一句話:只調整 SDK 內部行為,功能沒有變化。這種更新最適合「设了自動更新就不用管」,如果你是走 CDN edge path(https://static.line-scdn.net/liff/edge/2/sdk.js),會自動吃到新版;如果是 npm 使用者,記得手動更新一下:

bash
npm install @line/liff@2.29.1
# 或
yarn add @line/liff@2.29.1

雖然官方說功能沒變,但內部行為調整這種話,老實講我都會半信半疑地多測一輪回歸測試,你們也是吧?

七、LIFF 瀏覽器大改版:多分頁圖示退場,換成三顆點點

5 月 19 日這則跟 UI/UX 關係最大:從 LINE 26.7.0 版開始,LIFF 瀏覽器的標頭規格整個翻新。原本那顆代表「多分頁檢視」的按鈕圖示,換成了直式三個點的選單圖示;點下去也不再直接跳去分頁畫面,而是彈出一個下拉選單,裡面塞了全部分頁、重新整理、最小化瀏覽器、分享、加到主畫面、我的最愛、權限設定、關於此服務、回報問題等一長串選項。另外,已驗證 MINI App 原本在標頭上的「最小化」按鈕,現在被收進下拉選單裡,原本的位置換成了「關閉」按鈕。如果你的 MINI App 有針對舊版標頭做過任何客製化引導教學或截圖說明,這波更新後這些素材大概都要重拍一輪了。

八、五月那場 LIFF/MINI App 事故:一段從 4/27 燒到 5/14 的小插曲

最後提一下背景插曲:4 月 27 日到 5 月 14 日之間,Android 版 LINE 26.6.0 / 26.6.1 有個 bug,導致在特定情境下(LIFF 瀏覽器開著時,用 Intent 或 App Link 又叫出同一個或另一個 LIFF/MINI App)會拿不到使用者 profile、LIFF API 也會怪怪的。官方後來在 5 月 14 日推出修復版 LINE 解決問題,但在那之前也貼心提供了一段暫時解法,用 location.href 做頁面轉跳、並在偵測到類似 invalid_request 的錯誤時手動登出再登入:

javascript
const params = new URLSearchParams(location.search)
const liffState = params.get('liff.state')
const redirectUri = liffState
  ? new URL('.' + liffState, location.href).toString()
  : location.href

liff.login({ redirectUri })

這種「先給暫時解法、再補正式修復」的節奏,其實蠻值得學起來——不管是自己開發的服務出包,還是等第三方修 bug,先讓使用者有路可走,永遠比讓他們卡死畫面來得體貼。

小結:這波更新告訴我們什麼

整體看下來,這兩個月 LINE 平台的更新可以歸納成三個關页字:限流變嚴、收費上路、體驗微調。速率限制被砍等於在提醒大家該做快取就要做;MINI App 收費代表商業模式正式進入下一階段;LIFF 的一連串小改版則是提醒我們,前端串接這種東西永遠不能「串完就沒事了」,得定期回去看看官方公告,免得哪天使用者截圖來問你「這個按鈕怎麼不見了」,你才第一次知道有這回事。

Claude code 搭配 OpenRouter 使用免費的claude code (?)

claude code文件

https://code.claude.com/docs/zh-TW/overview

安裝 claude code (命令提示字元)

curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

OpenRouter 註冊

https://openrouter.ai/ 註冊新帳號

OpenRouter 使用在claude code的說明

https://openrouter.ai/docs/guides/coding-agents/claude-code-integration

.claude/settings.local.json

{
  "env": {
    "ANTHROPIC_BASE_URL": "https://openrouter.ai/api",
    "ANTHROPIC_AUTH_TOKEN": "<your-openrouter-api-key>",
    "ANTHROPIC_API_KEY": ""
  }
}

加上 “ANTHROPIC_MODEL”:”openrouter/free” (使用系統分配,或是到model 搜尋免費 free https://openrouter.ai/models?q=free)

{
  "env": {
    "ANTHROPIC_BASE_URL": "https://openrouter.ai/api",
    "ANTHROPIC_AUTH_TOKEN": "<your-openrouter-api-key>",
    "ANTHROPIC_API_KEY": "",
     "ANTHROPIC_MODEL":"openrouter/free"
​
  }
}

開啟 claude code

自己升級wordpress環境php8.5

https://github.com/superlevin/hacklog-remote-attachment

經營一個網站超過十年,就像是看著一個孩子長大一樣,充滿了滿滿的感情與回憶。這十多年來,我的WordPress網站一直忠實地陪伴著我,但也面臨著需要「轉大人」的考驗。

最近,我下定決心要將網站的底層引擎升級到全新的PHP 8.5,希望能讓網站跑得更快、更順暢,給大家更好的體驗。沒想到,過程卻像是在闖關打怪一樣充滿挑戰!其中最大的一個關卡,就是一個叫做hacklog remote attachment的老套件。它就像是一個充滿回憶但也捨不得搬家的老頑固,不管我怎麼嘗試,它就是無法適應新的環境,導致我的升級計畫一直卡關失敗。

正當我感到有些頭痛,差點要舉白旗投降的時候,我想起了現在最厲害的好幫手,也就是人工智慧AI!我轉念一想,何不請AI來當我的專屬工程顧問呢?於是,我帶著這個老套件的難題,和AI進行了一場深度的跨界交流。

沒想到,AI真的超級神!在它的耐心引導與程式碼微調之下,我們居然成功解開了這個老套件的心結,讓它順利跟上了時代的腳步。當畫面上顯示升級成功的那一刻,我真的感動到想從椅子上跳起來歡呼!

這不僅僅是一次系統的升級,更是我親身見證科技帶來無限可能的一刻。遇到困難真的不要氣餒,轉個彎,或許就會發現新的解法。有時候,只要一點點正向的信念,加上善用身邊的新工具,原本看似無解的難題也能迎刃而解!讓我們一起保持開放的心,快樂迎接每一天的挑戰吧!

Azure 上的 PostgreSQL 如何撐起 ChatGPT 8 億用戶?微軟工程師親揭幕後秘辛

今天要來聊一個超有料的主題——ChatGPT 背後的資料庫架構,以及微軟工程團隊如何幫 OpenAI 撐過爆炸性的用戶成長。 這篇文章源自微軟官方部落格,由 Azure PostgreSQL 工程副總裁 Affan Dar 領銜撰寫。乾貨滿滿,讓我來幫你翻譯成人話。

先說背景:ChatGPT 有多誇張?

OpenAI 過去一年把資料庫規模擴大了 10 倍,要支撐的是高達 8 億月活躍用戶。這個量級是什麼概念?整個系統底層用的是 Azure Database for PostgreSQL,也就是微軟雲端上的 PostgreSQL 託管服務。 PostgreSQL 這個開源資料庫,平常我們可能覺得它就是個「普通關聯式資料庫」,但這次的故事告訴我們:只要配置得當,它真的可以撐到超大規模。

問題一:讀取副本老是跟不上主節點

什麼是讀取副本(Read Replica)?

簡單說,就是把資料庫「複製一份」給其他伺服器來分擔讀取流量,這樣主節點就不用一個人扛所有查詢。ChatGPT 的架構裡,一台主節點撐著超過 50 個分布在多個地區的副本,這數字已經很嚇人了。

發生了什麼問題?

在 OpenAI 某次大型服務上線前,工程師發現一個詭異現象:副本的資料會「越落越遠」,跟不上主節點的更新速度(這叫做 Replication Lag,複製延遲),而且它不會自己恢復,只能靠重啟副本才能解決,然後一天內又再次發生——陷入一個惡性循環。

問題的根源是什麼?

深挖之後,找到了罪魁禍首:TCP 壅塞控制演算法。 預設的 CUBIC 演算法在偵測到封包遺失(跨地區傳輸本來就難免)時,會把傳輸速度猛踩煞車,拼命退讓,導致複製速度大幅下降。

怎麼解決?

微軟團隊做了三件事:

  • 把壅塞控制演算法從 CUBIC 換成 BBR(對封包遺失更不敏感)
  • 調整 TCP 視窗大小設定
  • 引入**公平佇列(Fair Queuing)**網路排程,讓封包傳送更平滑 這三招組合拳下去,問題就解決了。

問題二:讀副本超過 50 個後怎麼辦?

微軟加入了**串聯副本(Cascading Replica)**支援,讓副本可以再複製給下一層副本,不用所有副本都直接連主節點。這樣就能在不影響主節點的情況下,繼續橫向擴展讀取能力。 此外,他們還開發了一個新技巧:從同地區的另一個副本快照建立新的異地副本,避免過去需要跨地區大量複製資料(可能要花幾小時甚至幾天)的痛苦。

問題三:寫入量太大,單台主節點 IOPS 不夠了

讀取問題解決了,但寫入量的成長讓單台 PostgreSQL 主節點的 I/O 效能上限捉襟見肘。這也是為什麼 OpenAI 後來把部分適合拆分的新工作負載移到 Azure Cosmos DB(NoSQL)去了。 但問題是,有些資料就是很難拆分(sharding 困難),這時候怎麼辦? 這就帶出了微軟的新架構:Azure HorizonDB,在 2025 年 11 月進入私人預覽。

Azure HorizonDB:為超大規模打造的 Postgres

這是目前最令人興奮的部分。HorizonDB 從根本上重新設計了 PostgreSQL 的儲存層,核心概念叫做「以 WAL 為中心的儲存模型」。

WAL 是什麼?

WAL(Write-Ahead Log,預寫日誌)是資料庫記錄「我要做什麼改變」的日誌,用來確保資料不會因為系統崩潰而遺失。PostgreSQL 傳統上是先寫 WAL、再把資料頁寫到磁碟。

HorizonDB 的創新在哪?

PostgreSQL 的計算節點不再直接寫資料頁到磁碟,所有持久化都透過 WAL 完成,資料頁由獨立的儲存層負責重建。 儲存層分成兩個獨立服務:

服務優化目標
WAL Server超低延遲的順序寫入
Page Server超大規模的隨機讀寫
WAL Server 可以在一次網路跳轉內就把一筆交易持久化到 3 個可用區域(傳統架構需要 4 次跳轉),大幅降低提交延遲。
Page Server 則把資料分散在大量 NVMe 高速磁碟上,讓單個 PostgreSQL 實例可以達到數十萬 IOPS 的讀取能力。

計算節點變成無狀態引擎

最妙的是,這個架構讓 PostgreSQL 的計算節點從此「輕裝上陣」——備份、複製、Checkpoint 等繁重工作全部交給儲存層,計算節點只需要專心處理業務邏輯,CPU、磁碟、網路資源都省下來了。 讀取副本也不再需要各自保存一份完整的資料拷貝,瞬間就能建立新副本,且每多一個副本完全不影響主節點效能。

總結:從這件事可以學到什麼?

這篇文章最有價值的地方,不只是技術細節,而是工程師解決問題的思路: 先找根本原因,而不是用重啟來掩蓋問題(TCP 壅塞控制的案例)。一步一步拆解問題,先解讀取延遲、再解讀取擴展、最後解寫入擴展。為未來設計,HorizonDB 的架構不是為了應付今天的問題,而是為了更大的明天。 PostgreSQL 在 8 億用戶的規模下能正常運行,背後是無數工程師的調校與創新。下次有人說「PostgreSQL 不能水平擴展」,你可以把這篇故事講給他聽。

原文來源:Microsoft Community Hub — Supporting ChatGPT on PostgreSQL in Azure(2026/1/29)

注意!Claude Code Windows 路徑大搬家,3 月 12 日前務必完成設定

Anthropic 最近發出了一封重要通知:Windows 版的 Claude Code 正在進行一項「設定檔路徑遷移」,而且有明確的截止日期——2026 年 3 月 12 日。如果你的公司或 IT 部門有在幫員工統一部署 Claude Code 的設定,那這件事你非得知道不可。

這次更新到底在改什麼?

簡單來說,就是 Claude Code 在 Windows 上存放「企業管理設定檔」的資料夾位置換了。 這個設定檔叫做 managed-settings.json,是企業 IT 團隊用來統一管理、控制 Claude Code 行為的重要檔案。

  • 舊路徑(即將停用): C:\\ProgramData\\ClaudeCode\\
  • 新路徑(請更新到這裡): C:\\Program Files\\ClaudeCode\\managed-settings.json 3 月 12 日之後,系統就不會再去讀取舊路徑的檔案了。也就是說,如果你的 IT 部門沒有在期限前更新部署位置,之前設定的企業管理規則就會全部失效!

誰需要採取行動?

並不是所有人都需要動作。 這件事主要影響的是:

  • 公司有 IT 部門負責集中管理 Claude Code 設定的企業用戶
  • 使用 MDM(行動裝置管理)或端點管理工具(例如 Intune、Jamf 等)來部署 managed-settings.json 的組織 如果你只是個人用戶,或是公司根本沒有部署這個設定檔,那這次更新對你沒有任何影響,不用緊張。

IT 同仁需要怎麼做?

步驟其實很簡單,就一件事:

在 2026 年 3 月 12 日之前,將你的 MDM 或端點管理工具的部署路徑,更新為新的路徑: C:\\Program Files\\ClaudeCode\\managed-settings.json 如果你已經完成了這個更新,那就什麼都不用再做了,大功告成!


小結

這次的改動說複雜不複雜,說簡單也要注意別錯過截止日期。如果你負責公司的 IT 管理,記得趕快去確認部署設定有沒有更新;如果你只是一般使用者,把這篇文章轉給你的 IT 同事就對了! 總之,3 月 12 日這個日期記起來,別讓企業設定白白失效了。

資料來源:Anthropic 官方通知信件