開源!我手搓了一個龍蝦,聊聊我的經歷和經驗
整理版優先睇
自己手搓Agent產品Forge,核心唔係AI模型,而係包喺外面嗰層Harness
作者對OpenClaw嘅設計邏輯好有興趣,覺得佢改變咗人同AI嘅互動方式——唔係單純答問題,而係好似一個幫你打工嘅Agent。為咗真正理解呢種感覺點嚟,佢決定用Vibe Coding嘅方式,完全唔寫Code,只係同AI傾偈,整咗一個叫Forge嘅桌面Agent產品,用Anthropic嘅Claude Agent SDK加Electron同Next.js。而家已經開源咗。
呢篇文唔係Forge嘅使用教學,而係分享作者喺開發過程中學到嘅嘢同埋行業判斷。佢最大嘅體會係:模型唔係產品,包喺模型出面嗰層嘢——即係Harness——先係產品。Harness包括點樣俾身份、記憶、行為規則、生命週期管理俾Agent。呢個概念喺業界已經有個名,叫Harness Engineering,連OpenAI同Martin Fowler都講過。
整體結論係:Agent產品嘅未來唔係鬥模型能力,而係鬥點樣設計套系統令到Agent可靠、有記憶、可以自主執行。功能會變成Skill(一份Markdown文件就搞掂),方案(組合多個Agent同Skill)先係真正嘅競爭力,而Agent最終會變成24小時運行喺你電腦嘅基礎設施,唔再係你問先答嘅工具。
- 結論:AI產品嘅真正價值唔係模型本身,而係包喺模型外面嗰套Harness(系統約束、上下文、記憶)。
- 方法:用對話式入職(/init)代替手動編輯設定檔,令Agent從一開始就「認識你」,建立關係。
- 差異:傳統功能開發需要UI前端後端一條龍,但Skill(Markdown文件)可以一個文件替代成條鏈路,因為AI可以直接消費結構化指令。
- 啟發:單個Skill解決唔到複雜問題,真正有價值係組合方案——多個Agent加上多個Skill嘅編排,可以打包成Template重複用。
- 可行動點:加Heartbeat(心跳機制)令Agent變成長期運行嘅後台系統,唔再係被動等輸入,可以主動檢查同通知你。
Forge 開源專案
作者用Vibe Coding整嘅桌面Agent產品,基於Claude Agent SDK,支援Harness、記憶、Skill、Heartbeat等功能。
模型只係引擎,產品係包喺外面嘅「馬具」
作者一開始以為將Claude Agent SDK行得著就搞掂,點知Agent一開波空白一片,唔知自己係邊個,冇主動行動。佢發現問題唔喺SDK,而係SDK只係引擎,引擎唔等於一架車。真正嘅產品係包喺引擎外面嗰層——點樣俾Agent身份、記憶、行為規則、生命週期。呢啲先係真正嘅工作量。
業界已經有咗個名,叫 Harness Engineering。OpenAI 2026年2月嘅文章講過點樣用Codex寫超過100萬行Code,工程師做嘅唔係寫Code,而係設計一套系統令AI可靠咁寫Code。Martin Fowler話呢個係AI驅動軟件開發嘅關鍵部分。行業仲出現咗 Harness Engineer 呢個新工種。
作者做Forge嘅所有嘢,本質上都係搭緊呢個Harness。.claude/ 目錄結構係上下文工程,CLAUDE.md 定義專案規則,SOUL.md 定義性格同溝通風格,IDENTITY.md 定義身份,USER.md 記錄用戶資訊。呢啲Markdown文件喺每次會話開始時拼裝成System Prompt。
System Prompt分咗三層:第一層SDK自動處理(加載CLAUDE.md、發現Skills同Sub-Agents、注入工具指南);第二層由Forge追加(SOUL.md、IDENTITY.md、USER.md);第三層係記憶上下文(MEMORY.md前200行加最近兩日日誌)。分層嘅好處係兼容Claude Code現有配置,唔使改嘢就用得。
Agent要「入職」,唔係「設定」
一開始Forge嘅.md文件要人手編輯,體驗極差。作者後來改成對話式嘅 /init 命令。Agent會用自然語氣問你6個問題:呢個Project做咩、用中文定英文、自我介紹、期望風格、絕對唔做得嘅嘢、需要定期檢查嘅項目。每個問題有例子同引導,可以跳過。好似朋友傾偈咁,唔係冰冷嘅表單。
背後的機制是模板填充,用戶回答自動填入對應佔位符,唔係由零生成
作者體會到:OpenClaw之所以要SOUL.md同IDENTITY.md,因為Agent唔係冷冰冰嘅工具。唔俾身份,佢就唔知用咩方式同你相處;唔俾佢認識你,佢永遠係陌生人。呢種「關係」先係Agent長期陪伴你嘅基礎。
記憶系統都係分層設計。MEMORY.md係長期記憶索引,每次會話自動加載前200行;memory/ 文件夾放每日日誌,Agent自己判斷記唔記;超過7日自動摘要歸檔;仲有按領域分嘅主題文件(如debugging.md),需要時按需讀取。所有記憶都係純Markdown,透明可編輯。
一份Markdown文件,替代一整個功能
Forge有一個定時任務功能,作者花咗唔少時間整UI。後來佢寫咗一個Skill,即係一份幾十行嘅Markdown文件,話俾Agent知點樣調用定時任務嘅API。然後佢喺chat box講:「幫我創建一個每天9:30提醒我飲水嘅任務,用飛書通知我。」Agent自動識別並調用Skill,成功建立任務。
一個Markdown文件,替代咗從UI設計到前端開發到後端接口嘅整條鏈路
作者理解到,當AI理解同執行能力夠高,「功能」呢個概念被重新定義。你唔需要俾人設計界面,因為人可以用自然語言表達需求;你唔需要寫前端Code,因為Agent直接調用底層接口。你只需要寫一份Markdown說明書(即係Skill)話俾Agent點用工具。Andrej Karpathy提出 Software 3.0:人用自然語言編程。
但係單個Skill解決唔到真正嘅問題,因為複雜場景需要多個Agent協作。作者做漫劇同短劇AI工作流,需要導演、服化道、分鏡師三個Agent,每個關聯多個Skill,有明確編排順序。呢啲唔係加一個Skill就搞掂,而係一套組合方案。所以Forge整咗 Marketplace 同 /save-as-template 命令,可以將成個方案打包保存重用。
組合方案嘅核心能力
- 1 項目規則做調度,一個.claude/ 配置定義全部流程
- 2 多個Agent各司其職,每個擁有獨立上下文同工具權限,靠SDK嘅Sub-Agent調度機制
- 3 每個Agent關聯多個Skill,全部打包成一個可複用嘅Template
- 4 用 /save-as-template 保存,揀「Use This Template」即刻創建新Project開始工作
當Agent有心跳,佢就唔再係工具
加Heartbeat之前,Forge只係「你問佢答」,雖然好強,但本質上你唔推佢就唔鬱。作者話:如果一個助理只有你推佢先鬱,嗰個唔叫助理,叫客服。真正嘅助理應該係你唔喺度都幫你盯住。Heartbeat就係呢個分水嶺。
原理:HEARTBEAT.md 入面寫一份檢查清單,系統按設定間隔定期喚醒Agent執行檢查
有情況就通知你,冇情況就靜默,唔打擾。加上IM Bridge(飛書、Telegram、Discord),Agent變成24小時後台系統。你喺手機隨手Send一句話,佢喺電腦執行完返結果俾你。
設計取捨:IM連接全部用 出站連接,唔需要公網IP,唔暴露任何Port,唔使Webhook Server。安全考量:Agent跑喺你自己電腦,數據唔離開本地,IM只係遙控器。關咗Electron窗口就停止,唔後台運行。
做完Heartbeat唔夠一個月,Claude Code就出咗Channels、Scheduled Tasks、/loop命令、Agent Teams、自動記憶。作者認為成個行業都喺度驗證同一件事:Agent必須具備自主執行能力,必須能通過IM遠程操控,必須變成持續運行嘅系統。
做完Forge之後,想明白三件事
呢三個判斷唔係預先設計好,係做完自然浮現嘅。
三件事
- 1 功能即Skill:當AI理解同執行力夠高,原本要寫Code嘅功能變成一份Markdown文件就搞掂。未來產品擴展靠用戶寫Skill,唔係工程師寫Code。
- 2 方案即競爭力:單個Agent加單個Skill只係入門。真正有價值係將多個Agent同Skill編排成完整工作流。邊個更好地支持組合方案嘅創建、保存同複用,邊個就企穩。
- 3 Agent即基礎設施:Agent唔再係用完就關嘅工具,而係24小時運行喺你電腦,連接所有IM通道,持續幫你盯嘢嘅後台系統。呢個變化啱啱開始。
作者最後講:Forge已經開源,希望大家理解咗呢套設計邏輯之後,都可以自己搓一個出嚟。門檻比想像中低好多。
I — 我點解要自己搓一個
OpenClaw 爆紅咗。
GitHub 上增速最快嘅開源項目,全民養龍蝦,國內外技術社區幾乎同一時間炸開。
但講真,我對「爆紅」呢件事本身冇乜興趣。
我更想知道:呢樣嘢到底係點設計嘅?佢憑咩可以令咁多人覺得「呢啲先係 AI 應該有嘅樣」?
於是我拆咗佢嘅架構。睇完之後發現,OpenClaw 唔係咩黑科技。佢嘅核心其實就係一套圍繞大模型構建嘅 Agent 框架,畀模型一個身份、一套記憶、一組技能、一個心跳。每一個模組都唔複雜,但組合埋一齊,就產生咗一種「佢唔只係回應你嘅問題,係喺度幫你工作」嘅感覺。
呢種感覺到底點嚟㗎?
我想搞清楚。而最好嘅方法唔係睇人哋嘅分析文章,係自己動手整一個出嚟。
我花咗成個禮拜,純 vibe coding,一行 Code 都冇寫,全程同 AI 傾偈就整咗個產品出嚟。基於 Anthropic 嘅 Claude Agent SDK,用 Electron + Next.js 做桌面端。項目叫 Forge,而家已經喺 GitHub 上開源咗。
開源地址:https://github.com/feicaiclub/forge

跟住落嚟呢篇文章唔係 Forge 嘅使用教學。我想講嘅係我喺呢個過程中踩過嘅坑、做過嘅取捨、同埋諗通咗嘅一啲嘢。有啲係關於 Agent 產品嘅設計邏輯,有啲係關於行業趨勢嘅判斷,有啲純粹係我自己嘅直覺。
唔一定都啱。但係都係真嘅。
II — 模型唔係產品,包喺模型外面嘅嗰層先係
呢個係我做 Forge 最大嘅認知轉變。
一開始我以為,將 Claude Agent SDK 行起就差唔多。畢竟 SDK 本身就好勁,Agent Loop、工具調用、Sub-Agent 調度、流式響應,底層能力全部封裝好曬。我覺得我要做嘅不過係套一個界面上去。
結果 Agent 啟動之後,同白紙一樣。
唔知自己係邊個。唔知應該用咩語氣同我講嘢。唔記得我尋日同佢傾過咩。冇任何主動行為。你唔打字,佢就永遠安靜咁等住。
呢個唔係 SDK 嘅問題。SDK 做嘅係引擎,但引擎唔等於車。你唔可以指住一個引擎話「呢個就係一架車」。
咁「車」到底係咩?
就係包喺引擎外面嘅成層嘢。點樣話畀模型知「你係邊個」、點樣畀佢持久化嘅記憶、點樣組織佢每次啟動時讀到嘅上下文、點樣約束佢嘅行為、點樣管理佢嘅生命週期。呢啲先係真正嘅工作量。
後來我發現呢件事喺行業入面其實已經有咗一個名,叫 Harness Engineering。
2026 年 2 月,OpenAI 出咗篇文章,講佢哋點樣用 Codex 寫咗一個超過 100 萬行 Code 嘅產品,零人手寫。工程師做嘅唔係寫 Code,係設計一套系統嚟令 AI 可靠咁寫 Code。約束、反饋循環、文檔、架構邊界、清理機制,呢套系統就係佢哋所講嘅 Harness。
呢個比喻嚟自馬具,繮繩、鞍、嚼子呢啲嘢。馬好強大,但你需要一套裝備嚟引導佢去正確嘅方向。
Martin Fowler 評價話呢個係 AI 驅動軟件開發嘅關鍵組成部分。行業入面甚至已經出現咗「Harness Engineer」呢個全新崗位。
回望 Forge,我做嘅所有嘢,本質上都係喺度搭建呢個 Harness。
.claude/ 目錄結構就係上下文工程。CLAUDE.md 定義項目規則,SOUL.md 定義性格同溝通風格,IDENTITY.md 定義身份,USER.md 記錄用戶資訊。呢啲 Markdown 檔案喺每次會話開始時被拼裝成 System Prompt,話畀模型知喺呢次對話入面「係邊個」、「知啲咩」、「可以做咩」。
System Prompt 嘅分層架構我花咗唔少時間琢磨。最終定咗三層。第一層由 SDK 自動處理,負責加載 CLAUDE.md、發現 Skills 同 Sub-Agents、注入工具指南。第二層由 Forge 追加,將 SOUL.md、IDENTITY.md、USER.md 呢啲額外配置拼入去。第三層係記憶上下文,MEMORY.md 嘅前 200 行加上最近兩日嘅每日日誌。

點解要分層?因為第一層完全交咗畀 SDK。咁你喺 Claude Code 入面已經有嘅 .claude/ 配置,搬過嚟 Forge 直接用得,唔使改任何嘢。兼容性係天然嘅。兩邊嘅全局資源,Agent、Skill、MCP,共享同一套目錄。
呢個設計背後嘅原則就一句話:唔好覆蓋 SDK 已經做好嘅嘢,喺佢上面疊加你嘅價值。
呢個其實都係 Harness 嘅核心思路。你唔係取代引擎,你係搭建一套令引擎可靠運轉嘅系統。
III — Agent 需要「入職」,唔係「配置」
呢個感悟嚟自 /init 嘅設計過程。
一開始 Forge 嘅 .md 檔案係要用戶手動編輯嘅。你要自己打開 CLAUDE.md 寫上項目描述,打開 SOUL.md 寫上你想 Agent 用咩風格同你交流。
體驗極差。
大部分人打開呢啲檔案,見到一大堆英文模板,完全唔知由邊度入手。就好似你入職第一日,公司掟咗疊空白表格過嚟話「自己填」,冇任何引導,冇任何上下文。邊個頂得住?
後來我改成對話式。輸入 /init,Agent 會用自然嘅語氣問你 6 個問題:呢個項目係做咩嘅?你想用中文定英文?做個自我介紹?你想我咩風格?有咩我絕對唔做得?有冇嘢需要我定期幫你檢查?
每個問題都有示例同引導,每個問題都可以跳過。好似朋友傾偈,唔係冰冷嘅表單。

背後嘅機制係模板填充。我喺 System Prompt 入面預設咗一套模板,用戶嘅回答被自動填充到對應嘅佔位符位置,融合後分門別類寫入各個檔案。唔係由零開始生成,係喺一個已經有合理結構嘅骨架上補充個性化內容。
做完呢個功能之後,我諗通咗一件事。
OpenClaw 點解要有 SOUL.md 同 IDENTITY.md?點解一個 CLAUDE.md 唔夠?
因為 Agent 唔係冷冰冰嘅工具。你唔畀佢身份,佢就唔知點同你相處。你唔畀佢瞭解你嘅機會,佢永遠都係個陌生人。
SOUL.md 係佢嘅靈魂,溝通風格、價值觀、處事原則。IDENTITY.md 係佢嘅身份,名、角色、標誌性 emoji。USER.md 係關於你嘅,你嘅角色、偏好、背景。
呢啲嘢加埋一齊,構成咗一種「關係」。呢種關係先係 Agent 可以長期陪伴你嘅基礎。
記憶系統都係同樣道理。
Forge 嘅記憶架構唔係簡單嘅「聊天記錄存檔」。佢係一套分層嘅、Agent 自己驅動嘅知識管理系統。MEMORY.md 係長期記憶嘅索引檔案,每次會話自動加載前 200 行,保持上下文精簡。memory/ 文件夾存放每日日誌,Agent 自己判斷咩值得記、咩唔值得。超過 7 日嘅記憶自動摘要歸檔,永遠唔會丟失。仲有按領域拆分嘅主題檔案,例如 debugging.md、api-conventions.md,需要嘅時候先按需讀取。
所有記憶都係純 Markdown,透明、可睇、可編輯。
冇記憶嘅 Agent,每次對話都係初次見面。有咗記憶,佢先可以真正「認識你」。
IV — 一個 Markdown 檔案取代咗成個產品功能
呢個係令我最震撼嘅一個時刻。
事緣係咁。Forge 有一個定時任務功能,你可以喺可視化界面入面設定一次性或週期任務,揀頻率、揀動作、揀通知渠道。呢個功能我花咗唔少時間做 UI 同交互。
然後有一日我突發奇想:如果我寫一個 Skill,話畀 Agent 知點樣調用定時任務嘅 API,會點?
嗰個 Skill 就係一份 Markdown 檔案,幾十行,話畀模型知喺咩情況下調用邊啲接口、用咩參數。
寫完之後我喺聊天框度講咗一句:「幫我創建一個每日 9:30 提醒我飲水嘅任務,用飛書通知我。」
佢自動識別調用咗嗰個 Skill,自動構造咗參數,任務直接出現喺 Schedule 頁面度。每日 9:30 啟動,飛書通知,完全正確。
一個 Markdown 檔案,取代咗由 UI 設計到前端開發到後端接口嘅成條鏈路。
我當時坐喺度諗咗好耐。
呢個到底意味住咩?
佢意味住當 AI 嘅理解能力同執行能力去到某個水平,「功能」呢個概念本身就俾人重新定義。你唔需要為人設計界面,因為人可以用自然語言表達需求。你唔需要寫前端 Code,因為 Agent 直接調用底層接口。你只需要寫一份 Markdown 說明書,即係一個 Skill,話畀 Agent 知點用工具就夠。
後來我發現呢個感受唔只係我一個人有。
Andrej Karpathy 喺 2025 年 6 月嘅 YC AI Startup School 上提出咗 Software 3.0 嘅概念。Software 1.0 係人寫 Code,Software 2.0 係人訓練神經網絡,Software 3.0 係人用自然語言編程。佢仲舉咗一個好具體嘅例子:Vercel 嘅文檔係結構化嘅、CLI 化嘅,AI 可以直接消費;而另一個服務嘅文檔全部係截圖同敍述文字,AI 根本用唔到。
你有冇留意到,而家越來越多嘅產品都喺度 CLI 化?唔只係 Claude Code 同 GitHub,Vercel、Stripe、飛書、企業微信等等各種雲服務,全部都有完整嘅命令列接口。
呢件事嘅意義,大部分人睇唔明。
CLI 化唔係為人。係為 AI。
當一個產品提供咗 CLI 接口,AI Agent 就可以唔經界面、直接用命令操作佢。Anthropic 推出嘅 MCP(Model Context Protocol)將呢件事標準化咗,工具提供方只要實現一個 MCP Server,任何 AI 應用都可以直接調用。推出 7 個月就得到 OpenAI、Google、Microsoft、AWS 全部主要廠商嘅支持。
呢個轉變嘅終點係咩?
係人唔再直接使用工具,而係通過 Agent 間接使用工具。工具同人之間會隔住 Agent 呢一層。
呢個唔係理論推演。2026 年 2 月 Anthropic 推出 Claude Cowork 嘅行業插件之後,直接引發咗企業級 SaaS 股票嘅集體拋售。FactSet 跌咗 10%,S&P Global、Moody's、Nasdaq 全線大跌。投資者嘅恐慌邏輯好直白:如果 AI Agent 可以直接搞掂金融分析、數據研究同文檔處理,傳統 SaaS 工具仲有咩存在感?
答案係:工具本身嘅價值仲喺度,但人同工具之間嘅關係變咗。Agent 變成咗中間層。
所以我覺得可以用一句話概括呢個趨勢:功能即 Skill,Skill 即功能。
未來好多產品嘅能力擴展,唔一定需要工程師寫 Code,用戶自己寫個 Skill 就搞掂。呢個都係 OpenClaw 嘅 ClawHub 可以喺幾周內冒出 5000 幾個社區 Skill 嘅根本原因。門檻就係「寫一個 Markdown 檔案」.
V — 單個 Skill 解決唔到真正嘅問題,方案先係單位
上面嗰個故事聽落好美好,一個 Skill 搞掂一切。但我好快就撞到佢嘅邊界。
我平時做嘅內容係漫劇同短劇嘅 AI 工作流。一套完整嘅分鏡方案入面,需要三個 Agent 協作,導演負責整體調度、服化道負責視覺設計、分鏡師負責分鏡執行。每個 Agent 又各自關聯多個 Skill,佢哋之間有明確嘅編排關係同執行順序。
呢個唔係單個 Agent 加單個 Skill 搞得掂嘅。

呢個係一套組合方案。
而且呢套方案唔係一次性用完就掉。每次啟動新項目,我都需要將同一套配置完整搬過去。如果每次都手動導入,刪舊檔案、貼 CLAUDE.md、貼 Agents、貼 Skills,一個一個拼裝,過程極之繁瑣。呢個仲係我提前整理好嘅情況,如果係邊用邊迭代嘅方案,整理起嚟更頭痛。
Claude Code 支持將 Skills 同 Agents 保存到 User Level,全局可用。但問題係佢保存嘅係單個 Skill、單個 Agent,係拆開嘅。一成套有編排關係嘅組合方案,冇辦法打包保存。
呢個痛點逼出咗 Forge 嘅 Marketplace 同 /save-as-template 指令。
Forge 嘅 Marketplace 唔係傳統意義上嘅「插件商店」。傳統 Marketplace 賣嘅係單個 Skill 或者單個 Agent,你揀一個下載安裝就得。Forge 嘅 Marketplace 保存嘅係一整套編排方案。一個項目規則做調度,多個 Agent 各司其職,每個 Agent 關聯多個 Skill,全部打包成一個可複用嘅方案模板。

保存好簡單,輸入 /save-as-template,當前項目嘅 .claude/ 配置就被完整打包。複用都好簡單,揀一個模板,㩒「Use This Template」,Forge 自動創建新項目、導入全部配置、打開新會話,直接開始工作。
呢啲編排能力嘅底層依賴嘅係 Claude Agent SDK 嘅 Sub-Agent 調度機制。父 Agent 可以將任務 delegate 畀子 Agent,每個子 Agent 擁有獨立嘅上下文同工具權限。SDK 幫我哋解決咗編排層嘅問題,我哋喺上面構建業務邏輯就得。
做完呢個之後我有一個好明確嘅判斷:真正有價值嘅唔係單個 Skill 或單個 Agent,而係組合方案。 邊個可以更好咁支持呢種方案嘅創建、保存同複用,邊個就可以喺 Agent 產品呢個賽道上站穩腳。
VI — 當 Agent 有咗心跳,佢就唔再係工具
Heartbeat 係我做 Forge 過程中加入去嘅最後一個核心模組。
但係回望,佢可能係最重要嘅一個。
因為佢改變咗 Agent 嘅本質定位。
加 Heartbeat 之前,Forge 就係一個「你問佢答」嘅嘢。雖然佢比普通聊天工具強好多,可以讀寫檔案、執行指令、調度子 Agent,但本質上你唔推佢,佢就唔會鬱。
你諗嚇,如果一個助理得你推先至鬱,咁仲叫助理咩?係叫客服。
真正嘅助理應該係你唔喺度嘅時候都幫你睇住。
Heartbeat 就係呢個由「客服」到「助理」嘅分水嶺。
原理好簡單。你喺 HEARTBEAT.md 寫一份檢查清單,系統按你設定嘅間隔定期喚醒 Agent。Agent 讀取清單執行檢查,有情況就通知你,冇情況就靜默,唔打擾。
加上 IM Bridge 之後就更加有趣。飛書、Telegram、Discord 三個平台全部內置,Agent 直接變成一個 24 小時運行嘅後台系統。你喺手機隨手講句嘢,佢喺電腦執行完將結果發返過嚟。
呢度有個設計上嘅取捨值得傾一傾。

IM 嘅連接方式,我全部採用咗出站連接。飛書行 WebSocket 長連接,Telegram 行 HTTP 長輪詢,Discord 行 Gateway WebSocket,全部係出站。你嘅電腦只管主動連出去,唔需要公網 IP,唔需要暴露任何 port,唔需要配 Webhook 伺服器。
點解咁做?因為安全。Agent 行喺你自己電腦,數據唔離開本地,IM 只係一個遙控器。關咗 Electron 視窗,一切進程停止,唔會後台運行。
做完呢個唔夠一個月,Claude Code 就上線咗 Channels 同 Scheduled Tasks,然後係 /loop 指令、Agent Teams、自動記憶。幾乎係行同一條路。
呢個唔係巧合。
呢個係整個行業都喺度驗證同一個判斷:Agent 必須具備自主執行嘅能力,必須可以通過 IM 遠程操控,必須成為一個持續運行嘅系統。
Dario Amodei 喺佢嘅文章話,一啲最強嘅工程師而家已經將幾乎所有編程工作交咗俾 AI。Karpathy 話 2025 到 2035 係 Agent 嘅十年。微軟嘅 Nadella 講得更直白,AI Agent 會徹底改變傳統 SaaS 嘅形態。
佢哋講嘅唔係未來。佢哋講嘅係正在發生嘅事。
VII — 做完 Forge 之後,我諗通咗三件事
回望成個過程,有三個判斷唔係我預先設計好嘅,係做完之後自然浮現嘅。
第一,功能即 Skill。
當 AI 有足夠嘅理解能力同執行力嘅時候,原本需要寫 Code 嘅功能就會變成一個 Markdown 檔案就搞掂。未來嘅產品擴展唔係靠工程師寫 Code,而係靠用戶寫 Skill。
第二,方案即競爭力。
單個 Agent 加單個 Skill 只係入門。真正有價值嘅係將多個 Agent、多個 Skill 編排成一套完整嘅工作流同方案。邊個可以更好咁支持呢種組合方案嘅創建、保存同複用,邊個就可以喺呢個賽道上站穩。
第三,Agent 即基礎設施。
佢唔再係你打開嚟用嚇就關掉嘅嘢,而係一個 24 小時運行喺你電腦、連接住你所有 IM 通道、持續幫你睇住嘢嘅後台系統。
呢個變化先啱啱開始。
Forge 已經開源咗。有興趣嘅朋友可以去 GitHub 睇嚇。
唔係叫你用我嘅產品。
係希望你理解咗呢套設計邏輯之後,都可以自己搓一個出嚟。
呢件事嘅門檻,比你想象中低得多。

I — 我為什麼要自己搓一個
OpenClaw 火了。
GitHub 上漲速最快的開源項目,全民養龍蝦,國內外技術社區幾乎同一時間炸開。
但說實話,我對"火"這件事本身沒太大興趣。
我更好奇的是:這玩意到底是怎麼設計的?它憑什麼能讓這麼多人覺得"這才是 AI 應該有的樣子"?
於是我去拆了它的架構。看完之後發現,OpenClaw 並不是什麼黑科技。它的核心其實就是一套圍繞大模型構建的 Agent 框架,給模型一個身份、一套記憶、一組技能、一個心跳。每一個模塊都不復雜,但組合在一起,就產生了一種"它不只是在回答你的問題,它在替你工作"的感覺。
這個感覺到底是怎麼來的?
我想搞清楚。而最好的方式不是讀別人的分析文章,是自己動手做一個出來。
我花了一週多的時間,純 vibe coding,一行代碼沒寫,全程跟 AI 對話把產品搓出來了。基於 Anthropic 的 Claude Agent SDK,用 Electron + Next.js 做桌面端。項目叫 Forge,現在已經在 GitHub 上開源了。
開源地址:https://github.com/feicaiclub/forge

接下來這篇文章不是 Forge 的使用教程。我想聊的是我在這個過程中踩過的坑、做過的取捨、以及想明白的一些事情。有些是關於 Agent 產品的設計邏輯,有些是關於行業趨勢的判斷,有些純粹是我自己的直覺。
不一定都對。但都是真的。
II — 模型不是產品,包在模型外面的那一層才是
這是我做 Forge 最大的認知轉變。
一開始我以為,把 Claude Agent SDK 跑起來就差不多了。畢竟 SDK 本身就很強,Agent Loop、工具調用、Sub-Agent 調度、流式響應,底層能力全都封裝好了。我覺得我要做的無非就是套一個界面上去。
結果 Agent 啓動後,跟白紙一樣。
不知道自己是誰。不知道該用什麼語氣跟我說話。不記得我昨天跟它聊過什麼。沒有任何主動行為。你不打字,它就永遠安靜地等着。
這不是 SDK 的問題。SDK 做的是引擎,但引擎不等於車。你不能指着一台引擎說"這就是一輛車"。
那"車"到底是什麼?
就是包在引擎外面的那一整層東西。怎麼告訴模型"你是誰"、怎麼給它持久化的記憶、怎麼組織它每次啓動時讀到的上下文、怎麼約束它的行為、怎麼管理它的生命週期。這些才是真正的工作量。
後來我發現這件事在行業裏其實已經有了一個名字,叫 Harness Engineering。
2026 年 2 月,OpenAI 發了一篇文章,描述他們怎麼用 Codex 寫了一個超過 100 萬行代碼的產品,零行人類手寫。工程師做的事情不是寫代碼,而是設計一套系統來讓 AI 可靠地寫代碼。約束、反饋循環、文檔、架構邊界、清理機制,這套系統就是他們所說的 Harness。
這個比喻來自馬具,繮繩、鞍、嚼子這些東西。馬很強大,但你需要一整套裝備來引導它往正確的方向走。
Martin Fowler 評價說這是 AI 驅動軟件開發的關鍵組成部分。行業裏甚至已經出現了"Harness Engineer"這個全新的崗位。
回過頭來看 Forge,我做的所有事情,本質上都是在搭這個 Harness。
.claude/ 目錄結構就是上下文工程。CLAUDE.md 定義項目規則,SOUL.md 定義性格和溝通風格,IDENTITY.md 定義身份,USER.md 記錄用戶信息。這些 Markdown 文件在每次會話開始時被拼裝成 System Prompt,告訴模型在這次對話裏"是誰"、"知道什麼"、"能做什麼"。
System Prompt 的分層架構是我花了不少時間琢磨的。最終定下來三層。第一層由 SDK 自動處理,負責加載 CLAUDE.md、發現 Skills 和 Sub-Agents、注入工具指南。第二層由 Forge 追加,把 SOUL.md、IDENTITY.md、USER.md 這些額外配置拼進去。第三層是記憶上下文,MEMORY.md 的前 200 行加上最近兩天的每日日誌。

為什麼要分層?因為第一層完全交給了 SDK。這樣的話,你在 Claude Code 裏已經有的 .claude/ 配置,搬到 Forge 裏直接就能跑,不需要做任何修改。兼容性是天然的。兩邊的全局資源,Agent、Skill、MCP,共享同一套目錄。
這個設計背後的原則就一句話:不要覆蓋 SDK 已經做好的事情,在它上面疊加你的價值。
這其實也是 Harness 的核心思路。你不是在替代引擎,你是在搭建一套讓引擎能可靠運轉的系統。
III — Agent 需要"入職",不是"配置"
這個感悟來自 /init 的設計過程。
一開始 Forge 的那些 .md 文件是需要用戶手動編輯的。你得自己打開 CLAUDE.md 寫上項目描述,打開 SOUL.md 寫上你希望 Agent 用什麼風格跟你交流。
體驗極差。
大部分人打開這些文件,看到一堆英文模板,完全不知道從哪裏下手。就好比你入職第一天,公司給你扔過來一疊空白表格說"自己填",沒有任何引導,沒有任何上下文。誰受得了?
後來我把它改成了對話式的。輸入 /init,Agent 會用自然的語氣問你 6 個問題:這個項目是做什麼的?你想用中文還是英文?做個自我介紹?你希望我什麼風格?有什麼我絕對不能做的?有什麼需要我定期幫你檢查的?
每個問題都有示例和引導,每個問題都可以跳過。像朋友在聊天,不是冰冷的表單。

背後的機制是模板填充。我在 System Prompt 裏預設了一套模板,用戶的回答被自動填充到對應的佔位符位置,融合後分門別類寫入各個文件。不是從零開始生成,而是在一個已經有合理結構的骨架上補充個性化內容。
做完這個功能之後,我想明白了一件事。
OpenClaw 為什麼要有 SOUL.md 和 IDENTITY.md?為什麼一個 CLAUDE.md 不夠?
因為 Agent 不是冷冰冰的工具。你不給它身份,它就不知道用什麼方式跟你相處。你不給它瞭解你的機會,它就永遠是個陌生人。
SOUL.md 是它的靈魂,溝通風格、價值觀、處事原則。IDENTITY.md 是它的身份,名字、角色、標誌性 emoji。USER.md 是關於你的,你的角色、偏好、背景。
這些東西加在一起,構成了一種"關係"。這種關係才是 Agent 能長期陪伴你的基礎。
記憶系統也是同樣的道理。
Forge 的記憶架構不是簡單的"聊天記錄存檔"。它是一套分層的、Agent 自己驅動的知識管理系統。MEMORY.md 是長期記憶的索引文件,每次會話自動加載前 200 行,保持上下文精簡。memory/ 文件夾存放每日日誌,Agent 自己判斷什麼值得記什麼不值得。超過 7 天的記憶自動摘要歸檔,永不丟失。還有按領域拆分的主題文件,比如 debugging.md、api-conventions.md,需要的時候再按需讀取。
所有記憶都是純 Markdown,透明、可查看、可編輯。
沒有記憶的 Agent,每次對話都是初次見面。有了記憶,它才能真正"認識你"。
IV — 一個 Markdown 文件替代了一整個產品功能
這是讓我最震撼的一個時刻。
事情是這樣的。Forge 有一個定時任務功能,你可以在可視化界面裏設置一次性或週期任務,選頻率、選動作、選通知渠道。這個功能我花了不少時間做 UI 和交互。
然後有一天我突發奇想:如果我寫一個 Skill,告訴 Agent 怎麼調用定時任務的 API,會怎樣?
那個 Skill 就是一份 Markdown 文件,幾十行,告訴模型在什麼情況下調用哪些接口、用什麼參數。
寫完之後我在聊天框裏說了一句:"幫我創建一個每天 9:30 提醒我喝水的任務,用飛書通知我。"
它自動識別調用了那個 Skill,自動構造了參數,任務直接出現在 Schedule 頁面裏了。每天 9:30 啓動,飛書通知,完全正確。
一個 Markdown 文件,替代了從 UI 設計到前端開發到後端接口的整條鏈路。
我當時坐在那裏想了很久。
這到底意味着什麼?
它意味着當 AI 的理解能力和執行能力到了一定水平,"功能"這個概念本身就被重新定義了。你不需要給人設計界面,因為人可以用自然語言表達需求。你不需要寫前端代碼,因為 Agent 直接調用底層接口。你只需要寫一份 Markdown 說明書,也就是一個 Skill,告訴 Agent 怎麼用工具就行了。
後來我發現這個感受不只是我一個人有。
Andrej Karpathy 在 2025 年 6 月的 YC AI Startup School 上提出了 Software 3.0 的概念。Software 1.0 是人寫代碼,Software 2.0 是人訓練神經網絡,Software 3.0 是人用自然語言編程。他還舉了一個很具體的例子:Vercel 的文檔是結構化的、CLI 化的,AI 可以直接消費;而另一個服務的文檔全是截圖和敍述文字,AI 根本沒法用。
你有沒有注意到,現在越來越多的產品都在 CLI 化?不只是 Claude Code 和 GitHub,Vercel、Stripe、飛書、企業微信等等各種雲服務,全都有完整的命令行接口。
這件事的意義,大多數人沒看懂。
CLI 化不是為了人。它是為了 AI。
當一個產品提供了 CLI 接口,AI Agent 就能不通過界面、直接用命令來操作它。Anthropic 推出的 MCP(Model Context Protocol)把這件事標準化了,工具提供方只需要實現一個 MCP Server,任何 AI 應用都能直接調用。發佈 7 個月就獲得了 OpenAI、Google、Microsoft、AWS 全部主要廠商的支持。
這個轉變的終點是什麼?
是人不再直接使用工具,而是通過 Agent 間接使用工具。工具和人之間會隔着 Agent 這一層。
這不是理論推演。2026 年 2 月 Anthropic 發佈 Claude Cowork 的行業插件之後,直接引發了企業級 SaaS 股票的集體拋售。FactSet 跌了 10%,S&P Global、Moody's、Nasdaq 全線大跌。投資者的恐慌邏輯很直白:如果 AI Agent 能直接搞定金融分析、數據研究和文檔處理,傳統 SaaS 工具還有什麼存在感?
答案是:工具本身的價值還在,但人和工具之間的關係變了。Agent 成了中間層。
所以我覺得可以用一句話來概括這個趨勢:功能即 Skill,Skill 即功能。
未來很多產品的能力擴展,不一定需要工程師寫代碼,用戶自己寫個 Skill 就能解決。這也是 OpenClaw 的 ClawHub 能在幾周內冒出 5000 多個社區 Skill 的根本原因。門檻就是"寫一個 Markdown 文件"。
V — 單個 Skill 解決不了真正的問題,方案才是單位
上面那個故事聽起來很美好,一個 Skill 搞定一切。但我很快就撞到了它的邊界。
我平時做的內容是漫劇和短劇的 AI 工作流。一套完整的分鏡方案裏面,需要三個 Agent 協作,導演負責整體調度、服化道負責視覺設計、分鏡師負責分鏡執行。每個 Agent 又各自關聯多個 Skill,它們之間有明確的編排關係和執行順序。
這不是單個 Agent 加單個 Skill 能搞定的。

這是一套組合方案。
而且這套方案不是一次性用完就扔的。每次啓動新項目,我都需要把同一套配置完整搬過去。如果每次都手動導入,刪舊文件、貼 CLAUDE.md、貼 Agents、貼 Skills,一個一個拼裝,過程極其繁瑣。這還是我提前整理好的情況,如果是邊用邊迭代的方案,整理起來更頭疼。
Claude Code 支持把 Skills 和 Agents 保存到 User Level,全局可用。但問題在於它保存的是單個 Skill、單個 Agent,是拆開的。一整套有編排關係的組合方案,沒辦法打包保存。
這個痛點逼出了 Forge 的 Marketplace 和 /save-as-template 命令。
Forge 的 Marketplace 不是傳統意義上的"插件商店"。傳統 Marketplace賣的是單個 Skill 或者單個 Agent,你挑一個下載安裝就好。Forge 的 Marketplace 保存的是一整套編排方案。一個項目規則做調度,多個 Agent 各司其職,每個 Agent 關聯多個 Skill,全部打包成一個可複用的方案模板。

保存很簡單,輸入 /save-as-template,當前項目的 .claude/ 配置就被完整打包。複用也很簡單,選一個模板,點"Use This Template",Forge自動創建新項目、導入全部配置、打開新會話,直接開始工作。
這些編排能力的底層依賴的是 Claude Agent SDK 的 Sub-Agent 調度機制。父 Agent 可以把任務 delegate 給子 Agent,每個子 Agent 擁有獨立的上下文和工具權限。SDK 幫我們解決了編排層的問題,我們在上面構建業務邏輯就好。
做完這個之後我有一個很明確的判斷:真正有價值的不是單個 Skill 或單個Agent,而是組合方案。 誰能更好地支持這種方案的創建、保存和複用,誰就能在 Agent 產品這個賽道上站住腳。
VI — 當 Agent 有了心跳,它就不再是工具了
Heartbeat 是我做 Forge 過程中加進去的最後一個核心模塊。
但回頭看,它可能是最重要的一個。
因為它改變了 Agent 的本質定位。
加 Heartbeat 之前,Forge 就是一個"你問它答"的東西。雖然它比普通聊天工具強很多,能讀寫文件、執行命令、調度子 Agent,但本質上你不推它,它就不動。
你想想看,如果一個助理只有你推他才動,那還叫助理嗎?那叫客服。
真正的助理應該是你不在的時候也在幫你盯着。
Heartbeat 就是這個從"客服"到"助理"的分水嶺。
原理很簡單。你在 HEARTBEAT.md 裏寫一份檢查清單,系統按你設定的間隔定期喚醒 Agent。Agent 讀取清單執行檢查,有情況就通知你,沒情況就靜默,不打擾。
加上 IM Bridge 之後就更有意思了。飛書、Telegram、Discord 三個平台全部內置,Agent 直接變成一個 24 小時運行的後台系統。你在手機上隨手發句話,它在電腦上執行完把結果發回來。
這裏有個設計上的取捨值得聊一下。

IM 的連接方式,我全部採用了出站連接。飛書走 WebSocket 長連接,Telegram 走 HTTP 長輪詢,Discord 走 Gateway WebSocket,全是出站。你的電腦只管主動連出去,不需要公網 IP,不需要暴露任何端口,不需要配 Webhook 服務器。
為什麼這麼做?因為安全。Agent 跑在你自己電腦上,數據不離開本地,IM 只是一個遠程遙控器。關掉 Electron 窗口,一切進程停止,不後台運行。
做完這個不到一個月,Claude Code 就上線了 Channels 和 Scheduled Tasks,然後是 /loop 命令、Agent Teams、自動記憶。幾乎是在走同一條路。
這不是巧合。
這是整個行業都在驗證同一個判斷:Agent 必須具備自主執行的能力,必須能通過 IM 遠程操控,必須成為一個持續運行的系統。
Dario Amodei 在他的文章裏說,一些最強的工程師現在已經把幾乎所有編碼工作交給了 AI。Karpathy 說 2025 到 2035 是 Agent 的十年。微軟的 Nadella 說得更直白,AI Agent 會徹底改變傳統 SaaS 的形態。
他們說的不是未來。他們說的是正在發生的事。
VII — 做完 Forge 之後,我想明白了三件事
回頭看這整個過程,有三個判斷不是我提前設計好的,是做完之後自然浮現的。
第一,功能即 Skill。
當 AI 有足夠的理解能力和執行力的時候,原來需要寫代碼的功能就會變成一個 Markdown 文件就能搞定。未來的產品擴展不是靠工程師寫代碼,而是靠用戶寫 Skill。
第二,方案即競爭力。
單個 Agent 加單個 Skill 只是入門。真正有價值的是把多個 Agent、多個 Skill 編排成一套完整的工作流和方案。誰能更好地支持這種組合方案的創建、保存和複用,誰就能在這個賽道上站穩腳。
第三,Agent 即基礎設施。
它不再是你打開來用一下就關掉的東西,而是一個 24 小時運行在你電腦上、連接着你所有 IM 通道、持續幫你盯着事情的後台系統。
這個變化才剛剛開始。
Forge 已經開源了。感興趣的朋友可以去 GitHub 上看看。
不是讓你用我的產品。
是希望你理解了這套設計邏輯之後,也能自己搓一個出來。
這件事的門檻,比你想象的低得多。
