當 AI 開始接得回來,我開始思考要怎麼教它工作
當產品開始持續迭代,我發現有些事情不是某一次功能的需求。
而是我希望 AI 在這個專案裡,一直遵守的工作方式。
例如 UI 有一些我希望維持的原則。
版本更新有一些固定要同步處理的事情。
程式修改之後,也有一些我希望它一定要確認的事項。
這些事情每次在對話裡講一次,好像沒有什麼。
但當產品開始一直修改之後,我突然發現:
為什麼這些事情我要一直講?
所以我開始嘗試另外一種做法。
把這些「我希望 AI 記住的工作習慣」,直接寫進專案裡。
我不想每一次都重新提醒 AI
一開始和 AI 一起開發的時候,我常常會在對話裡補充很多事情。
「這裡不要用 Icon。」
「版本號改了之後,記得同步更新其他地方。」
「這個畫面希望保持簡潔。」
這些事情每次講一次,好像沒有什麼。
但當產品開始一直修改之後,我才發現:
這些其實不是某一次功能的需求。
而是我希望 AI 在這個專案裡,一直遵守的工作方式。
如果每次都重新說一次,久了其實很容易漏掉。
所以我開始想:
有沒有什麼方式,可以讓這些規則直接跟著專案走?
我開始使用 Copilot Instructions
我在 Money Snap 裡建立了 copilot-instructions.md。
它不是某一個功能的規格。
也不是告訴 AI:
「這一次要幫我完成什麼。」
比較像是在告訴它: 如果你要繼續和我一起做這個專案,請用這樣的方式工作。
例如 UI 有一些我希望一直維持的原則。
版本更新有一些固定要同步處理的事情。
程式修改之後,也有一些我希望它一定要確認的事項。
這些東西以前散落在不同的對話裡。
現在我把它們放進專案。
於是下一次開始新的功能時,我不用再重新提醒一次。
我不是只在寫程式,而是在慢慢建立一個「和 AI 一起工作的環境」。
Instructions 和規格不一樣
規格是在說: 這一次我們要做什麼。
Instructions 比較像是在說: 我們平常應該怎麼做。
例如今天要做自訂面額。
規格會告訴 AI:
「自訂面額應該有哪些功能。」
但 Instructions 不需要知道這個功能。
它只需要告訴 AI:
「在這個專案裡,UI 應該遵循什麼原則。」
「版本更新時,哪些地方需要一起確認。」
所以我把兩者分開看。
產品需求
↓
這一次要做什麼?
開發規格
↓
這一次要怎麼完成?
Instructions
↓
平常應該怎麼工作?
這樣一來,AI 不只是知道「我要做什麼」。
也開始知道:
「在這個專案裡,我應該怎麼做。」
最有趣的是,我沒有特別感覺到它正在「讀 Instructions」
這可能是我覺得這次最有意思的地方。
我沒有每一次都跟 Copilot 說:
「請先讀 instructions。」
「請記得我們的 UI 規則。」
我只是照原本的方式工作。
但在過程中,我開始看到一些原本需要自己提醒的事情,變成它工作時會一起考慮的事情。
這種感覺和前面「讓 AI 接得回來」很像。
只是上一個階段是在解決: AI 能不能理解現在的專案?
這一次則開始變成: AI 能不能理解我希望它怎麼工作?
這比較像是在「建立團隊規則」
如果今天真的有一個新的工程師加入專案。
我不會希望每一次 Code Review 都重新告訴他:
「這裡有一些固定的版本更新流程。」
「這個專案有一些特別的限制。」
這些東西應該被寫下來。
因為寫下來之後,它就不只是某一個人的記憶。
而是團隊共同遵守的規則。
Instructions 很像是在幫 AI 建立一份「這個專案的工作文化」。
它不是產品需求。
也不是技術文件。
而是: 我們在這個專案裡,習慣怎麼工作。
實際使用之後,我才發現它真正有價值的地方
我覺得 Instructions 最有價值的地方,不是讓 AI 突然變得更聰明。
而是:
減少我一直重複說同一件事情的時間。
以前我可能會在對話裡一直補充:
「這裡不要這樣。」
「那個不要引入。」
「改完記得同步。」
「這個要測試。」
現在這些東西如果已經寫進專案,我就可以把注意力放到真正的產品問題。
例如:
「這個 UI 我用起來不順。」
「這個流程是不是可以再短一點?」
「這個情境是不是還會出錯?」
而不是一直提醒 AI 基本的工作規則。
這個差異看起來很小。
但當開發開始一直迭代,我覺得它會慢慢累積成很大的差別。
我開始發現,AI 協作其實有兩個層次
到了這裡,我開始把前後兩個階段連在一起看。
第一個階段,是讓 AI 理解專案。
所以我需要留下:
- 規格
- 程式
- 測試
- 版本紀錄
- 工作計畫
讓它可以重新找到目前的位置。
第二個階段,是讓 AI 理解我的工作方式。
所以我開始留下:
- Instructions
- 開發習慣
- UI 原則
- 驗證方式
- 專案裡固定遵守的規則
前者是在回答: 「我們現在在哪裡?」
後者是在回答: 「我們要怎麼一起工作?」
我覺得這兩件事情開始接起來之後,AI 才比較像是一個可以長期合作的協作者。
我還在觀察,它到底能不能真的做到
我現在還不會說:
「寫了 Instructions 之後,AI 就完全不會犯錯了。」
沒有這麼神奇。
它還是可能理解錯。
還是可能漏掉一些事情。
還是需要我實際操作、Review、測試。
甚至有時候也會發現:
原本寫在 Instructions 裡面的規則,可能根本不適合現在的產品。
那就再修改。
所以 Instructions 本身也變成一個會持續迭代的東西。
這和產品其實很像。
我的 AI Workflow 也會慢慢從一開始的幾個規則,變成越來越適合這個專案的工作方式。
我現在更在意的是怎麼讓 AI 可以一直跟我一起工作?」
它要知道現在的專案在哪裡。
知道下一步要往哪裡走。
知道哪些東西不能被破壞。
也知道我希望它用什麼方式工作。
而我則繼續負責最重要的事情:
實際使用。
觀察。
判斷。
發現問題。
做產品決定。
然後再把這些新的理解,繼續放回專案裡。
AI 協作好像慢慢變成了一個循環:
產品 ↓ 我實際使用 ↓ 發現問題 ↓ 和 AI 一起修改 ↓ 測試 ↓ 留下新的規則與經驗 ↓ 下一次開發 ↓ 再繼續迭代
這可能才是我現在真正想建立的東西。
可以逐漸理解產品、理解工作方式,然後和我一起持續把產品往前推的 AI 協作者。
而我也正在一邊做產品,一邊建立自己的 AI 協作方式。