作者 gino0717 (gino0717)
標題 [閒聊] 用deepseek-r1試作npc行為決策模擬
時間 Sun Jan 26 02:46:17 2025




   啊就

   聽說這個這幾天出的玩意兒挺屌

   趁著放假來玩玩看

   我有在玩unity啊

   我一直心底有個缺憾就是遊戲npc的行為決策都是一堆if else堆起來的東西

   我更希望的是有個模型裡面已經有個小小的世界觀

   transformer模型理論上是這樣的東西

   但是真的能用的模型都太大了

   塞到遊戲裡面實在是不太現實


   我用ollama在筆電上當後端跑deepseek-r1 1.5b 、7b、8b模型

   因為這三個模型是我能接受的容量夠小的模型

   再大就太大了

   顯卡是NVIDIA GeFore MX150 (2GB VRAM)



   給定下列條件來模擬遊戲中npc用來做決策需要的參數:

   prompt中提供npc的狀態:

   1.飽食度

   2.睡眠度

   3.口渴程度


   npc週遭的物體和座標

   1.npc的位置

   2.蘋果

   3.門口

   4.刀子

   5.床

   6.桌子

   7.水

   能夠進行的動作

   1.移動

   2.拾取

   3.使用



   然後我期望當飽食度低的時候,

   npc會輸出:移動到刀子->拾取刀子->移動到蘋果>使用蘋果

   當睡眠值低的時候

   npc會輸出:移動到床->使用床

   最後以json格式呈現



   deepseek-r1 1.5b的模型會有合理的推論過程但是錯誤的結論

   7b和8b的模型可以做出符合預期的動作順序

   同樣容量(~5GB)的llama3 8b模型常會在結論中產生不存在的物體和座標或是動作

   相比之下deepseek的答案可說是相當穩健

   7b模型4.7GB 8b模型4.9GB

   還是很大但是已經算相對小的了



   但是有個問題

   就是這個模型會先輸出一大堆他的思考的過程(碎碎唸)

   然後這過程實在太久了

   他會寫一大篇論文來分析你到底下那堆指令啥意思

   然後會看他一直在那邊wait...我少考慮了什麼....wait....我少考慮了什麼....

   你加了prompt他會花更多篇幅在那邊思考你寫啥意思

   你就看他在那邊到底要分析到什麼時候 到底



   我的提示詞大概長這樣:


you are a game's npc , decide the next 6 (or more) series action based on your

status and enviroment objects .


If the status is low(<50) then need to do some action to raise it,

your status : Saturation:100,awake:10,water:90.


The environment: npc's position(0,0), apple(20,5),knife(10,3),table(40,8),

bed(40,3),water(10,5) .


The actions you can do: walk,pick,use.


if npc's coordinate not match the object it must walk to there first.


the output should be in json formats so I can feed the results to program as:

[{"action":"someAction","coordinate": [(some x),(some y)]}]




   我希望以後碎碎唸那段可能會是一個可以存下來的東西

   不要每次更新狀態都重新碎碎唸一次


   = =

   南無阿彌陀佛

--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.194.162.12 (臺灣)
※ 作者: gino0717 2025-01-26 02:46:17
※ 文章代碼(AID): #1dbJ5yWT (C_Chat)
※ 文章網址: https://www.ptt.cc/bbs/C_Chat/M.1737830780.A.81D.html
※ 編輯: gino0717 (123.194.162.12 臺灣), 01/26/2025 02:48:00
※ 編輯: gino0717 (123.194.162.12 臺灣), 01/26/2025 02:50:58
ZMTL: 換個大VRAM顯卡看看能不能變快先?理論上這個思考過程才是他準確度的依據1F 01/26 02:56
driftcreator: 這塊去年有廠商放過Demo, 看起來很讚但是太吃算力然後你可以不要用Cot模型、減少思考過程啊
但Cot模型就是因為嚼兩次, 品質才比同尺寸的模型好3F 01/26 02:57
Mareeta: 算太久會不會出現龍叫2卡npc的事6F 01/26 03:34
guogu: 忘記在哪看過影片 有過程AI做出正確答案的機率會大幅提升7F 01/26 03:42
GGkaki: 這種東西不是chatGPT出現的時候就有人去用api做過了嗎8F 01/26 05:44

--
作者 gino0717 的最新發文:
點此顯示更多發文記錄