我在 2026-07-20 嘗試著讓 AI 去將微軟的 microsoft/markitdown專案改寫成 golang。
這是以下是個人紀錄
環境
AI
使用的 AI 是 Github Copilot 免費方案,Modal 選擇 Auto。這次是這個帳號本月第一個 Github Copilot任務
說是blog……雜記比較準確吧…
我在 2026-07-20 嘗試著讓 AI 去將微軟的 microsoft/markitdown專案改寫成 golang。
這是以下是個人紀錄
使用的 AI 是 Github Copilot 免費方案,Modal 選擇 Auto。這次是這個帳號本月第一個 Github Copilot任務
因為在上班地點,基本上電腦不可能和在家一樣是管理員權限。但偏偏在實務上有需要設置環境變數(例如安裝某些東西)
我之前都以為得去「設定」那裏改才行。
後來才知道,原來直接從下方的工作列搜尋就可以做到了
最近因為 Ghostty 要離開 GitHub的新聞,讓我想好好談一下為何我有些專案不得不放在 github(或是不得不選 github 作為 mirror)
最近試了一下 llama.cpp 來操作本地 AI
首先是 llama.cpp 的取得,我是參考小灰灰的笔记:《llama.cpp 入门指南:在本地运行大语言模型》,去 llama.cpp 專案的 release,根據自己的 OS 來選擇(我現在是 win11 x64,所以選「Windows x64 (CPU)」)
將之解壓縮後,放在你要的資料夾,然後設置環境變數。
最近不知道為什麼,X(twitter)很常推薦給我各種不同的配色方案。
明明之前都不會的
又這些配色方案很多都很好看,特此紀錄一下
首先先來紫色系配色的
Starting with Firefox 148, which rolls out on Feb. 24, you’ll find a new AI controls section within the desktop browser settings.
—Ajit Varma, «AI controls are coming to Firefox»
As our CEO beautifully puts it: "We spend our engineering time on stability and features users actually requested. Not on AI assistants that hallucinate answers, while training on your private browsing history. Novel idea, apparently." 🎯 pic.twitter.com/xKp9M1Knqv
— Vivaldi Browser (@vivaldibrowser) February 3, 2026
最近看到這兩個蠻有趣的瀏覽器新聞
今天微軟突然發布一個超棒的工具:Windows App Development CLI (winapp)
這個工具大幅簡化了 windows 應用程式的簽章等動作。
這裡列幾個 winapp 能做的事
拜託AI做的事是:「清理註解掉、沒有用的CSS」
這件事情的緣由是我在幫前人寫的畫面重構。
因為要改的東西很多,所以很多 code 都是用「先註解掉」的方式處理,以便我可以和原本的畫面進行對照。
在經歷過各種波折,終於改完後,註解掉的不用的 code 也多如牛毛了……( ̄┰ ̄*)
這時拜託 AI 幫我把這些清理掉。
前幾天天看到 Stack Overflow 2025 年的問券調查報告。
還蠻有意思的,尤其是 AI 相關的部分。
這份調查和我自己的感受蠻接近的。
There's a new kind of coding I call "vibe coding".
(中略)
It's possible because the LLMs (e.g. Cursor Composer w Sonnet) are getting too good. Sometimes the LLMs can't fix a bug so I just work around it or ask for random changes until it goes away. It's not too bad for throwaway weekend projects, but still quite amusing.—Andrej Karpathy, X(原 Twitter)
不要相信任何會自己思考,但你卻不知道它把腦袋藏在哪裡的東西。——亞瑟.衛斯理,《哈利波特-消失的密室》第 18 章《多比的獎賞》
延續上一篇,繼續抱怨在開發上使用AI的狀況。
這次抱怨AI答非所問的狀況吧
There's a new kind of coding I call "vibe coding".
(中略)
It's possible because the LLMs (e.g. Cursor Composer w Sonnet) are getting too good. Sometimes the LLMs can't fix a bug so I just work around it or ask for random changes until it goes away. It's not too bad for throwaway weekend projects, but still quite amusing.—Andrej Karpathy, X(原 Twitter)
不要相信任何會自己思考,但你卻不知道它把腦袋藏在哪裡的東西。——亞瑟.衛斯理,《哈利波特-消失的密室》第 18 章《多比的獎賞》
今年公司開始要求大家大量使用 AI
所以想寫一下自己這幾個月來,使用 AI 的感想
這次先來談談由與使用 AI 的人合作開發的狀況吧
Comment
byu/Ambitious_Credit_591 from discussion
inlearnpython
看完這個留言很有感
雖然很多人在那裏說 AI 取代OO什麼的
但實際上,我自己用 AI 的感覺是:AI還是有所限的,你想用 AI 寫程式的話……算了吧,大師兄……
AI如果寫簡單的東西還行。
目前用起來,最好的是幫我把已知物件轉成 interface / struct
至於寫程式,別說複雜了,有時候連簡單程式都有問題
舉幾個自己遇到的例子
const response = await fetch("API URL", {
method: "POST",
headers: {
'Authorization': token,
'Content-Type': 'application/json',
'Accept': 'application/json',
'Cache-Control': 'no-cache',
'Pragma': 'no-cache'
},
body: JSON.stringify(params),
cache: 'no-store'
})
if (!response.ok) {
const errorText = await response.text();
console.error('無法取得資料', errorText);
throw new Error(`無法取得資料: ${response.status} - ${errorText}`);
}
const data = await response.json();
// 檢查 data 類型
if (Array.isArray(data)) {
/* 中略 */
} else if (typeof data === 'object' && data !== null) {
/* 中略 */
} else {
console.error('資料格式錯誤', data);
throw new Error('資料格式錯誤');
}
……等等
這種情況下,你要我怎麼相信 AI 啦
連幫我省時間都做不到,還增加我時間……
剛才看到 iThome 的《AI生態系Python獨大,Go缺乏關鍵函式庫應用阻礙多》這篇文章,感觸頗多的
生成式 AI 已經出來這麼久了,但牽扯到自制模型、修改模型、讀取模型,基本上都是 python 的東西
其他語言寫出來的,很多都只是讀取現有網路模型的API而已,例如 sashabaranov/go-openai 就是使用 Open AI 提供的 API 的 golang 專案。
而TensorFlow提供的 Go lib 又得基於 C ,要用 CGO 也無妨,不過我試著使用都沒法正常執行……
最近在 Go 的 blog 中看到«Building LLM-powered applications in Go»這篇文章。看到標題很開心終於有可以用的 library 來處理 LLM Model 了……
處理模型的部分要參照該文的«Using LangChain for Go»章節,他是使用 tmc/langchaingo 來處理的
他有使用 ollama 的範例,應該是可以期待。
另外我還有看到 gotzmann/llama.go 、 nikolaydubina/llama2.go 這兩個專案。這兩個也是使用 llama 的
最近在用 Vivaldi、Edge、Google Chrome……等 Chromium Base 的瀏覽器時遇到一個 Bug——headless 無法擷圖
在 112 版時,Chromium 的 headless模式做了調整
根據官方文件說明(詳見Chrome for Developers: Chrome Headless mode),之所以要修改,是因為原本的 headless 模式其實是由獨立的程式執行。
這就導致有些狀況是 headless 的程式獨有;有些是瀏覽器獨有。
修改後, --headless 參數默認使用新版 headless
模式;舊版則是要用 --headless=old。