在上篇文章中,我們討論了 if / else 條件判斷與 AI Agent 自主決策的差別。
但在實際應用中,不論是傳統程式還是 AI Agent,都不會只處理「單一資料」或執行「單一次判斷」。例如:生活助理需要檢查你接下來一整週的行程、比對多個地點的天氣預報,或者記住你們過去好幾輪的對話內容。
要處理這些「一整串資料」與「重複進行的動作」,我們就需要用到 Python 的基礎核心 —— List(串列) 與 Loop(迴圈)。
什麼是 List(串列)?
先前我們學到變數可以儲存單一資料:
todo = "整理會議記錄"
但如果今天有多個待辦事項,寫成好多個變數會非常繁瑣。這時候我們可以使用 List,把多筆資料放在同一個「清單」裡:
todo_list = ["整理會議記錄", "回覆客戶 Email", "預約下午茶地點"]
print(todo_list)
執行結果:['整理會議記錄', '回覆客戶 Email', '預約下午茶地點']
List 中的每一個項目都有位置編號(索引 Index),而且 Python 是從 0 開始計算的:
print(todo_list[0]) # 取得第一個項目
執行結果:整理會議記錄
使用 for 迴圈逐一處理資料
有了資料清單後,我們需要讓程式「一個一個拿出來處理」。這時候就可以使用 for 迴圈。
例如,讓程式幫我們印出每一項待辦事項:
todo_list = ["整理會議記錄", "回覆客戶 Email", "預約下午茶地點"]
print("今天的待辦事項:")
for item in todo_list:
print("- " + item)
執行結果:
今天的待辦事項:
- 整理會議記錄
- 回覆客戶 Email
- 預約下午茶地點
程式會自動走訪 todo_list 中的每一個項目,逐一執行印出,直到整份清單處理完畢。
結合條件判斷:篩選資料
我們也可以將條件判斷與 for 迴圈結合。假設我們有一週的天氣預報資料,希望程式自動找出哪些天需要帶傘:
weekly_weather = ["sunny", "rain", "cloudy", "rain", "sunny"]
day = 1
for weather in weekly_weather:
if weather == "rain":
print(f"第 {day} 天會下雨,記得帶傘!")
else:
print(f"第 {day} 天天氣晴朗或多雲。")
day = day + 1
List 與 Loop 在 AI Agent 中扮演什麼角色?
看似基礎的 List 和 迴圈,其實是建構 AI Agent 底層運作不可或缺的核心:
# Agent 的歷史對話紀錄清單
chat_history = [
"使用者:你好,請幫我規劃行程。",
"AI:沒問題!請問您要去哪裡?",
"使用者:我想去台北。"
]
每次你傳送新訊息時,程式就會把它 append(新增)到這個 List 的末端,再整包發送給 AI,這就是 Agent 擁有「記憶」的秘密。
2. Agent 的「思考與執行迴圈」(Agent Loop)
當我們給 AI Agent 一個複雜任務時,它不會只回答一次就結束,而是會在背景進入一個 迴圈(Loop):
思考→行動→觀察結果
這個迴圈會一直重複執行,直到 AI 判斷「任務已完成」才會跳出迴圈,把最終結果回傳給使用者。
今天學到什麼?
今天我們掌握了處理多筆資料與重複任務的基本功:
List(串列):將多個資料收納在同一個清單中(也是 Agent 紀錄歷史對話的基礎)。
for 迴圈:自動走訪清單項目(也是 Agent 重複「思考與執行」的底層機制)。
結合條件判斷:在重複過程中進行篩選與邏輯處理。
擁有了變數、判斷式、清單與迴圈的概念後,下一篇我們將會介紹處理「結構化資料」的重要工具 —— Dictionary(字典)!