iT邦幫忙

2026 iThome 鐵人賽

DAY 7
0
AI Engineering

從 Prompt 到自主決策:用 Python × Agentic Workflow 實作生活助理系列 第 7

將程式碼打包成可重用的模組:Function 與 Agent 的 Tool 第一步

  • 分享至 

  • xImage
  •  

在過去幾天的文章中,我們學習了變數、if / else 條件判斷、List 串列與 Dictionary 字典。
當我們的程式碼越寫越多時,如果每次要執行某個功能(例如:計算折扣、格式化文字、查詢天氣)都把程式碼重寫一遍,不僅會讓檔案變得又長又亂,之後想要修改時也會非常痛苦。
為了讓程式碼可以重複使用且易於維護,我們需要使用 Python 的 Function(函數 / 函式)。
什麼是 Function(函數)?
你可以把 Function 想像成一台「積木」或是「小機器」:

  1. 你給它一些原料(輸入參數 / Arguments)
  2. 它在內部進行處理(執行邏輯)
  3. 最後吐出處理好的成品(回傳值 / Return Value)
    在 Python 中,我們使用 def 關鍵字來定義一個函數:
# 定義一個名為 greet 的函數
def greet(user_name):
    message = f"你好,{user_name}!我是你的 AI 生活助理。"
    return message

# 呼叫(使用)這個函數
result = greet("小明")
print(result)

執行結果:你好,小明!我是你的 AI 生活助理。
透過定義函數,未來只要需要發送招呼語,我們只需要呼叫 greet("名字") 即可,不需要再重複寫字串拼接的邏輯。
帶有邏輯處理的 Function
函數內部可以包涵我們前幾天學到的所有技巧,例如條件判斷與字典操作。
假設我們寫一個幫使用者判斷「今天出門穿著建議」的函數:

def get_clothing_advice(temperature):
    if temperature < 15:
        return "今天天氣較冷,建議穿厚外套與長褲。"
    elif temperature < 22:
        return "天氣涼爽,建議穿薄外套或長袖衫。"
    else:
        return "天氣炎熱,穿短袖即可!"

# 測試不同溫度
print(get_clothing_advice(12))
print(get_clothing_advice(26))

執行結果:今天天氣較冷,建議穿厚外套與長褲。 天氣炎熱,穿短袖即可!
Function 與 AI Agent 有什麼關係?
如果你了解了 Function 的運作機制,你就已經掌握了 AI Agent 呼叫外部工具(Tool Calling / Function Calling) 的核心概念!
大語言模型(LLM)本身只是一套文字生成模型,它無法直接存取網路、無法讀取資料庫、也無法直接操作你的手機。那麼 AI 助理是怎麼幫我們查天氣、訂機票或發送 Email 的呢?
答案就是:工程師把這些功能寫成 Python Function,並授權給 AI 使用!
Agent 工具呼叫的 3 步驟:

  1. 定義工具:我們用 Python 寫好一個 get_weather(city) 的 Function。
  2. 告知 AI(Schema): 我們告訴 AI:「我這裡有一個 Function 叫 get_weather,如果你需要查詢天氣,請給我 city 參數。」
  3. AI 決策與執行(Execution): 當使用者問「台北天氣怎樣?」時,AI 判斷需要使用工具,於是輸出一個 JSON/Dictionary 告知程式:「請幫我執行 get_weather("台北")」。程式執行完 Function 後,再把結果傳回給 AI 總結輸出。
    也就是說,你寫的每一個 Python Function,未來都有可能變成 AI Agent 的一隻「手」或「腳」,讓它能夠真正踏出文字對話框,去幫你執行實體任務。
    今天學到什麼?
    今天我們學習了 Python 模組化的重要核心:
  4. Function(函數):使用 def 定義可重複使用的程式碼區塊。
  5. 參數與回傳值:透過 Input(參數)傳入資料,透過 return 吐出處理結果。
  6. 在 Agent 中的角色:Function 是未來幫 AI Agent 打造「外部工具(Tools)」的原型與基礎。
    到今天為止,我們已經把 Python 的基礎語法(變數、判斷、迴圈、清單、字典、函數)通通走過一遍了!
    下一篇,我們將介紹如何讓 Python 讀取外部檔案(例如 .txt 或 .json),學習生活助理該如何把資料「永久存下來」!

上一篇
讓資料擁有結構與名稱:Dictionary 與 Agent 的資料傳遞
下一篇
讓程式在出錯時不會停下來:例外處理與 Agent 的穩定性
系列文
從 Prompt 到自主決策:用 Python × Agentic Workflow 實作生活助理9
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言