OpenAI 如何幫助我的工程師工作
OpenAI 是一家人工智慧研究公司,致力於研究如何讓人工智慧與人類世界接軌。
除了大家所熟知的 ChatGPT 以外,在機器人、自動駕駛等領域有許多卓越的貢獻。
這篇文章將從各個角度簡單分享一下 OpenAI 如何幫助我在工程師的工作上有更好的產出。
重構程式碼
在開發過程中,我們有時會遇到需要重構程式碼的情況。
除了常見的一些需要重構的情境,程式碼可讀性差、程式碼重複、程式碼效能差或加入新功能開發時間過長等等。
我們也可以用來升級舊的程式碼,比如說:升級舊的套件版本、升級舊的程式語言版本等等。
但此時也許會遇到我們自身的背景知識不足,或是需要花費大量的時間來研究舊的程式碼,才能夠進行重構。
而使用 AI 來幫助我們,除了可以同時處理大量程式碼,並且還可以找到隱藏的問題。
例如:重複的程式碼、潛在的效能問題或者不好的設計模式等等。
以下分享一些我在重構程式碼時,使用的 prompt。
Rewrite this function to make it more efficient
如果不幸看不太懂,他到底在幹嘛,可以試試看這個 prompt。
Refactoring the code and explain in traditional chinese
幫你加註解。
Add code comments
如果你有 code review 的需求,可以用用看這個。
Review code and explain it [List of points]
除錯
有時候,我們會遇到從來沒有遇過的錯誤,以至於沒辦法快速地從 Google 獲得解答。
又或者,這是一個非常複雜的問題需要大量地閱讀程式碼,又有時間上的壓力。
這時候,如果讓 AI 幫助我們快速找到問題的所在,那就可以節省大量的時間 (還有拯救我的職涯
此時,我們可以給 AI 一些提示(prompt),讓他幫我們一步步找到問題所在。
How to fix this error?
class java.util.ArrayList cannot be cast to class java.util.Set.
如果這無法解決你的問題,可以試試看讓 AI 角色扮演,再描述一次你的問題。
I want you to play a Python expert. You will be able to use Python to solve any problem I give you. If you can’t solve it, please let me know your problem, and I will help you solve it step by step.
產生文件
使用 AI 來產生文件除了顯而易見的節省時間以外,另一個優點就是可以產生風格一致並可靠的文件。
GitHub Copilot
下圖就是我們使用 GitHub Copilot 來產生文件的範例。
GitHub Copilot 會自動幫你補完下一句,但如果不滿意你可以打開 GitHub Copilot 視窗,讓他一次提示你其他可能性。
從一系列指令產生文件
我們可以從一系列指令產生文件,例如:從一系列的 hexo 指令產生文件。
我常用的 prompt 如下。
請幫我根據以下指令,產生說明文件。
npm install -g hexo-cli
hexo init blog
cd blog
hexo server
你可以試著自己丟給 OpenAI 看看會有什麼結果。
在這裡要注意的是,使用 AI 產生的任何內容,還是需要你自身檢查一下,因為 AI 有可能會產生一些錯誤的內容。
產生 Commit Msg
我們可以使用 AI 來產生 Commit Msg,除了可以節省寫 Commit Msg 的時間,並且可以讓 Msg 保持一致的風格。
如果你的專案有許多人參與,那麼 Commit Msg 的風格保持一致是很重要的,因為可以幫助其他人更容易閱讀你的 Commit Msg。
首先使用 git 指令來產生一些提示,例如:新增、修改、刪除等等。1
git diff --cached
在這裡使用 cached
的原因是,我們只想要產生 staged 的檔案,而不是所有的檔案。
接著,我們可以使用以下的 prompt 來產生 Commit Msg。
I have the following changes in files.
Please help me generate a short commit Msg.
The commit Msg should be started with one of the words: updated, added, removed, fixed, adjust and move.
{changed_msg}
產生報告
如果你的 team 剛好會蠻頻繁的製作簡報,而在日常忙碌工作底下,可以拿來準備投影片、講稿的時間可能會沒有想像中的那麼多。
這時候,你可以使用 AI 來幫助你產生報告 (再一次拯救我搖搖欲墜的職涯
你可以用下面的流程來製作你的報告,基本上你遇的到問題都可以用這個流程來嘗試解決。
- 定義你的問題
- 例如:我要產生一份 OpenAI 的報告。
- 搜尋相關的 prompt
- 例如:我要準備報告,請幫我準備 OpenAI 題目的大綱。
- 產生問題的輸入
- 例如:你的問題描述、你的 commit change log、你的程式碼等等。
- 最後一起送進給 AI,讓他幫你產生報告。
- 針對每一個細節產生更多描述
- Please use 2 to 3 bullet points to explain what NLP is
- Please describe Natural Language Processing in 50 words
- 直到你滿意為止
甚至於你可以拿你整理好的大綱,請 AI 幫你產生講稿。
哪裡有好用的 prompt
如果要讓 AI 可以好好幫助你,產出你想要的內容。
那其中的一個關鍵就是怎麼找到好用的 prompt 來幫助你引導 AI 產出你想要的內容。
OpenAI Discord channel
這個是 OpenAI 的官方 Discord 頻道,裡面有許多人分享他們的 prompt。
你可以在 prompt-library
頻道找到許多好用的 prompt。
你可以用這個網址來加入 OpenAI Discord 頻道。
https://discord.com/invite/openai
AwesomeChatGPTPrompts
這個則是搜集了許多很棒 prompt 的網站,裡面有許多角色扮演的 prompt,可以幫助你在一開始就有對的產出。
https://www.awesomegptprompts.com/
最後
如果有什麼 AI 服務也幫助你節省了大量的時間,歡迎在下面留言跟我分享。