<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>MyApollo</title><link>https://myapollo.com.tw/</link><description>MyApollo 是專注於程式主題的部落格，分享 Python、後端架構、資料工程、AI 與開發工具的實戰教學與系列文章，陪你從小工走向大師。</description><generator>Hugo</generator><language>zh-TW</language><copyright>Copyright (c) 2020-2026 MyApollo</copyright><lastBuildDate>Wed, 04 Jun 2025 23:47:43 +0800</lastBuildDate><atom:link href="https://myapollo.com.tw/index.xml" rel="self" type="application/rss+xml"/><item><title>從 Python 3.14 起，在 finally 區塊中使用 return、break 或 continue 將會觸發警告喔！</title><link>https://myapollo.com.tw/post/python-3.14-disallow-return-break-continue-that-exit-a-finally-block/</link><pubDate>Wed, 04 Jun 2025 23:47:43 +0800</pubDate><guid>https://myapollo.com.tw/post/python-3.14-disallow-return-break-continue-that-exit-a-finally-block/</guid><description>&lt;p&gt;對還不太熟悉 &lt;code&gt;try...except...finally&lt;/code&gt; 的朋友來說，看到下面這段程式碼可能會有些困惑：&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;def div(n, m):&#10; try:&#10; return n / m&#10; finally:&#10; return 0&#10;&lt;/code&gt;&lt;/pre&gt;&#10;&lt;p&gt;請問：&lt;code&gt;div(1, 2)&lt;/code&gt; 的回傳值會是什麼？&lt;/p&gt;&#10;&lt;p&gt;答案是：&lt;strong&gt;0&lt;/strong&gt;&lt;/p&gt;&#10;&lt;p&gt;這是因為 &lt;code&gt;finally&lt;/code&gt; 區塊的特性是「無論如何都會被執行」，所以即使 &lt;code&gt;try&lt;/code&gt; 區塊裡的 &lt;code&gt;return n / m&lt;/code&gt; 原本會回傳 0.5，最終仍被 &lt;code&gt;finally&lt;/code&gt; 的 &lt;code&gt;return 0&lt;/code&gt; 覆蓋掉。&lt;/p&gt;</description></item><item><title>你可能忽略的 Python 功能：Ellipsis (...)</title><link>https://myapollo.com.tw/blog/python-ellipsis/</link><pubDate>Wed, 09 Apr 2025 00:06:41 +0800</pubDate><guid>https://myapollo.com.tw/blog/python-ellipsis/</guid><category>Python 程式設計 - 初階</category><description>&lt;p&gt;即使寫了 Python 如此多年，我仍未發覺 &lt;code&gt;...&lt;/code&gt; （你沒看錯，三個點）在 Python 也是一個 object，而且它有些不為人知的妙用，可以提昇程式碼的簡潔性或可讀性，如果你跟我一樣不知道 &lt;code&gt;...&lt;/code&gt; 的用法，歡迎閱讀此文！&lt;/p&gt;</description></item><item><title>從開發者角度理解 Model Context Protocol (MCP)</title><link>https://myapollo.com.tw/blog/model-context-protocol-explanation-with-examples/</link><pubDate>Mon, 31 Mar 2025 00:13:15 +0800</pubDate><guid>https://myapollo.com.tw/blog/model-context-protocol-explanation-with-examples/</guid><description>&lt;p&gt;&lt;a href="https://modelcontextprotocol.io/introduction"&gt;Model Context Protocol（簡稱 MCP）&lt;/a&gt; 是一項由 Anthropic 於 2024 年 11 月 25 日開源的協定。&lt;/p&gt;&#10;&lt;p&gt;MCP 旨在提升 AI 助手（assistants）與各種系統的整合能力，使其能夠存取外部資料、商業工具、開發環境等，從而提供更精確且具相關性的回應。&lt;/p&gt;&#10;&lt;p&gt;目前，許多 AI 工具與 IDE 已開始支援 MCP，並與符合 MCP 規格的工具進行整合，讓 AI 助手能夠更貼近實際應用情境並執行各類任務。例如，&lt;a href="https://docs.cursor.com/context/model-context-protocol"&gt;Cursor&lt;/a&gt;、&lt;a href="https://github.com/cline/cline"&gt;Cline&lt;/a&gt;、&lt;a href="https://github.com/mannaandpoem/OpenManus"&gt;OpenManus&lt;/a&gt; 等工具皆可透過 MCP 進行擴充，使 AI 助手變得更加強大。&lt;/p&gt;&#10;&lt;p&gt;未來隨著 AI 技術的發展，MCP 勢必將在 AI 應用開發領域佔據一席之地。&lt;/p&gt;&#10;&lt;p&gt;因此本文將深入淺出地介紹 MCP 的核心概念，幫助大家理解 MCP 的運作方式，並能透過 Python 簡單打造專屬的 MCP 工具。&lt;/p&gt;</description></item><item><title>好文推薦 — My LLM codegen workflow atm</title><link>https://myapollo.com.tw/post/my-llm-codegen-workflow-atm/</link><pubDate>Sat, 01 Mar 2025 00:41:45 +0800</pubDate><guid>https://myapollo.com.tw/post/my-llm-codegen-workflow-atm/</guid><description>&lt;p&gt;推薦 1 篇關於如何與 LLM 開發協作的好文章 — “&lt;a href="https://harper.blog/2025/02/16/my-llm-codegen-workflow-atm/"&gt;My LLM codegen workflow atm&lt;/a&gt;”&lt;/p&gt;&#10;&lt;p&gt;隨著 LLM 不斷地演進，以及它所帶來的效率提升，我個人認為未來的開發團隊會朝短小精悍的方向前進，畢竟以往可能需要好幾個人才能做到的事，未來可能僅需一兩位精通各種 AI 工具開發者就能夠迅速在短時間內完成，換句話說，未來我們可能與 LLM 對話的頻率會比起同事還高⋯⋯。&lt;/p&gt;</description></item><item><title>AI 時代的軟體工程師面試觀察：效率、邏輯與開發能力的新標準</title><link>https://myapollo.com.tw/post/ai-era-interview-insights/</link><pubDate>Sat, 15 Feb 2025 11:54:10 +0800</pubDate><guid>https://myapollo.com.tw/post/ai-era-interview-insights/</guid><description>&lt;p&gt;這幾天在跑線上面試馬拉松，過程中有些感觸，整理幾點心得做個反思。&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;strong&gt;具備運用 AI 工具迅速產出 Prototype 的能力，是主管和老闆非常重視的技能&lt;/strong&gt;&lt;/p&gt;&#10;&lt;p&gt;這不僅能顯著提升你的面試表現，甚至有可能幫助你推進面試流程。對於 Junior Engineer 來說，這種能力能夠在一定程度上彌補經驗上的劣勢。&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;strong&gt;面試標準的調整：允許使用 AI 輔助工具，關注 Prompting 精準度與理解能力&lt;/strong&gt;&lt;/p&gt;&#10;&lt;p&gt;在面試過程中，我們開始允許候選人使用 Cursor、Copilot 等 AI 輔助工具。&lt;/p&gt;&#10;&lt;p&gt;這樣可以觀察候選人對 Prompting 的熟練度，以及他們如何高效運用 AI 來解決問題。過去可能需要半小時才能完成的 Coding Challenge，現在最快 10 分鐘內就能完成。但相應地，我們會更注重候選人能否清楚闡述 AI 產生的變更以及其作用。這也更貼近現代的開發流程——請 AI 生成程式碼後，工程師需要審查（review）並視需求進行調整。&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;strong&gt;邏輯比語法更重要，著重問題解決能力&lt;/strong&gt;&lt;/p&gt;&#10;&lt;p&gt;即使某些 Coding Challenge 不允許使用 Cursor 或 Copilot，我們也不再過度關注候選人是否能夠記住並正確呼叫函式，而是更看重邏輯的正確性。候選人可以透過註解（comment）或虛擬碼（pseudo-code）來表達解決方案，然後與考官討論這個流程是否合理，並共同尋找潛在問題的解法。&lt;/p&gt;&#10;&lt;p&gt;p.s. 我們不考 LeetCode&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;strong&gt;掌握 AI 技術整合的候選人更具競爭力&lt;/strong&gt;&lt;/p&gt;&#10;&lt;p&gt;具備 AI 技術整合能力的候選人，例如熟悉各種 Prompting 技術（如 Chain of Thought、Meta Prompting 等）以及 AI 框架（如 LangChain、AutoGen、LlamaIndex 等），絕對更具優勢。當然，這類技能是否加分，仍取決於職位需求，但不可否認的是，這些技術在實際工作中也具有價值，能夠提升開發效率並拓展解決方案的可能性。&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;strong&gt;系統設計與高流量架構仍是 Senior Engineer 的優勢，但 AI 可幫助 Junior Engineer 迅速成長&lt;/strong&gt;&lt;/p&gt;&#10;&lt;p&gt;在基礎知識、系統設計、高流量系統架構等方面，擁有紮實學習經歷或實戰經驗的 Senior Engineer 依然具備明顯優勢，這些能力決定了工程師在產品化過程中的上限。畢竟，產品化後的問題千變萬化，許多情境仍超出 AI 的處理範圍，但毫無疑問的是，Junior Engineer 可以透過 AI 提升學習效率與知識範圍，縮短與 Senior Engineer 之間的差距。&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;strong&gt;英文能力依然是打破地域限制、拓展職涯選擇的關鍵&lt;/strong&gt;&lt;/p&gt;&#10;&lt;p&gt;精通英文不僅能讓你接觸到更多全球機會，也能幫助你找到更符合個人興趣的工作。&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;/ol&gt;</description></item><item><title>GitHub Copilot 新功能 — 新模型 | 更好的程式碼補齊 | Prompt File | Agent Mode</title><link>https://myapollo.com.tw/post/github-copilot-agent-mode/</link><pubDate>Tue, 11 Feb 2025 11:50:25 +0800</pubDate><guid>https://myapollo.com.tw/post/github-copilot-agent-mode/</guid><description>&lt;p&gt;​&#10;GitHub 近日針對 Copilot 更新不少新功能，頗有與 Cursor 互別苗頭的意味。&#10;​&lt;/p&gt;&#10;&lt;p&gt;語言模型的部分，支援 OpenAI 的 GPT-4o, o1, o3-mini, Anthropic 的 Claude 3.5 Sonnet 等語言模型之外，也加入 Google 的 Gemini 2.0 Flash。&lt;/p&gt;&#10;&lt;p&gt;​&#10;而自動補齊程式碼的部分也做得更好了，能夠針對我們所做的變更提出更多的補齊建議，此外也支援圖片形式的 prompting，GitHub Copilot 甚至示範截圖使用者介面並直接在圖片標記期望的結果，GitHub Copilot 就能將程式碼修正成開發者期望的結果。&lt;/p&gt;</description></item><item><title>Marimo — 不可忽視的下一代 Python Notebook</title><link>https://myapollo.com.tw/post/marimo-the-next-gen-python-notebook/</link><pubDate>Thu, 23 Jan 2025 00:08:25 +0800</pubDate><guid>https://myapollo.com.tw/post/marimo-the-next-gen-python-notebook/</guid><description>&lt;p&gt;儘管 Jupyter Notebook 已經是 Python 社群廣為人知的互動式開發工具，但我覺得大家也可以試試看 &lt;a href="https://marimo.io/"&gt;Marimo&lt;/a&gt;。&lt;/p&gt;&#10;&lt;p&gt;p.s. Marimo 是毬藻的意思&lt;/p&gt;&#10;&lt;p&gt;Marimo 是開源的新一代 Python Notebook，有著跟 Jupyter Notebook 極為相似的功能之外，還有以下特點：&lt;/p&gt;</description></item><item><title>白話文解說 Levenshtein Distance（萊文斯坦距離）</title><link>https://myapollo.com.tw/blog/levenshtein-distance-explanation/</link><pubDate>Sat, 18 Jan 2025 11:15:56 +0800</pubDate><guid>https://myapollo.com.tw/blog/levenshtein-distance-explanation/</guid><category>演算法</category><description>&lt;p&gt;不知道你是否曾好奇，像 Google 或 Bing 這類搜尋引擎，是如何辨識你輸入的錯別字？例如，當你輸入 &amp;ldquo;seperate&amp;rdquo;（錯誤拼字）時，搜尋引擎能夠自動修正為正確的 &amp;ldquo;separate&amp;rdquo;，並以正確拼字進行搜尋和呈現結果。&lt;/p&gt;&#10;&lt;p&gt;本文將介紹一種演算法 — Levenshtein Distance（或稱萊文斯坦距離）！透過這個演算法，我們可以了解搜尋引擎如何尋找相似的單字，而且這個演算法也被知名的 &lt;a href="https://www.elastic.co/elasticsearch"&gt;Elasticsearch&lt;/a&gt; 所使用，相當值得認識！&lt;/p&gt;&#10;&lt;p&gt;接下來，本文將從編輯距離(edit distance)的概念出發，逐步帶你深入了解 Levenshtein Distance。&lt;/p&gt;</description></item><item><title>好文分享 — 1 個空盪盪的 S3 bucket 如何讓你的 AWS 帳單爆表</title><link>https://myapollo.com.tw/post/how-an-empty-s3-bucket-can-make-your-aws-bill/</link><pubDate>Sun, 29 Dec 2024 23:56:03 +0800</pubDate><guid>https://myapollo.com.tw/post/how-an-empty-s3-bucket-can-make-your-aws-bill/</guid><description>&lt;p&gt;S3 對於多數後端工程師/資料工程師是耳熟能詳的服務，但你有想過一個空的 S3 bucket 也可能讓我們的 AWS 帳單爆表嗎？&lt;/p&gt;&#10;&lt;p&gt;“&lt;a href="https://medium.com/@maciej.pocwierz/how-an-empty-s3-bucket-can-make-your-aws-bill-explode-934a383cb8b1"&gt;How an empty S3 bucket can make your AWS bill explode&lt;/a&gt;” 一文詳述作者發現空的 S3 bucket 也能讓 AWS 帳單爆表的過程，以及作者從中學到的教訓（幸好最後 AWS 以特例讓他免付龐大費用），蠻值得用一點點時間閱讀學點經驗。&lt;/p&gt;</description></item><item><title>ChartDB — 開源的資料庫圖表編輯器</title><link>https://myapollo.com.tw/post/chartdb/</link><pubDate>Sat, 16 Nov 2024 16:57:44 +0800</pubDate><guid>https://myapollo.com.tw/post/chartdb/</guid><description>&lt;p&gt;&lt;a href="https://github.com/chartdb/chartdb"&gt;ChartDB&lt;/a&gt; 是一款開放原始碼的資料庫圖表編輯器，其最大特色在於無需提供資料庫帳號密碼，即可視覺化所有表格結構。它的做法其實是請使用者執行一段 SQL 指令，以匯出表格的結構、索引等資料，並讓使用者將執行結果貼到 ChartDB 以建立相關圖表，藉此避免使用相關服務導致的資料庫帳號密碼外洩的風險，非常適合重視資訊安全的開發團隊使用。&lt;/p&gt;</description></item><item><title>使用 Groq 加速 Llama 語言模型回應速度</title><link>https://myapollo.com.tw/post/groq/</link><pubDate>Tue, 12 Nov 2024 23:57:55 +0800</pubDate><guid>https://myapollo.com.tw/post/groq/</guid><description>&lt;p&gt;最近在 localhost 使用 Llama 3.1 8B 版本的語言模型，總覺得回應速度還是有些慢，於是開始找解決方案，沒想到很快就發現了 Groq，搭配 LangChain 的 ChatGroq，瞬間解決了速度瓶頸！&lt;/p&gt;</description></item><item><title>懶得寫 Pull Request 的說明嗎？試試 openai-pr-description 這套 GitHub Action 吧！</title><link>https://myapollo.com.tw/post/openai-pr-description/</link><pubDate>Wed, 06 Nov 2024 23:41:19 +0800</pubDate><guid>https://myapollo.com.tw/post/openai-pr-description/</guid><description>&lt;p&gt;好好寫 Pull Request 說明大概是每個工程師覺得需要花點時間的工作，不過現在其實已經可以借助語言模型的力量幫忙產生 Pull Request 說明囉！（真的超省時間！）&lt;/p&gt;&#10;&lt;p&gt;雖然 GitHub Copilot 已經支援用 AI 產生 Pull Request 的說明，但如果你沒有訂閱 GitHub Copilot，卻有訂閱 OpenAI 的話，就可以試試 &lt;a href="https://github.com/platisd/openai-pr-description"&gt;platisd/openai-pr-description&lt;/a&gt; 這套 GitHub Action，只要在 GitHub Actions 中加入以下設定：&lt;/p&gt;</description></item><item><title>繼承擴充 Dockerfile 的另一種方法 — Dockerfile+</title><link>https://myapollo.com.tw/blog/docker-include-plus/</link><pubDate>Sat, 02 Nov 2024 23:23:35 +0800</pubDate><guid>https://myapollo.com.tw/blog/docker-include-plus/</guid><description>&lt;p&gt;在軟體開發實務中，經常需要為不同環境撰寫不同的 Dockerfile，例如，本地開發環境通常需要啟用自動偵測程式碼變動並自動重新載入的功能 (通常稱為 reload 功能)，而生產環境則不需要這類自動重新載入的機制。&lt;/p&gt;&#10;&lt;p&gt;有些人可能會使用 multi-stage build 的方式，從共用的 base image 繼承並擴充。不過，本文將介紹另一種方法，使用 &lt;a href="https://github.com/edrevo/dockerfile-plus"&gt;Dockerfile+&lt;/a&gt;做到 Dockerfile 的繼承與擴充。&lt;/p&gt;</description></item><item><title>原來 GitHub 的 markdown 語法有 Alerts 可以使用</title><link>https://myapollo.com.tw/post/github-markdown-alerts-extension/</link><pubDate>Wed, 23 Oct 2024 23:45:49 +0800</pubDate><guid>https://myapollo.com.tw/post/github-markdown-alerts-extension/</guid><description>&lt;p&gt;剛好看到人家在聊 GitHub 的 markdown 有支援 Alerts，如下圖。&lt;/p&gt;&#10;&lt;p&gt;&lt;img src="https://r.anikit.app/i/yM8Kwk9gxX" alt="alerts.png" fetchpriority="high" decoding="async"&gt;&#10;&lt;/p&gt;&#10;&lt;p&gt;Alerts 是基於 blockquote 語法的擴充，有 NOTE, TIP, IMPORTANT, WARNING, CAUTION 五種，使用也很簡單，範例如下：&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;&amp;gt; [!NOTE]&#10;&amp;gt; Useful information that users should know, even when skimming content.&#10;&#10;&amp;gt; [!TIP]&#10;&amp;gt; Helpful advice for doing things better or more easily.&#10;&#10;&amp;gt; [!IMPORTANT]&#10;&amp;gt; Key information users need to know to achieve their goal.&#10;&#10;&amp;gt; [!WARNING]&#10;&amp;gt; Urgent info that needs immediate user attention to avoid problems.&#10;&#10;&amp;gt; [!CAUTION]&#10;&amp;gt; Advises about risks or negative outcomes of certain actions.&#10;&lt;/code&gt;&lt;/pre&gt;&#10;&lt;p&gt;以後寫出漂亮文件又有新花招可以使用啦！&lt;/p&gt;</description></item><item><title>後端工程師面試考什麼 — 從 SSO (Single Sign-On) 到 SAML 2.0</title><link>https://myapollo.com.tw/blog/backend-sso-saml/</link><pubDate>Sun, 06 Oct 2024 11:20:00 +0800</pubDate><guid>https://myapollo.com.tw/blog/backend-sso-saml/</guid><category>後端面試準備</category><description>&lt;p&gt;談到登入認證時，SSO 和 OAuth 等技術名詞經常出現，這些名詞不僅可能在面試中聊到，它們也常是日常工作的一部分。&lt;/p&gt;&#10;&lt;p&gt;本文將從 SSO (Single Sign-On) 開始，深入探討 SAML (Security Assertion Markup Language) 如何實現 SSO，並最後釐清 SSO 與 OAuth 之間的差異。&lt;/p&gt;</description></item><item><title>好文分享 — 讓 AI 使用台灣 IT 用語的探索之旅</title><link>https://myapollo.com.tw/post/prompt-for-zh-tw-users/</link><pubDate>Thu, 26 Sep 2024 23:37:12 +0800</pubDate><guid>https://myapollo.com.tw/post/prompt-for-zh-tw-users/</guid><description>&lt;p&gt;如果你希望 AI 生成貼近台灣繁體中文的內容的話，可以閱讀&lt;a href="https://erikyin.notion.site/AI-IT-10dba6521f1780d09b81e28d77ffcf71"&gt;讓 AI 使用台灣 IT 用語的探索之旅&lt;/a&gt;！&lt;/p&gt;&#10;&lt;p&gt;作者提供的 prompt 很簡單（但也花了不少心力研究）：&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;Use Traditional Chinese (Taiwan) IT terms: 程式碼, 資料庫, 建立, 新增, 設定, not mainland terms like 代碼, 數據庫, 創建, 添加, 設置.&#10;&lt;/code&gt;&lt;/pre&gt;&#10;&lt;p&gt;p.s. 這段 prompt 應該也可以針對你的職業或習慣改成合適的 prompt！&lt;/p&gt;</description></item><item><title>如何在 Google Colab 上執行 Ollama</title><link>https://myapollo.com.tw/blog/google-colab-ollama/</link><pubDate>Wed, 25 Sep 2024 16:26:37 +0800</pubDate><guid>https://myapollo.com.tw/blog/google-colab-ollama/</guid><description>&lt;p&gt;最近在研究 AutoGen 時有個奇想—「要是可以在 Google Colab 裝 Ollama 的話，不知道有多方便？」&lt;/p&gt;&#10;&lt;p&gt;想不到一查還真的有辦法可以在 Google Colab 執行 Ollama。&lt;/p&gt;&#10;&lt;p&gt;本文將分享如何在 Google Colab 上執行 Ollama 的詳細步驟。&lt;/p&gt;</description></item><item><title>使用 AutoGen 打造多 AI 工作流 — Sequential Chat 與 Nested Chat</title><link>https://myapollo.com.tw/blog/autogen-sequential-chat-nested-chat/</link><pubDate>Tue, 24 Sep 2024 16:08:28 +0800</pubDate><guid>https://myapollo.com.tw/blog/autogen-sequential-chat-nested-chat/</guid><category>AutoGen</category><description>&lt;p&gt;&lt;a href="https://myapollo.com.tw/blog/autogen-two-agent-chat-group-chat/"&gt;使用 AutoGen 打造多 AI 工作流 — Two-Agent Chat 與 Group Chat&lt;/a&gt; 一文中介紹 two-agent chat 與 group chat 兩種對話模式，本文將接續介紹剩下 2 種對話模式：&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Sequential Chats&lt;/li&gt;&#10;&lt;li&gt;Nested Chats&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;理解 AutoGen 的各種對話模式，將有助於處理較複雜的 workflow。&lt;/p&gt;&#10;&lt;p&gt;最後，在 Nested Chats 的程式碼範例中，我們將介紹如何使用 AutoGen 執行 Python 程式碼，並取得其執行結果與 agent 進行互動。&lt;/p&gt;</description></item><item><title>使用 AutoGen 打造多 AI 工作流 — Two-Agent Chat 與 Group Chat</title><link>https://myapollo.com.tw/blog/autogen-two-agent-chat-group-chat/</link><pubDate>Mon, 23 Sep 2024 11:32:01 +0800</pubDate><guid>https://myapollo.com.tw/blog/autogen-two-agent-chat-group-chat/</guid><category>AutoGen</category><description>&lt;p&gt;大家應該或多或少聽說過 &lt;a href="https://github.com/OpenBMB/ChatDev"&gt;ChatDev&lt;/a&gt;, &lt;a href="https://github.com/stitionai/devika"&gt;Devika&lt;/a&gt; 等 AI 專案， 這些 AI 專案的特點在於多個 AI 角色協同完成工作，能夠完成多樣化的任務，例如制定軟體規格、撰寫程式碼以及測試軟體等不同層面的任務。&lt;/p&gt;&#10;&lt;p&gt;如果單純只有使用 ChatGPT 的經驗，應該很難想像 AI 是如何處理如此複雜的功能，但如果將這些任務像人類分工一樣，交由專門的 AI 或模型負責的話，這一切就變得合理與易於理解。&lt;/p&gt;&#10;&lt;p&gt;本文將介紹如何使用 &lt;a href="https://microsoft.github.io/autogen/"&gt;AutoGen&lt;/a&gt; 打造多 AI 協同合作的工作流，讓大家能夠更加發揮 AI 的力量，打造更複雜的 AI 工作流程，解放 AI 在輔助日常工作的更多可能性。&lt;/p&gt;</description></item><item><title>開源專案推薦 — Page UI / Landing Page 元件庫</title><link>https://myapollo.com.tw/post/page-ui/</link><pubDate>Fri, 13 Sep 2024 14:50:09 +0800</pubDate><guid>https://myapollo.com.tw/post/page-ui/</guid><description>&lt;p&gt;打造美觀且引人注目的 Landing Page 是每個專案的關鍵之一。&lt;/p&gt;&#10;&lt;p&gt;然而，Landing Page 上的元件大多相似，如果有現成的元件庫可以使用，將能大幅節省開發時間。&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://pageui.shipixen.com/"&gt;Page UI&lt;/a&gt; 正是專為 Landing Page 打造的元件庫，它使用 &lt;a href="https://tailwindcss.com/"&gt;tailwindcss&lt;/a&gt; 和 &lt;a href="https://react.dev/"&gt;React&lt;/a&gt; 開發，非常適合 React 或 &lt;a href="https://nextjs.org/"&gt;Next.js&lt;/a&gt; 的專案。&lt;/p&gt;</description></item></channel></rss>