昨天晚上的 Python 全攻略說明會,一位網友在自我介紹時,關於未來打算用學會的 Python 來做什麼,想不出來。
我經常使用 ChatGPT(或類似服務)寫程式來協助日常瑣事,今天想了一下,決定辦個系列活動,當作範例來開拓大家的想像力。
參賽者只能透過 prompt 與各服務溝通來產生程式碼,所有程式碼必須來自該服務的回應。
參賽者不能自行修改程式碼,也不能手動補充程式。
▌比賽辦法
1. 賽制與時間安排
-
比賽形式:原則上每個月一次,視活動是否熱絡而調整。
-
比賽時長:每次比賽時間為一週,公佈題目後,一週內提供程式與 prompt 連結,參賽者可提供多次解答。
-
比賽平台:參賽者可自行選擇 ChatGPT 或類似服務,付費免費皆可,也不限只能用一種服務,透過 prompt 與該服務溝通來產生程式碼。
2. 比賽規則
-
題目:每次比賽提供 1 個題目,說明完成目標,參賽者的解決方案,可以盡量接近該目標,超越更好。
-
Prompt 限制:參賽者只能透過 prompt 與各服務溝通來產生程式碼,所有程式碼必須來自該服務的回應。參賽者不能自行修改程式碼,也不能手動補充程式(超過 prompt 長度不限,唯必須提供前一 prompt 產生的相同程式碼)。
-
繳交資料一:prompt 連結,可不限一個連結。
-
繳交資料二:單一 Python 檔,可以在 DOS Prompt 或 google colab 環境下執行,繳交時請說明。
3. 計分方式
完全由評審自由心證,但會參考以下項目:
-
正確性:根據程式碼是否解決題目要求,給予分數。例如執行結果是否正確、是否涵蓋所有測試情境來評分。
-
溝通技巧:根據參賽者與 ChatGPT 之間的溝通有效性進行評分。prompt 設計清晰且能引導 ChatGPT 生成正確程式碼的參賽者,將獲得較高分數。
-
效率:考慮 prompt 的次數和每次的成功率,使用較少 prompt 且生成更高效的解決方案將獲得加分。
-
創意性:對於有創意解決方案的參賽者,提供額外加分,這包括如何巧妙引導 ChatGPT 寫出不只是正確,而是優雅的程式碼。
4. 評審團
- 初期由我來負責,評估程式的正確性、prompt 的創意性。如果活動持續辦下去,我會找其他專家加入。
5. 公開展示
- 每位參賽者的 prompt 連結和生成的程式碼,請同意公開展示。
6. 賽後討論
- 比賽結束後,歡迎參加賽後討論,分享各自的 prompt 策略,以及如何優化生成的程式碼。
7. 冠軍獎品
- 由我協助,代為註冊一週的 Udemy 限免課程,一週的課程數量加總大約300堂,價值超過1萬元。得獎者請自行決定提供現有 Udemy 帳號或建新帳號,於公佈冠軍後提供。
比賽方法可能依進展調整。
▌提交作答
請在 AI 程式大挑戰 這個類別中 發文(+ 新話題) ,並將 Python 程式碼寫在文章中即可。
提醒:ChatGPT(或其他同類型服務)的連結,建議於截止後再提供,讓其他參賽者有自己思考的機會。
如何將 Python 程式碼寫在文章中,請參考這篇文章:Code Block 程式碼區塊支援的程式語言
以下是簡單說明及範例:
說明
-
在你要放入程式的第一行和最後一行,分別以
```
標示,就會以程式碼的格式呈現。 -
要指定哪一種程式語言,只要在第一行的
```
後方,加上你想顯示的程式語法。例如 Python 的寫法就是```python
,依此類推。
範例
@requires_authorization(roles=["ADMIN"])
def somefunc(param1='', param2=0):
r'''A docstring'''
if param1 > param2: # interesting
print 'Gre\'ater'
return (param2 - param1 + 1 + 0b10l) or None
class SomeClass:
pass
>>> message = '''interpreter
... prompt'''
圖檔來源:Pixabay