使用者只準備「感知」與「規則」兩層;決策核心封裝在套件內,import meadow_mind 即用。
Status: DROPPING. 鐵則:必含速度或趨勢項。C → fire main engine5 個步驟接入 Meadow Mind,體驗免訓練快速任務執行。
桿角 0.13、轉速 0.9 翻成
「桿子往右倒,轉得快」。不必精確,分大/小、快/慢就好。Task(memory=True);
任務是「維持」某狀態(平衡、降落、跟隨)→ 關,重複動作是工作本身。
卡住打轉時系統也會提示該開。mind.check(task) 逐題問,例如 CartPole 考 8 題答對 7 題
(允許錯 1 題)就放行去玩真的;降落 5 題全對、迷宮 7 題全對、MountainCar 3 題全對。
沒過不用訓練:通常是感知詞的句子描述不完整,Mind 抓錯重點,換個說法再考一次。你是 Meadow Mind 的任務接入工程師。我給你一個遊戲的觀測與動作說明,請產出: 1) perceive(obs):把數字觀測翻成一句英文狀況。分檔(small/big、fast/slow)、 必含速度或趨勢項、多目標仲裁成單一大寫 Status 關鍵字。 2) rule:一句英文規則,狀況關鍵字到選項字母的一層映射(不巢狀)。 3) options:選擇題(A=..., B=...),字母對應環境動作。不開放填空。 4) 判斷是否開啟記憶:「回到同一個狀態,是不是失敗訊號?」 是(迷宮/探索/死路)→ Task(memory=True),感知函式改 perceive(obs, task), 用 task.seen(key) 在感知句標注 (safe, already visited), 規則加「優先走沒走過的」。維持類(平衡/降落)保持關:標注有實測傷害。 不確定先關,卡住打轉時 runner 會提示。 5) sanity:列舉全部狀況組合與預期字母(考卷;有開記憶就含標注狀況)。 完成後跑 mind.check(task),允許錯 1 題;沒過就只改措辭重考,不碰模型。
# 快速開始,內建任務 from meadow_mind import MeadowMind, tasks mind = MeadowMind() # 載一次模型(7B,本機) task = tasks.mountaincar() mind.check(task) # sanity gate:決策表不過會 raise obs, _ = env.reset() while not done: action, info = mind.decide(task, obs) # obs 進、env action 出 obs, r, done, trunc, _ = env.step(action)
CLI 一條命令跑完「sanity、玩一局、出影片與判定」:python3.11 -m meadow_mind.play mountaincar
影片中每一幀都對應一次真實模型決策。無腳本 policy、無剪輯加速。
def perceive(obs): th, thv = obs[2], obs[3] tilt = "right" if th > 0 else "left" spin = "right" if thv > 0 else "left" speed = "fast" if abs(thv) > abs(th) else "slow" return f"The pole tilts {tilt}. The spin is {spin}, {speed} spin."
if leg1 or leg2: if vy < -0.1: return "Status: DROPPING." # 觸地仍下沉,繼續緩衝 return "Status: LANDED."
rule = ("Rule: push in the same direction the car is moving, " "to pump energy like a swing. If not moving, push left.")
沒有記憶,走進死路只會在洞口來回踱步。
在感知句增加記憶指示,就能啟動並會退出來繞路。
Task(memory=True)。
開啟後走過的狀態自動記進記憶區塊,感知句用
task.seen() 多標一句即可,
不改模型、不另外訓練。預設關閉;卡住打轉時系統會提示開啟。
st = "safe" if cell in visited: st = "safe, already visited"
| RL(PPO / SAC) | Meadow Mind | |
|---|---|---|
| policy 來源 | reward 工程加訓練(小時到天) | 一句規則(秒) |
| 樣本需求 | 10⁵ 到 10⁷ env steps | 0 |
| 改行為 | 重新訓練 | 改字 |
| 可解釋性 | 黑盒權重 | 規則與每步決策皆可讀 |
| 決策延遲 | 0.1 到 1 ms | 約 0.4 s(誠實弱點) |
| 連續精度與高頻控制 | 強 | 離散選擇題(誠實弱點) |
RL 需要 reward,因為 policy 藏在權重裡,只能用純量訊號慢慢雕。 Meadow Mind 的 policy 是一句可讀的話:環境分數只當成績單,不進決策迴圈。 取代 reward 的是結果回饋:episode 軌跡(狀況、動作、結果)指出規則哪句錯,直接改字。 LunarLander 從摔機到著陸,就是補一句觸地緩衝的十秒修改。
誠實邊界:反應極限約 0.4 秒(約 2Hz), 死線更緊的任務(一公尺倒立擺、Pong 的軌跡預測)目前做不到;感知層由人設計,屬教學分工。 下一版規劃逐層感知積分,信心達閾值即提前作動,目標把延遲壓到約 0.15 秒。