[C#] CopilotClawD 開發心得:用 GitHub Copilot 打造可控的 AI Coding Agent

  • 86
  • 0

OpenClaw 這種東西我其實是會怕的,因為它太強了

越強的 Agent,代表它可以碰的地方越多,能做的事情也越多

可是回到我自己的使用場景,其實很單純,我大部分時間只是想拿來 寫 code、改 code、看 code,沒有真的想把整台機器都交給 Agent

所以後來我就想,那乾脆不要一開始就追求一隻超大超猛的怪獸,先自己開發一隻比較順手、比較可控、比較像工程師日常會真的用的小東西。

也就是這隻 "小蝦":CopilotClawD

而且說真的,GitHub Copilot 這條線現在真的滿香的

尤其如果本來就是 Pro 以上帳號,像 gpt-5-mini 這種模型基本上就可以很舒服地拿來日常使用

很多事情根本不需要一上來就開最重的模型,像是整理程式、補小段邏輯、重構一下 method、改 README、幫忙看錯誤

這種工作用 gpt-5-mini 其實就很順了,如果不行就換模型

我自己這套東西到現在大概也已經跑超過一週,陸續也真的完成了一兩個小專案

那種感覺其實滿微妙的,因為你人不在電腦前,還是可以繼續推進專案、繼續改東西、繼續叫它做事。

某種程度上,這不就是讓自己可以更長時間地 "當專業牛馬?" 只是這次不是自己全手動在搬,而是開始有一隻小蝦幫忙一起搬

這篇不是要講安裝,而是想講一個比較實際的心得

安裝流程我就不多寫了,GitHub 上其實都有。

這篇比較想講的是,寫完這個專案之後,我對兩件事情更有感:

1.  GitHub Copilot

2. Harness Engineering

這兩件事其實是連在一起的

因為如果只是單純問 AI 問題,那你可以用很多工具,甚至直接開 chat 視窗也行

但如果你想讓 AI 真的進入開發流程,開始幫你碰專案、理解上下文、做出修改、在工作流裡跟你一起協作,那就不是只看模型強不強了

你會開始在意更多別的東西

為什麼我現在會更推薦 GitHub Copilot

以前大家聊 AI Coding,很容易先比模型

誰比較會寫 code

誰比較會推理

誰改 bug 比較準

誰 context 比較長

  

這些都沒錯,但如果真的站在工程師日常使用的角度,我現在反而會比較看重另一件事

它到底能不能自然地融進我的工作流

尤其如果你本來就是 Pro 以上 的使用者,很多日常任務直接用 gpt-5-mini 就很舒服(unlimited 至少目前是) 

真的不行就是在換模型

寫了這個專案之後,我才比較真的懂 Harness Engineering

這也是這篇最想講的部分。

一開始很多人看 AI Agent,會很自然把焦點放在 model(LLM)

這很合理,因為 model(LLM) 看起來最像核心,但是自己真的下去做之後,我會越來越覺得:

Model 很重要,但真正讓 AI 能工作的是外面那一圈。

以前我會以為 Agent 只是 model + tool

後來自己寫才知道,不是

真正麻煩的是中間那層無形的手

它要知道現在在哪個專案、哪些東西不能碰、哪些指令要擋、哪些狀態要留下來。

這層東西看起來很雜,但它才是讓 Agent 能不能真的拿來工作的關鍵。

那一圈,其實就是現在常講的 Harness Engineering。

我自己現在會把它理解成這樣:

model 負責思考

tools 負責執行

harness 負責把整個環境控制住

  

如果加上 tools,它開始可以做事

但如果沒有 harness,那它就是一個很聰明、很有行動力,但你可能也是放了一顆不定時炸彈的東西

這也是為什麼我前面會說我怕 OpenClaw 那種太強的東西

不是它不好,而是只要能力越強,外面那層控制就越重要

你越是想讓它做更多事,你就越需要把邊界、流程、限制、權限、記憶、驗證這些東西做好

不然你得到的不是工程師助理,而是一個高風險的不確定物種?

 

實際開發時,最有感的是這幾件事

 

1. Agent 一定要有工作邊界,這點真的很重要。

寫一般 chat 工具時,你會比較少去想 "工作範圍" 這件事,因為它大不了就是回答錯,但是他有 呼叫 shell  的能力

那又是另一回事了,對他來說 把你硬碟格式化也只是分分鐘的事情..

 

2.Session 跟記憶,會直接影響它像不像同事

這點一開始我也有點低估`原本以為 AI 就是一次一次問答

後來才發現,只要它開始參與專案,前後文就變得非常重要

你前面改過什麼、現在做到哪裡、哪些地方不要碰、之前踩過哪些坑,這些都不是單輪對話能處理好的

所以當我把這個專案越寫越像 "一個會持續陪你工作的東西" 時,就開始明白記憶與 session 不是附加功能,而是工作體驗本身的一部分。

這也很符合我現在對 Harness 的理解:

Harness 不只是外殼,而是 AI 能不能進入真實工作流的橋

 

3.MCP 這種東西,GitHub Copilot SDK 其實已經幫你處理很多了

這次做 CopilotClawD 時,另一個很有感的地方是 MCP

原本如果要自己做 Agent,工具串接會是一件很麻煩的事

你要想怎麼定義工具、怎麼呼叫、怎麼回傳結果、怎麼讓模型知道有哪些工具可以用

但如果是基於 GitHub Copilot SDK,這一段其實已經被處理掉很多

#這專案讓我更確定,未來工程師不只是 "會用 AI"

 

我自己最近很常想一件事

未來工程師的差異,不會只是 "有沒有用 AI",因為大家都會用

真正的差異可能會慢慢變成:

誰比較懂得把 AI 放進正確的工程環境裡

也就是說,會不會寫 prompt 也許還是有差,但那個差距不一定會越來越大。

反而是下面這些事情會開始更重要

如何設計工具邊界
如何管理權限
如何驗證輸出
如何保存狀態
如何處理危險操作
如何把 AI 串進既有工作流

  

這些事情綜合起來,其實就很接近 Harness Engineering

所以對我來說,CopilotClawD 不是單純一個 "AI Bot" 專案而已

它比較像是我自己動手做了一次小型實驗,然後用這個實驗重新理解

原來 AI Agent 真正難的地方,不是讓它回答,而是讓它工作

GitHub Copilot 這條線的好處,是它本來就靠近工程師的工作流,尤其對 Pro 以上使用者 來說,gpt-5-mini 拿來做日常 coding 幫助

而這個專案帶給我更大的收穫,反而不是某個模型有多強,而是我開始更理解

AI 要真正參與工程,不是只有 model 就好,還要有一層讓它能安全工作、能被控制、能被驗證的 harness

這件事,我覺得才是之後越來越關鍵的地方

因為未來大家都會有 AI

但不是每個人都能把 AI 變成真的能工作的工程夥伴 or 穩定且持續的整合進公司流程中..

一些截圖

 

Source : https://github.com/donma/CopilotClawD

如果有興趣聽我開發歷程可以看這裡 https://www.youtube.com/live/Eo4mZ0HXMgw


-

本文首發於 : [C#] CopilotClawD 開發心得:用 GitHub Copilot 打造可控的 AI Coding Agent

-

---

The bug existed in all possible states.
Until I ran the code.