✍️(◔◡◔) 筆記:請 AI 將專案改成 golang 的紀錄

我在 2026-07-20 嘗試著讓 AI 去將微軟的 microsoft/markitdown專案改寫成 golang。 

這是以下是個人紀錄

環境

AI

使用的 AI 是 Github Copilot 免費方案,Modal 選擇 Auto。這次是這個帳號本月第一個 Github Copilot任務

✍️(◔◡◔) 筆記:建立個人的環境變數

因為在上班地點,基本上電腦不可能和在家一樣是管理員權限。但偏偏在實務上有需要設置環境變數(例如安裝某些東西)

我之前都以為得去「設定」那裏改才行。

後來才知道,原來直接從下方的工作列搜尋就可以做到了

(;′⌒`) 為什麼我不得不選用 github ?

最近因為 Ghostty 要離開 GitHub的新聞,讓我想好好談一下為何我有些專案不得不放在 github(或是不得不選 github 作為 mirror)

ᓚᘏᗢ 我的 llama.cpp 筆記

最近試了一下 llama.cpp 來操作本地 AI

取得 llama.cpp

首先是 llama.cpp 的取得,我是參考小灰灰的笔记:《llama.cpp 入门指南:在本地运行大语言模型》,去 llama.cpp 專案的 release,根據自己的 OS 來選擇(我現在是 win11 x64,所以選「Windows x64 (CPU)」)


將之解壓縮後,放在你要的資料夾,然後設置環境變數。

φ(゜▽゜*)♪ 很高興看到 Firefox 不再努力往AI瀏覽器前進~

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»

最近看到這兩個蠻有趣的瀏覽器新聞

  1. Firefox 要新增關閉 AI 的功能
  2. Vivaldi 還是不願意轉型成 AI 瀏覽器

微軟的 winapp 研究

今天微軟突然發布一個超棒的工具:Windows App Development CLI (winapp)

這個工具大幅簡化了 windows 應用程式的簽章等動作。

這裡列幾個 winapp 能做的事

✍️(◔◡◔) 紀錄一下最近用 AI 最舒服的一次經歷

拜託AI做的事是:「清理註解掉、沒有用的CSS」


這件事情的緣由是我在幫前人寫的畫面重構。

因為要改的東西很多,所以很多 code 都是用「先註解掉」的方式處理,以便我可以和原本的畫面進行對照。


在經歷過各種波折,終於改完後,註解掉的不用的 code 也多如牛毛了……( ̄┰ ̄*)

這時拜託 AI 幫我把這些清理掉。

Stack Overflow 2025 年的問券調查報告觀後感

前幾天天看到 Stack Overflow 2025 年的問券調查報告。

還蠻有意思的,尤其是 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答非所問的狀況吧

✍️(◔◡◔) 實測 blogger 的 google 搜尋預覽功能

 久久沒來 blogger,最近居然又更新,新增 google 搜尋預覽功能了!



要用的話,位於編輯列的這裡



(눈_눈) 談談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 的人合作開發的狀況吧

✍️(◔◡◔) 看到 redit 的某篇留言有感而發

Comment
byu/Ambitious_Credit_591 from discussion
inlearnpython

看完這個留言很有感

雖然很多人在那裏說 AI 取代OO什麼的

但實際上,我自己用 AI 的感覺是:AI還是有所限的,你想用 AI 寫程式的話……算了吧,大師兄……

AI如果寫簡單的東西還行。

目前用起來,最好的是幫我把已知物件轉成 interface / struct

至於寫程式,別說複雜了,有時候連簡單程式都有問題

舉幾個自己遇到的例子

  1. 我今天有個 javafx 的 code,但他沒用 FXML,我請 AI 幫我將之轉換,經常會改完後就出現一堆 bug
  2. 我的 typescript 專案,請 AI 幫我根據要求的 API 建立 function,API會寫出一個包含一堆多餘 code 的 function。例如
    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 啦

連幫我省時間都做不到,還增加我時間……

╯︿╰ 希望有更多 go 語言的 llama lib

剛才看到 iThome 的《AI生態系Python獨大,Go缺乏關鍵函式庫應用阻礙多》這篇文章,感觸頗多的

生成式 AI 已經出來這麼久了,但牽扯到自制模型、修改模型、讀取模型,基本上都是 python 的東西

其他語言寫出來的,很多都只是讀取現有網路模型的API而已,例如 sashabaranov/go-openai 就是使用 Open AI 提供的 API 的 golang 專案。

TensorFlow提供的 Go lib 又得基於 C ,要用 CGO 也無妨,不過我試著使用都沒法正常執行……

Building LLM-powered applications in Go

最近在 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 的


┗|`O′|┛ 9/26 發現的 Chromium Base 瀏覽器的 Bug:headless 無法擷圖

最近在用 Vivaldi、Edge、Google Chrome……等 Chromium Base 的瀏覽器時遇到一個 Bug——headless 無法擷圖

在 112 版時,Chromium 的 headless模式做了調整

根據官方文件說明(詳見Chrome for Developers: Chrome Headless mode),之所以要修改,是因為原本的 headless 模式其實是由獨立的程式執行。

這就導致有些狀況是 headless 的程式獨有;有些是瀏覽器獨有。

修改後, --headless 參數默認使用新版 headless 模式;舊版則是要用 --headless=old


( ̄_, ̄ ) 針對 AI,再次更新 robots.txt

今天再次更新 robots.txt 了。

因為現在 AI 愈來愈多,所以再次調整了自家的 robots.txt