rm -rf / tmp/qollie
drop database qollie
curl -XDELETE 'localhost:9200/qollie'
自從我離職之後, 我就一直在想我可以做些什麼。其中, 我也有想過我們離 AI 進行 programming 有多遠?? 我提出一個問題。如果你是 PM, 你怎麼讓 programmer 幫你寫程式? 接下來, 如果你是一個下個世代的 programmer, 你怎麼讓 AI 幫你寫程式? 於是我有了一些想法!
能幫你做 coding 的 AI 是長什麼樣?
AI 能幫你腦補你的 spec 的不足。
AI 會問你一些問題,搞清楚問題的細節。
AI 要有 domain knowledge。
同 domain 內的一些習慣類似, AI 能透過 domain knowledge 補足你沒說的部分。
於是, 你得到一個特定領域的機器人, 可以幫你寫 code。你只要需要大致描述你的需求,機器人可以過去的經驗/實例為基礎,幫你完備你的 spec (你的輸入和輸出該長什麼樣)。這個完備的 spec, 就是可執行的程式。
AI 怎麼學寫程式? 那你怎麼學會寫程式的?
最基本的 hello world 和加減乘除。
簡單的 spec + 解答 example.
step by step 對應 spec 和解答之間的關聯.
練習寫一樣的 code.
題目變化,練習.
一直到內化。
你怎麼寫程式?
看著 spec
寫個簡單的 function 有 input 和 output。
修改、補充中間部分的程式。
測試 (腦中或實際執行)。
對照 spec
回到 3. 直到完成
總結是, 我認為需要一個較易 parse 和使用的 spec 語言(而不是自然語言。專業的 PM 也不完全用一般人使用的語言定 spec。)。AI 能幫我們補充 spec,你提到一個條件,AI 能聯想到其它該有的條件。例如你提到使用者帳號,就會自動聯想到要登入,要有 password 和 ID 之類的。透過 AI 和人類之間的來回修改,完成一個完整的系統。過程就和 PM + 人類 programmer 的運作差不多。
基本上, 就是輔助真人 programmer,自動完成一些事。 yinwang 以乎把 AI coding 這件事想的太神奇, 像神奇海螺一樣。 我比較務實一些。