[ai] AI Agent 設計模式:從 ReAct 到 Multi-Agent 協作
系統性介紹 AI Agent 的核心設計模式,涵蓋 ReAct、Plan-and-Execute、Multi-Agent 協作、Tool Use 與記憶管理,從概念到實務應用。
歡迎來到我的技術部落格!這裡記錄了我在技術學習過程中的點滴與心得。
系統性介紹 AI Agent 的核心設計模式,涵蓋 ReAct、Plan-and-Execute、Multi-Agent 協作、Tool Use 與記憶管理,從概念到實務應用。
深入探討 AI 應用的安全風險與隱私挑戰,涵蓋 Prompt Injection、資料外洩防護、模型安全、隱私合規與實務防禦策略。
從架構角度探討 React 應用的元件設計模式、狀態管理策略、效能優化與專案結構,適合有 React 基礎的開發者進階閱讀。
以實戰經驗為基礎,深入介紹 AI 開發工具的配置最佳化,涵蓋 Claude Code、MCP 整合、Gateway 設定、多 Agent 工作流與跨工具協作策略。
記錄我如何用 Obsidian + Quartz 建立雙平台知識系統,包含 PARA 分類法、編號慣例、同步策略與理想工作流。
完整的 macOS zsh 開發環境配置,涵蓋 Oh My Zsh、模組化 alias、自定義函數、多 SSH key 管理,以及 Server 管理常用指令整理。
記錄 ~/work/ 目錄的組織方式,說明 prd、proto、tools、legacy 各資料夾的定位,以及從 prototype 到 blog 的知識產出流程
想自己搭建 AI 工具鏈?從 Skills 技能包到 MCP 萬能接頭到 ClawdBot 全自動助理,告訴你每個工具適合什麼情境、需要什麼知識、怎麼配置。
TypeScript 的 Utility Types、Generic、命名轉換、Type Guard 等實戰技巧。不是語法教學,是告訴你什麼情境下特別好用。
不再靠直覺和 console.log,用系統化的方法定位和修復 Bug。從重現、定位、工具到心法的完整指南。
跟著一個功能(Google 登入)從 PM 提需求到上線 Production 的完整流程。串起系統規劃、Proto、Git、測試、CI/CD、監控的所有環節。
Code Review 不只是看程式碼——從 PR 怎麼開、Review 看什麼、Comment 怎麼寫到團隊導入建議的完整指南。
使用 AWS EC2 建立安全的 OpenVPN 伺服器,詳細步驟涵蓋 VPC、Subnet、Internet Gateway 及安全組的設置。
每日覆盤:建立習慣、選擇工具與工作方法 引言 在日常開發工作中,隨著項目日漸複雜,保持反思與調整顯得尤為重要。我在嘗試多種生產力管理方法後,最終決定通過建立每日覆盤的習慣來提升自我管理,進而促進工作效率和長期目標的達成。這篇文章將分享我的覆盤思路、選擇的工具、長期目標以及具體的工作方法。 每日覆盤的目的 每日覆盤不僅僅是回顧一天的工作,更多的是一種反思和調整的過程。透過每天總結成就、挑戰和明天的計劃,覆盤可以幫助我們: 持續改進工作流程與效率。 增強對工作的掌控感與自信心。 通過小步快跑的方式,逐步達成長期目標。 覆盤的框架 在覆盤的過程中,我關注以下五個核心點: 今日成就:記錄當天完成的主要...
這篇教學涵蓋如何使用 pnpm 從零開始建立 Express + TypeScript 專案,包含專案初始化、環境設置、基本文件結構與最佳實踐。
從軟體工程師的視角理解 AI,涵蓋 ML/DL/LLM 的關係、核心術語解釋、以及 AI 在工程領域的定位。
RAG(Retrieval-Augmented Generation)的架構設計、Vector DB 選型、Chunking 策略與實務問題。
從基本原則到工程師專用模板,讓 AI 工具發揮最大效能的 Prompt 技巧。
動態規劃的核心概念、思考框架、兩種做法與六個經典問題詳解,以及在工程中的實際應用
圖論最短路徑演算法(Dijkstra、Bellman-Ford、Floyd-Warshall、A*)與拓撲排序,以及在工程中的實際應用
字串匹配演算法(KMP、Rabin-Karp、Z Algorithm)與回文演算法(Manacher)
前綴和與差分陣列筆記,涵蓋一維與二維前綴和、差分陣列與 HashMap 技巧
雜湊表的 hash function 原理、碰撞處理策略、負載因子與擴容機制
介紹 AVL Tree 的平衡因子、四種旋轉操作、插入刪除步驟及與其他平衡樹的比較
介紹線段樹的建樹、區間查詢、單點更新及 Lazy Propagation 等核心操作
介紹 Fenwick Tree 的 lowbit 原理、前綴和查詢、單點更新及 2D 擴展
介紹 LRU Cache 的 HashMap + 雙向鏈表實作原理、核心操作及與 LFU 的比較
介紹布隆過濾器的概率型判斷原理、最佳參數計算及快取穿透防護等應用場景
比較自建 Harbor 與雲端託管 Registry(ECR、GCR、ACR、Docker Hub)的優劣,以及各種部署方式的適用場景。
深入比較 Serverless 與傳統伺服器架構,涵蓋成本模型、Cold Start、適用場景與混合部署策略。
從 jQuery 到 React、從 Callback 到 async/await、從 REST 到 GraphQL — 每一代技術的誕生都是為了解決上一代的痛點。理解這些「為什麼」,才能做出正確的技術選型。
Terminal User Interface (TUI) 的設計規範與一致性框架,涵蓋色彩系統、互動模式、佈局原則與現代 TUI 框架的最佳實踐。
本文深入探討 Git Merge 和 Git Rebase 的基本概念、優缺點、應用場景及其在團隊協作中的影響,幫助開發者更好地管理分支和版本控制。
本文介紹 GitHub Flow 的基本概念、流程及其在實際專案中的應用,幫助開發者了解如何使用簡化的分支管理策略提升團隊協作效率。
本文介紹 GitLab Flow 的基本概念、流程及其在實際專案中的應用,幫助開發者了解如何使用靈活的分支管理策略提升團隊協作效率。
以 Docker 作為標準化 Runtime,搭配 Portainer 管理容器與基礎部署流程。
建立 Harbor 私有 Container Registry,統一映像檔管理、版本追蹤與安全掃描。
建立 PostgreSQL 單節點部署基線,涵蓋連線池、備份還原、升級策略與效能調校。
以 Prometheus + Grafana 建立指標收集與儀表板,搭配 OpenTelemetry 擴展可觀測性。
建立告警分級策略、通知路由與 ChatOps 整合,讓對的人在對的時間收到對的告警。
建立 API Gateway 統一入口,處理路由、認證、限流與版本管理。
為什麼需要多環境拆分、每個環境的用途與設計原則、環境之間的資源隔離與部署流程。
多台機器的監控架構、Service Discovery 機制、Uptime 健康檢查、以及 Prometheus Federation 的實務設定。
GitLab CI/CD 的實戰模板集合,涵蓋 Node.js、Python、Docker 專案的完整 pipeline 設定與部署自動化。
Alertmanager 整合各平台 Webhook 的實戰模板,包含 Slack、Discord、Line Notify 和 PagerDuty 的完整設定。
Container Image 和應用依賴套件的安全掃描策略,涵蓋 Trivy、Snyk、GitLab SAST/DAST 的實務整合。
深入探討 Secrets 的安全管理方式與 TLS 憑證的生命週期管理,涵蓋 HashiCorp Vault、Let's Encrypt 自動續期與 cert-manager。
完整的備份策略設計與災難復原計畫,涵蓋 3-2-1 原則、RTO/RPO 定義、資料庫備份、災難演練流程。
Infrastructure as Code 的核心概念與 Terraform 實務操作,搭配 GitOps 流程實現基礎設施的版本控管與自動化部署。
從最基礎的試算表到 Vector DB,每一步都在回答「上一個為什麼不夠用了」,建立資料庫選型的完整認知。
PostgreSQL 的進階功能,涵蓋 Full-Text Search、GIN/GiST 索引、JSONB 查詢、效能調校與全站搜尋實作。
Elasticsearch 作為應用搜尋引擎的架構設計、Mapping 規劃、查詢調校與效能優化。
應用安全的完整視角,從 OWASP Top 10 到 AI 安全風險,貫穿 Infra、Application、AI 三個層面的安全收斂。
四套即用的 Docker Compose 模板:Web App、監控、日誌、開發環境,附最佳實踐指南。
從 Docker Compose 過渡到 Kubernetes 的概念指南:核心概念、基本清單範本、生態工具與選型建議。
系統規劃的正規方法論,涵蓋需求收集、技術選型、架構設計、容量規劃、時程評估與上線檢查清單。
測試策略的分層設計,涵蓋單元測試、整合測試、E2E 測試與壓力測試的適用場景、工具選擇與最佳實踐。
RESTful API 設計的最佳實踐,涵蓋 URL 命名、HTTP 方法、狀態碼、版本管理、JWT/OAuth 認證與 OpenAPI 文件。
事故管理的完整流程,涵蓋 Runbook 撰寫規範、On-call 輪值、事故處理 SOP 與 Post-mortem 模板。
定義什麼才算是「完整好用的 Proto」,涵蓋 10 個面向的完整性檢查、架構邊界(Proto vs Infra)、Per-Track 標準(B2E / F2E / App)、Gap Analysis 方法論、以及從單一語言延伸到多語言的策略。
Monorepo 和 Multirepo 的優劣比較,為什麼有些團隊從 Monorepo 回到小專案控管,以及如何選擇適合你的版本庫策略。
從產品視角的 Release 流程規範,涵蓋 Feature Freeze、QA 驗證、Staging 驗收到 Production 發布的完整方法論。
從傳統 IT 部門的角色分工,到 AI 時代個人能力邊界的重新定義。不是角色消失,而是理解全貌後的能力躍遷。
TDD、BDD、SDD 不只是測試方法,而是三種不同的「用什麼來定義正確」的思維方式。理解它們的哲學差異,比會寫測試更重要。
SA 不只是「畫圖的人」,而是把模糊需求轉化為可實作結構的翻譯者。理解 SA 的思維方式,讓你在寫 code 之前就問對問題。
UML 不是為了畫漂亮的圖,而是為了在寫 code 之前把想法具象化。9 種圖各有適用場景,知道什麼時候該畫什麼比會畫更重要。
技術債不是壞事,它是一種有意識的借貸。問題不在於「有沒有技術債」,而在於「你知不知道自己借了多少、利息多高、什麼時候該還」。
工程不是追求完美,而是在限制條件下做出最好的取捨。真正的高手不是技術最強的人,而是做判斷最準的人。
接手一個陌生專案時,不要從頭開始讀 code。先建立全景,再深入細節。搭配 AI 可以把兩週的理解時間壓縮到三天。
資安的核心不是工具或技術,而是一種思維方式——永遠假設系統會被攻擊,然後問自己:最壞的情況是什麼?我能承受嗎?
紅隊教你用攻擊者的眼光看系統,藍隊教你建立偵測與回應的能力。真正的價值不是學會攻擊,而是培養「如果我要破壞這個系統,我會怎麼做」的思維。
XSS、CSRF、SQL Injection、SSRF 不只是名詞,而是每天都在發生的攻擊。理解它們的原理,才能在寫 code 時自然地防禦。
安全不是開發完成後的審查,而是從需求階段就開始的持續實踐。SDL 的核心思維是讓安全成為開發流程的一部分,而不是額外的負擔。
本文深入介紹 Git 的進階指令,涵蓋分支管理、合併衝突解決、版本回退等操作,幫助開發者更高效地掌握版本控制技巧,提升團隊協作效率。
本篇文章介紹如何通過 Hexo 的進階設定提升部落格的 SEO 效能,包含行銷技巧、404 頁面優化、簡短網址使用、圖片優化等行銷技術。
深入剖析 Observer 模式:從理論到實戰,學習如何讓你的系統擁有超強的即時反應能力
深入探討 Decorator 模式:如何靈活地為物件添加新功能,提升程式碼的彈性與可擴展性
Template Method 模式先定義流程骨架,再讓子類別覆寫步驟細節。
Chain of Responsibility 模式把請求沿處理鏈傳遞,直到有人處理。
Abstract Factory 模式提供一致介面來建立一組相容的產品家族。
Hexo 基本設定指南 這份指南將帶您了解如何在本機環境中安裝和設定 Hexo,以便開始建立您的靜態部落格網站。本篇文章適合初學者,也包含一些實用的指令與維護方式。 Hexo 的優勢 在深入學習之前,讓我們先了解 Hexo 的幾個主要優勢: 快速與高效:Hexo 使用靜態檔案,能夠快速生成並部署網站,運行時無需伺服器處理請求,速度快且安全。 靈活性強:支援高度自定義的主題和插件,讓您能打造出符合自己需求的部落格。 社群活躍:擁有豐富的主題和插件,社群資源豐富,可以輕鬆擴展網站功能。 適合 SEO:靜態網站天然適合搜尋引擎收錄,結合 Hexo 的 SEO 插件,能進一步提升網站可見性。 總覽 ...
為什麼 Jekyll 需要 Ruby? 你可能會問:我只是想架個靜態網站,為什麼還要裝 Ruby? 因為 Jekyll 本身就是用 Ruby 寫的。它是 Ruby 生態系裡最有名的靜態網站產生器(Static Site Generator),GitHub Pages 也是靠 Jekyll 驅動的。所以要用 Jekyll,第一步就是把 Ruby 環境搞定。 Step 1:安裝 Ruby macOS 使用者 macOS 其實有內建 Ruby,但強烈建議不要用系統自帶的 Ruby。為什麼?因為系統 Ruby 的權限受到限制,你在安裝 gem 的時候常常會遇到 Permission denied 的...
以下是設定 Jekyll /posts/ 頁面內容的步驟: 創建 posts 頁面: 在 _pages 目錄中創建一個 posts.md 文件,並添加以下內容: --- layout: page title: "所有文章" permalink: /posts/ --- <div class="posts"> <h1>{{ page.title }}</h1> <ul class="post-list"> {% for post in site.posts %} <li> &...
以下是設定 Jekyll 首頁內容的步驟: 修改 _config.yml: 確保您的 _config.yml 中有以下設置: paginate: 5 paginate_path: "/page:num/" 創建首頁模板: 在 _layouts 目錄中創建一個 home.html 文件,並添加以下內容: --- layout: default --- <div class="home"> <h1 class="page-heading">{{ page.title | escape }}</h1> ...
以下是設定 Jekyll 分類和 Tags 頁面內容的步驟: 創建分類頁面: 在 _pages 目錄中創建一個 categories.md 文件,並添加以下內容: --- layout: page title: "分類" permalink: /categories/ --- <div class="categories"> <h1>{{ page.title }}</h1> <ul class="category-list"> {% for category in site.cate...
前置條件 在開始之前,請先確認你的 Ruby 環境已經設定好了(可以參考第一篇 Ruby 環境設定)。跑一下 ruby -v 和 gem -v,確認都有正常輸出就可以繼續。 Step 1:安裝 Jekyll 和 Bundler gem install jekyll bundler 這會把 Jekyll 和 Bundler 兩個 gem 一起裝起來。安裝完成後,可以確認一下版本: jekyll -v # 例如 jekyll 4.3.x Step 2:建立新的 Jekyll 站點 jekyll new myblog cd myblog jekyll new 會幫你產生一個完整的起始專案,裡面包含...
OAuth 2.0 是一個開放標準的授權框架,允許第三方應用程式在使用者授權下存取其資源,而不需要暴露使用者的帳號密碼。常見應用包括「使用 Google 登入」、「使用 Facebook 登入」等。
WebSocket 是一種在單一 TCP 連線上進行全雙工通訊的協定,讓伺服器可以主動推送資料給客戶端,適用於即時聊天、股票行情、遊戲等需要即時更新的應用場景。
介紹一般公司常見的 Git 分支策略與開發流程,包含 branch 設計、Commit Lint 工具、Changelog 自動生成等實務做法。
後端架構設計的最小可行產品原則,涵蓋 Event、Pipeline、Queue、Exception Handler 等核心概念。
實際上後端程式基於 model2 <del>MVC</del> 結構建構專案以後,所有跟前端有關的東西理論上都集中在 view 層相關的資料夾,早期所有人都會後端語言,但是要額外花時間熟悉 html/css/js 需要的成本太高,因為會壓縮到開發後端需求的時間,後來才分出部分的人力專職在設計前端程式...
介紹如何在本機建置 Laravel 開發環境,從確認 Composer 安裝到建立專案的完整流程。
介紹 TypeScript 中最基本的原始型別:string、number、boolean,以及如何正確使用型別註解。
探討為什麼現代前端開發越來越多專案採用 TypeScript,以及它解決了 JavaScript 的哪些問題。
**Markdown是一種輕量級的「標記語言」**  Markdown是一種可以使用普通文字編輯器編寫的標記語言,通過簡單的標記語法,它可以使普通文字內容...
瀏覽器是一個複雜的軟體,包含多個處理程序和執行緒。了解瀏覽器的內部架構,包括渲染引擎、JavaScript 引擎、事件循環等,對於前端效能優化至關重要。
當你在瀏覽器輸入網址按下 Enter,背後經歷了 DNS 解析、TCP 連線、HTTP 請求、伺服器處理、回應渲染等複雜過程。了解這個流程對於前端效能優化和問題排查非常重要。
前後端之間透過各種機制傳遞資料,包括 Cookie、Session、Token、LocalStorage、SessionStorage 等。了解它們的差異和適用場景,對於實作認證授權和狀態管理至關重要。
BOM(Browser Object Model)是瀏覽器提供的 JavaScript API,讓我們可以操作瀏覽器視窗、導航、歷史紀錄、螢幕資訊等,是網頁與瀏覽器互動的橋樑。
容器化是一種將應用程式及其依賴項打包在一起的技術,使應用程式可以在任何環境中一致地運行。Docker 是最流行的容器化平台,而 Kubernetes 則用於容器編排。
CRUD 是 Create、Read、Update、Delete 的縮寫,代表對資料的四種基本操作。這是資料庫和 API 設計的核心概念,幾乎所有的應用程式都圍繞著這四種操作建構。
DOM(Document Object Model)是 HTML 和 XML 文件的程式介面,將文件表示為節點樹結構,讓 JavaScript 可以動態存取和操作網頁內容、結構和樣式。
前端與 API 互動的方式從早期的 XMLHttpRequest 演進到現代的 Fetch API、Axios,搭配 Promise、async/await 等非同步處理機制。了解這些工具的特性和使用時機,是前端開發的基本功。
前後端對接架構從早期的 Server-Side Rendering 發展到現代的 SPA、SSR、ISR 等模式。了解各種架構的優缺點,有助於根據專案需求選擇最適合的方案。
現代網頁由 HTML、CSS、JavaScript 三大核心技術組成,再加上各種資源檔案(圖片、字型、影片)和元資料。了解網頁的組成結構,是前端開發的基礎。
MVC(Model-View-Controller)是一種軟體架構模式,將應用程式分為三個核心元件:資料模型、使用者介面和控制邏輯,實現關注點分離,提高程式碼的可維護性和可測試性。
React Hooks 是 React 16.8 引入的特性,讓函式元件可以使用狀態和生命週期等功能。常用的 Hooks 包括 useState、useEffect、useContext、useRef、useMemo、useCallback 等。
什麼是 RESTful API?了解 REST 架構風格如何透過 HTTP Method 統一 API 設計規範。
Swagger(現稱 OpenAPI)是業界標準的 API 文件規範,提供互動式文件、程式碼生成和測試功能。透過 Swagger UI 和 Swagger Editor,團隊可以更有效地設計、開發和維護 API。
現代前端開發使用打包工具(如 Webpack、Vite)來處理模組化、程式碼轉換、資源優化等任務。了解打包工具解決的問題,有助於理解現代前端工程化的核心概念。
Getting started with Markdown ============================= - [Titles](#titles)