ChatGPT 實戰 9 招 - DeepLearning.AI Prompt 免費課程
【版权说明】本文转自https://blog.androchen.tw/dlai-chatgpt-prompt-engineering/
感谢作者androchentw的无私分享
Overview

2023-04-28(五) 左右,AI 大師吳恩達與 DeepLearning.AI 合作推出免費 1.5 小時線上課程: ChatGPT Prompt Engineering for Developers。相信已經很多人也被心得文資訊轟炸過一輪。
先說結論:
不需要在意太多別人的文章,包含我的這一篇,重要的是自己動手實作。(雖然我也一向不寫太詳細的操作文 😂)。2023-05-06 的活動: 2023 Generative AI (AIGC 詠唱者年會) 當中,也有各種非理工的實作應用,值得大家多加參考。
大膽地說,所有現代社會人都應該學習 ChatGPT 及其應用,以提高生產力。這一波的發展下來,普遍的共識是 AI 將會成為比手機與電腦更為普及的存在。如果你認同手機與電腦是當代社會吸收資訊及工作不可或缺的工具,那就沒有理由不學習 AI 的使用方式。AI 互動學成為未來 10 年後的一門基礎教育課,可能都不為過。
反過來說,不學又怎麼樣? 20 年後的話,可能就像出門都用雙腳走路,不使用任何電器、不搭乘交通工具。可以過著一個清閒的自然生活,但同時也失去了探索更多地區的體驗。也許不會真的怎麼樣,但也有點可惜。
這個課程適合的客群 TA:
💪 希望更進一步提升自己使用 ChatGPT 等 LLM 的生產力。
🕒 願意投資時間 (2 ~ 4小時) 理解並運用。課程 9 章共 1.5 小時左右,加上吸收理解的時間,就算當作一個週末的英文聽力也好。
💻 具備一點程式基礎。課程會搭配線上 Jupyter Notebook & Python SDK。
我想特別鼓勵一下沒有程式基礎的朋友,不用擔心。因為影片裡都有程式範例,也有解說,就算聽不懂也可以一鍵執行。而且你會發現高階語言已經不如以往的程式一般可怕,當作英文文章去讀即可。在我這一輩的台灣社會,習慣用文組/理組來區分能力。事實上完全不需要畫地自限,負面自我暗示。不如說,ChatGPT 等 LLM 的誕生,為文組人帶來實作能力強化的好處。
另一層面,你可以將程式語言視為是一種「更有結構、邏輯性更強的語言」。透過這個機會學習一種語言表達的方式,是非常適合且有效率的。用人話來說,就是「學了程式語言之後,我才發現自己平常講話的邏輯是多麼模糊不清」。不懂的地方就問 ChatGPT,持續學習!所有的學習都不會白費 👍
你能透過這篇文章學到:
📝 30% 理論統整。我會重點摘要幾個關鍵字成 mindmap,便於作為課程心得提醒。
🛠️ 60% 實戰技巧。我喜歡將實戰技巧化為 cheatsheet,便於日後應用。
💡 10% 應用發想。最重要的是腦力激盪的部分。
🤔 Q: ChatGPT 可以應用在你的工作與生活中,哪些流程?
💪 A: 思考自己拿 ChatGPT / AI 用來做些什麼? 效果如何? 還有什麼地方可以發揮潛力?
01.前情提要
課程目標: 激發你對新應用的想像力。
明確指示: 將 LLM 視為 “聰明但不清楚任務細節的人"。
我本身的工作是在做開發維運的流程優化,所以會習慣從流程的觀點切入。內容也不會跟課程完全一樣。
建議重點還是放在各位的日常實務。什麼意思呢?
思考如何改善原本費時/瑣碎的工作流程。
融入到日常生活中,創造改變。
在未來的使用過程中,也可以時常回想自己是否有運用這些技巧。這堂課程對於已經熟悉如何應用 ChatGPT 的朋友來說並不困難,可以算是簡單的基礎課。即便如此還是建議從更系統化的方式,重新檢視自己還有哪些可以深入探討的地方。
以下附上課程摘要心智圖,可以參考此 gist - 2023-05-07-dlai-chatgot-prompt-engineering.md,搭配 markmap 製作自己的課程 mindmap 筆記。

02 準則 Guidelines
1. 清晰且具體的指示

寫出清晰且具體的指示 write clear and specific instructions.
清晰不等於簡短 clear != short.
實戰技巧
分隔符號 Use delimiters (```, ===, …) 以避免 prompt injections
結構化輸出 structured output (HTML, JSON, markdown, …)
例外處理 Exception Handling
示範成功 Few-shot prompting
整合範例

2. 思考時間

給模型思考的時間 Give the model time to think.
不要給太過複雜的指示。
或是切分成數個小的任務。
或是請 ChatGPT 列出任務列表,再自行手動調整。
讓 ChatGPT 自己想出答案,再跟既有答案比較,並進行評估。
整合範例

3. 模型限制 Model Limitation
幻覺 Hallucination: 「一本正經的瞎掰」。
對策: 先找相關資訊 > 再基於前述內容回答。
03 迭代 Iterative

不需要去在意什麼 “30 個完美 prompt” 的文章。
第一次執行的 prompt 並不重要,重要的是過程。瞭解如何用更好的過程來開發,並取得正確的 prompts。
減少迭代次數,而不是記憶多少 prompt。因為每次的需求都會不太一樣。
透過指定字數, 格式等特定規格,以更精準地達到你要的結果。
04 摘要 Summarizing
客製化摘要 Summarize: 為不同對象總結不同內容 (運輸 / 定價部門)
流程應用範例: 為個別客戶評論進行總結 (迴圈
for
loop)
05 推理 Inferring
從客戶評論中,取得商品評價細節
情感分析 Sentiment analysis
萃取資訊 Extract information
推理文章主題 + 比對判斷關鍵字 Inferring
06 轉化 Transforming
翻譯 Translate
校對 Proofread: 文法, 拼字檢查
語氣轉換 Change tone

07 擴寫 Expanding

個人化電子郵件 Generate personalized email based on some information.
客服 AI 助理 customer service AI assistant
調整溫度,平衡穩定與多樣性 Temperature
08 聊天機器人 Chatbot
訂單機器人
上下文 Context
09 結論 Conclusion

感想

另外分享一張我很喜歡的圖。為什麼要強調需要動手實作呢? 因為看完別人的文章,終究只是資訊而已。要能夠成為自己可以應用的知識,甚至從中發現洞察,關鍵步驟就是透過實作,與自己的既有知識產生連結。
持續學習,共勉之 💪

注:该笔记的相关讲座ChatGPT Prompt Engineering for Developers无法完成上传,故而已通过BDWP分享至盗火团的群。
