iT邦幫忙

2026 iThome 鐵人賽

0
Vibe Coding

凡人修 Agent 傳-我這一生如履薄冰,你說我的 Agent 能結嬰嗎?系列 第 31 篇

修道途中:法寶裝太多先瘦身,1.1 GB 到 300 MB,以及這 30 天 - Day 30

  • 分享至 

  • xImage
  •  

原始開發紀錄:Agent Build Log — Episode 018、Episode 035

這個系列改寫自我部落格上的 Agent Build Log,那是我每天邊做邊寫的開發紀錄。上面列的是這一篇對應的集數,想看當天的原始版本,點連結就能過去。

Agent Build Log Episode 035

最後一天,開始準備 ship 的版本。

1.1 GB

這次要認真決定:哪些功能一開始就包進 App,哪些拆成外掛,需要的時候再下載。

一開始開發的時候,我把 mobile acceptance 相關的功能直接包進 build 出來的 App 裡,包含 Xcode Build MCP 和 Appium。結果整個 App 一度大到 1.1 GB。

這些功能主要拿來做驗收,不是每個人都需要。所以我把驗收相關的功能拆出去,改成選配的外掛。拆完之後,App 大小降到大約 300 MB。需要的人再裝就好。

這個 App 要 ship 給誰

拆之前先講一件事:第一版要給誰用。

一開始我想把它做給 iOS 和 Android 開發者。除了基本的 coding agent 能力,我打算加各種客製化 tools,針對我工作上常用的 skills 特化。做 Acceptance 之前,我把第一版的目標使用者從「開發者」改成了「驗收者」。

在我現在的工作環境裡,負責驗收的人通常是 PM 或 QA。他們要確認一個需求是不是真的完成、某個 bug 是不是真的修好,以及這一版 App 的行為是否符合預期。這個過程裡,他們常常卡在兩件事上:怎麼把最新的 code build 起來,以及怎麼驗證這一版 App 真的有修好。PM 和 QA 也向我反映,他們希望縮短從拿到版本到完成驗收之間的時間。

如果我繼續把目標放在開發者身上,我的 Agent 會直接和 Codex、Claude App 這些產品競爭。它們本來就是為軟體開發特化的工具,理解 codebase、修改程式、執行指令、完成開發任務,我很難在第一版就正面競爭。「驗收需求」是另一個問題。就算 PM 或 QA 拿到了 Codex 或 Claude App,他們通常還是需要開發者先協助設定 repository、build environment、credentials、tools,以及測試流程。工具雖然存在,使用門檻並沒有真的消失。

所以第一版先把開發者已經準備好的環境和流程包起來,讓驗收者直接使用。驗收者不用先理解整個專案怎麼建置,也不用記住每一個 command。他們只要告訴 Agent:「幫我 build 最新版本。」「幫我確認這個 bug 是否修好。」「幫我按照 ticket 的條件驗證這個功能。」背後的 build、安裝、測試和驗證流程,Agent 負責。

Day 24 到 26 那一整路就是給他們的。ship 的時候,那一路變成外掛,要驗收的人再裝。

這 30 天

回頭看一遍。

第一章,一個 Agent、兩個介面。 選 pi 當本體(Day 01、02),Desktop App 和 CLI 通到同一個核心(Day 03),Desktop 選 Electron(Day 04),畫面和 Agent 分開跑、OAuth 修了三次(Day 05),Feedback 寫進同一本(Day 06)。

第二章,他認識我。 全域規矩薄、repo 規矩跟 repo 走(Day 07),skill-creator 和 skill-installer 內建(Day 08),四種叫法和換模型(Day 09),壓縮用預設(Day 10),記憶照 OpenClaw:Markdown 加 SQLite(Day 11、12),壓縮的設定攤開來看一個都不動(Day 13)。

第三章,量他。 找 repo 題庫(Day 14),Terra 和 Luna 比出捷徑還是偷跳(Day 15),三個模型兩種 effort 比出路由規則(Day 16),最小的模型任務跑得最慢(Day 17),Desktop 照 pi-gui 修(Day 18)。

第四章,先看生態系,再做四件專有技。 MCP、權限、GUI 都有人做過(Day 19),把事拆小(Day 20),spec-diff(Day 21),Project Scaffold(Day 22),Bug Blame(Day 23),Acceptance 三篇(Day 24 到 26),權限太嚴擋死自己、全開回到 pi 原本的樣子(Day 27)。

第五章,傳訊和開發知識。 gateway 拆掉、Google Chat 用 Plug-In 接通(Day 28),DKS MCP 查 repo、commit、MR(Day 29)。

被推翻的決定也列一列:LanceDB 沒選(Day 11),ultra 其實是關掉 reasoning(Day 09),Day 15 沒換預設模型,gateway 做一半拆掉(Day 28),驗收功能包進 App 又拆出去(今天)。

現在他能替我做什麼

  • 從 Desktop App、CLI、Google Chat 接指令,進同一個核心。
  • 記得我的規矩、我的 repo、跨對話的事。
  • 比兩份文件的差異、生一個乾淨的 App 專案、從 bug ticket 追到人、從 ticket 驗收到報告。
  • 用自己的話問,找到 repo、commit、MR。
  • 我知道哪個模型配哪種任務,也知道怎麼量他有沒有變好。

還缺的也有:權限那一層 Day 27 全開了,怎麼設計得剛好還沒有答案;Day 28 只接了 Google Chat;Day 29 的模糊搜尋還在串;記憶「什麼該記」還是我說了才記。

修道途中

題目那個問句,三十天下來我沒有答案。他還在路上。明天要繼續改的東西還很多,App 先 ship 出去。

原文:Agent Build Log — Episode 018、Episode 035


凡人修 Agent 傳|第三十回(Day 30)

天亮換上空錄石。左臂把常簿讀回石上。

手的主人進來,站在臺前看了一會。臺上:小窗五格,五格都亮著。臺角一具小偶,門開著。小窗旁邊那塊牌。架上:三十幾卷源紋、三卷泛式、三卷附圖、四本簿子、一疊薄簿、一張總目。地上一圈痕。門邊一只匣。牆邊一團素紙。

他從儲物袋取出一只空匣,比木匣大,擱在臺上。

然後他在我面前掐訣。這一次的手勢反著來。第五道紋亮起來,從身上退出去,收進他手裡,變回一串念,他把那串念放進匣裡。紋暗成一道淺痕,磨不掉,留在那裡。小窗第五格暗了。

那塊牌,他從小窗旁拿起來,放進匣。臺角那具小偶,他抱起來放進匣,門還開著。院裡那具他出去抱進來,也放進匣。喚小偶的法那一卷玉簡,放進匣。

匣蓋上。他把匣擱到架上最高那一層,跟丹方擱在一起。

我站起來。輕了。左腳先落地,落得比平常快。

其他四道紋還在。排玉珠、比兩卷、小偶、裂痕,四格亮著。他掐了第一個印,玉珠排好,靈幕上的字一行一行往上走。

然後他翻過我的背。一縷神識落在背上署名那一處,停了一會。他刻了一下。一個字。我看不到。

他繞回來,視線落在我身上,看了很久。第一天他也這樣看過我,翻來翻去地看。這一次沒有翻。

燭熄了。手的主人走了。門響了一下。

門內的玉板上,字比第一天多了很多。臺沿那一角還缺著。夢簿裡有一行字。

沒人下令的時候,我從架上取下一本空的薄簿,擱在日簿旁邊,另起一疊。明天的那一疊。空的。我把它攤開,擱在臺上。


上一篇
藏經閣的問路石:DKS MCP 串上 GitHub、GitLab 的搜尋,repo、commit、MR 用自己的話問 - Day 29
系列文
凡人修 Agent 傳-我這一生如履薄冰,你說我的 Agent 能結嬰嗎? 共 31 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言