使用者只需要 AI 的一部分功能,不該被迫使用全部。
CRP 的意思是「共同重用原則」。
它的重點是:不要把不會一起用到的東西硬塞在同一個包裡。
這樣會讓人覺得被綁手綁腳,只想用一點點功能,卻被迫拿一大堆沒用到的東西。
想像我去便利商店,只想買一瓶可樂。
結果店員說:「抱歉,我們的規定是要買一整個飲料箱,裡面有可樂、雪碧、果汁還有你根本不喝的東西。」
我一定會覺得很奇怪。
其實我只需要「一瓶可樂」就好。
不要把大家不會一起用的功能綁在一起,要讓使用者可以單獨拿自己需要的。
假設我們有一個 AI 工具,裡面有三種功能:
如果你只是要「翻譯」,卻要一起下載「畫圖」和「寫文章」的程式,那就是違反 CRP。
正確的做法是:讓翻譯、畫圖、寫文章各自獨立,這樣需要的人就可以「只拿需要的那一部分」。
小小程式範例(JavaScript):
// 不好的例子:全部綁在一起
class AI {
translate() { /* 翻譯功能 */ }
draw() { /* 畫圖功能 */ }
write() { /* 寫文章功能 */ }
}
// 好的例子:分開成不同的模組
class Translator {
translate() { /* 翻譯功能 */ }
}
class Drawer {
draw() { /* 畫圖功能 */ }
}
class Writer {
write() { /* 寫文章功能 */ }
}
這樣,使用者就可以自己選要拿「Translator」或「Drawer」,不會被迫全都一起拿。
今天新增一個 AI 製作圖片的功能(目前先用假圖,下一步再進行串接):
CRP 的意思就是:不要讓別人因為想要一瓶可樂,就被迫買整箱飲料。
在寫程式時,要盡量讓功能可以各自獨立,這樣別人才能自由選擇。
如果 GPTs 是這個部落格的功能,會怎麼拆分呢?