iT邦幫忙

鐵人檔案

2026 iThome 鐵人賽
回列表
Software Development

手刻 AI Agent!大一新生的 Python 實戰筆記 系列

身為剛升大一的新鮮人,我想趁著暑假扎實磨練 Python 能力,因此決定挑戰從零打造屬於自己的 AI Agent!不依賴現成框架與 vibe-coding,每一行程式碼都親手實作推敲。

以本地 ollama 為核心,一步步做出 Agent 的框架,到核心的「工具調用」(讀寫檔案、執行終端、瀏覽網頁),再逐步邁向 System Prompt 注入、上下文記憶管理等等的應用。

無論你是 Python 新手,還是好奇 Agent 內部運作原理的開發者,都歡迎和我一起動手打造專屬的智慧助手!

參賽天數 27 天 | 共 27 篇文章 | 2 人訂閱 訂閱系列文 RSS系列文
DAY 11

Day 11 - 漂亮的 CLI 介面 - 渲染 - 上

回顧一下負責渲染的 renderers.py 要負責些什麼: 分隔線渲染。 介面初始化渲染。 單行流式渲染(推理和工具參數句)。 推理總結渲染。 工具調用結果...

2026-09-23 ‧ 由 leematthewcat 分享
DAY 12

Day 12 - 漂亮的 CLI 介面 - 渲染 - 下

上一篇,說到要來做**「比較複雜的」模型回答的渲染**,那為什麼會複雜呢?之前有提過關於 Live 渲染會和終端的捲動而出現重複印出的問題,而推理的部分,因為我...

2026-09-24 ‧ 由 leematthewcat 分享
DAY 13

Day 13 - ollama 進程的管理

之前在 Day 1 時不知道各位有沒有遇到一個問題,沒法調用模型,出現 httpx.ConnectError: [Errno 61] Connection re...

2026-09-25 ‧ 由 leematthewcat 分享
DAY 14

Day 14 - 主程式

哇!我已經更新了兩個禮拜了,為我自己鼓掌一下哈哈。在先前的 13 篇,我們陸續完成了**「模型提供」、「工具調用」、「模型調度」、「system prompt...

2026-09-26 ‧ 由 leematthewcat 分享
DAY 15

Day 15 - 輸入指令來改東西

claude code 或 codex 等 Agent 的 CLI 介面中,有許多的指令功能,例如 /exit 可以退出程式,/help 可以查看可用指令說明等...

2026-09-27 ‧ 由 leematthewcat 分享
DAY 16

Day 16 - 工作目錄的選擇

當程序首次被啟動時,main.py 調用 get_system_prompt() 時需要有 path 參數,也就是模型的「工作目錄」,來限制在區域內做事。而先前...

2026-09-28 ‧ 由 leematthewcat 分享
DAY 17

Day 17 - 設定檔 - 上

每個軟體甚至於系統,都會有「設定」這個功能。設定內的每個項目,一開始會有「預設」的設定值,如果沒有額外改動,就依照這個預設值去運作,而當然,也會有接口可以去更改...

2026-09-29 ‧ 由 leematthewcat 分享
DAY 18

Day 18 - 設定檔 - 下

上一篇,我們把設定檔的格式以及存取部分完成了,而今天,我們要正式地來使用這些設定項目,也就是把它給接入我們的 Agent 系統裡,最後,我們還要做一個有趣的應用...

2026-09-30 ‧ 由 leematthewcat 分享
DAY 19

Day 19 - 設定檔 - 用指令來更改設定 - 上

設定檔的格式在前面兩天的努力下已經完成了,但是,現在有辦法修改設定嗎?當然沒辦法(除非手動找到檔案去改),所以今天要來做一個指令來去更改設定檔。 傳入設定檔參...

2026-10-01 ‧ 由 leematthewcat 分享
DAY 20

Day 20 - 設定檔 - 用指令來更改設定 - 下

轉眼間已經來到 Day 20 了,也來到了設定檔的最後一篇,馬上設定的功能就可以完善了,我們繼續來處理更改設定的指令 _change_config()! 回顧一...

2026-10-02 ‧ 由 leematthewcat 分享