---
title: windsurf 經驗
updated: 2025-05-16 09:11:22Z
created: 2025-05-16 08:38:01Z
latitude: 25.03296940
longitude: 121.56541770
altitude: 0.0000
---

對一支 Go 程式除錯：
原功能： 複製 example.env 並給予 .env 值
問題，新的 .env 檔跟原 example.env 檔一樣，沒有因為按 enter 給予預設值
簡單原因： 按 enter 時代入空字串進到 updateEnv 時，都會因為偵測字串是否為空值而被擋掉了

## Prompt:
我寫了一個 @main.go  應該要複製 example.env 然後給輸入的值到 .env ，但執行 go run ./cmd/install 後，.env 沒有如我預料在都按 enter 時給予預設值，可否協助我除錯


## SWE-1（windsurf 的新語言）
問了兩次，可以偵測到原因，並自動改寫完整程式
程式有補齊，但不是我要的，沒有用 example.env 的預設值而是自己想像的值
可能因為我沒有提供 example.env 這個關鍵字
兩次後還是沒有解決原問題

★★

## GPT 4.1
第一次詢問能找到原因，接續請我選擇簡單更改 updateEnv 還是完整更改 main.go 流程
選更改 main.go 流程後程式不能跑了，因為它自創一個未宣告函式

★★

## Gemini 2.0
不能使用 use tools 直接放棄...

★

## Gemini 2.5 Pro
點出問題且直接選擇改 updateEnv 的方式，解析問題的部份提供很多細節，並自動選了快、速效的修改途徑，改完立刻執行程式驗證（執行後就需要我手動輸入）
結束後分析 .env 檔進行測試驗證，很不錯
並點出新的問題，問修改 MySQL 參數選 N 時沒有提供隨機密碼，而是複製原檔案
因為不確定這是否為我的預期，所以停止執行修改，詢問是否需要他繼續修改

整體而言有完成我的需求
★★★★★

## Claude 3.7 sonnet
有找到問題，並用了完全不同的方法：直接在 main 最前面加一個 copy 到 .env 檔案
只改了三行（且其中兩行還是加註解）
然後直接進行測試（一樣要等我手動輸入）
測試完立刻檢驗 .env 檔，然後發現原問題沒有解決，進行第二次修改
第二次修改包含兩次修改，因為第一次改完後有這錯誤「"regexp" imported and not used」（但這是 go 特性，載入 package 一定要用到不然報錯，真神奇
最後達成我要的修改，不過沒提出下一個修改方向

★★★★