---
# System prepended metadata

title: '李宏毅_生成式導論 2024_第9講：以大型語言模型打造的AI Agent (14:50 教你怎麼打造芙莉蓮一級魔法使考試中出現的泥人哥列姆)'
tags: [NTU, 生成式導論 2024, Hung-yi Lee]

---

# 李宏毅_生成式導論 2024_第9講：以大型語言模型打造的AI Agent (14:50 教你怎麼打造芙莉蓮一級魔法使考試中出現的泥人哥列姆)
###### tags:  `Hung-yi Lee` `NTU` `生成式導論 2024`
[課程撥放清單](https://www.youtube.com/watch?v=AVIKFXLCPY8&list=PLJV_el3uVTsPz6CTopeRp2L2t4aL_KgiI)
## 第9講：以大型語言模型打造的AI Agent (14:50 教你怎麼打造芙莉蓮一級魔法使考試中出現的泥人哥列姆)
[課程連結](https://www.youtube.com/watch?v=bJZTJ7MjYqg&list=PLJV_el3uVTsPz6CTopeRp2L2t4aL_KgiI&index=10)
### 多數人使用AI的方式
![image](https://hackmd.io/_uploads/HJD3J5YG0.png)

目前來說多數人使用AI的方式就是讓它做一件事，可能是問個事情，可能是翻譯，又或者是產生一張圖。

### 人類可以做需要多步驟的複雜任務
![image](https://hackmd.io/_uploads/r1XYl9FGR.png)

不過對於人類來說，人類是可以做需要多個步驟才能完成的複雜任務，而且很重要的是，這些步驟是有序的。因為我們不能先訂餐廳再來找朋友問要不要吃飯，如果沒有人要就GG了。而且也有可能訂了餐廳A之後又要改餐廳B，因此這個問題是複雜的。

如果AI可以幫忙人類完成這個複雜工作的話，那我們就可以將之稱為AI Agent。

### AI Agent
![image](https://hackmd.io/_uploads/HJ2qe5tM0.png)

目前已經有的AI Agent。

### 由AI村民組成的虛擬村莊
![image](https://hackmd.io/_uploads/Sk90g9KG0.png)

[參考論文_Generative Agents: Interactive Simulacra of Human Behavior](https://arxiv.org/abs/2304.03442)

這是課堂中有提過的AI村民，這也是一種AI Agent。

### 會自己玩Minecraft的AI
![image](https://hackmd.io/_uploads/SJ-cGcYMR.png)

[參考論文_Voyager: An Open-Ended Embodied Agent with Large Language Models](https://arxiv.org/abs/2305.16291)

論文中說明著讓AI自己探索麥塊世界，隨著時間的演進自己可以做出愈來愈多的高級品。

### 由語言模型操控的機器人
![image](https://hackmd.io/_uploads/rJ-Cz5FfA.png)

或許未來也有機會用語言模型來控制機器人。

### 由語言模型操控的機器人
![image](https://hackmd.io/_uploads/r1mOX9FMC.png)

[參考論文_Inner Monologue: Embodied Reasoning through Planning with Language Models](https://arxiv.org/abs/2207.05608)

### 用大型語言模型開自駕車
![image](https://hackmd.io/_uploads/S1m6mqFzC.png)

[參考論文_Large Language Models for Autonomous Driving: Real-World Experiments](https://arxiv.org/abs/2312.09397)

### AI Agent
![image](https://hackmd.io/_uploads/ByaSH9YGR.png)

這邊說明AI Agent可能的運作原理。

Agent要有一個終極目標，並且可能會有過去經驗的記憶，然後從外界環境瞭解現在的狀態，最後以此產生一個短期目標的計畫。Agent根據擁有的資訊來決定一個行動，也許是做某一種的操控或是產生一文字、語音之類的行為。

Agent在行動之後可能會改變環境狀態，這時候它得到的經驗就會更新，然後再調整它的計劃。

### 有記憶的ChatGPT
![image](https://hackmd.io/_uploads/B1mdLcYG0.png)
![image](https://hackmd.io/_uploads/ryPq8qKfR.png)

[參考論文_MemGPT: Towards LLMs as Operating Systems](https://arxiv.org/abs/2310.08560)

(目前ChatGPT已經推出記憶功能)

有用過ChatGPT的都知道，它的記憶只存在於同一個對話，每一個新的記憶都要讓一切重新來過。

### AI Agent
![image](https://hackmd.io/_uploads/Skzr-kozC.png)


[參考論文1_RL-GPT: Integrating Reinforcement Learning and Code-as-policy](https://arxiv.org/abs/2402.19299)


整個AI Agent中最困難的就是怎麼將文本指令變成實際行動，參考論文1中將Agent分成兩個：
1. Slow Agent，產生人類可以理解的自然語言
2. Fast Agent，依Slow Agent指令想辦法執行特定行動，或者產生程式碼來執行特定行動
### AI Agent
![image](https://hackmd.io/_uploads/Syv2bysz0.png)

![image](https://hackmd.io/_uploads/SyOPzkizC.png)


[參考論文1_Describe, Explain, Plan and Select: Interactive Planning with Large Language Models Enables Open-World Multi-Task Agents](https://arxiv.org/abs/2302.01560)

[參考論文2_ReAct: Synergizing Reasoning and Acting in Language Models](https://arxiv.org/abs/2210.03629)

[參考論文3_Reflexion: Language Agents with Verbal Reinforcement Learning](https://arxiv.org/abs/2303.11366)

簡報中的範例是教授用芙莉蓮做範例說明，不爆雷，有興趣的再看。

參考論文是利用反思的方式讓Agent在去執行相應對的行動。


### AI Agent
![image](https://hackmd.io/_uploads/HJ62fkjMC.png)


這個結果是在跟模型的互動過程中有沒有將記憶(經驗)加入的差異，很明顯的在加入的過程中模型會特別注意經驗中有遇過的情況。

### 延伸閱讀
![image](https://hackmd.io/_uploads/Skn6MJofA.png)

[參考論文_Reflexion: Language Agents with Verbal Reinforcement Learning](https://arxiv.org/abs/2309.07864)

:::warning
不確定引用正確與否，錯誤的話再請告知，因為看不清楚論文的編號
:::