本節では、タスクの流れや状況分岐を含む「シナリオ制御」を
LLM(大規模言語モデル)と組み合わせて柔軟に設計する方法について解説します。
構成要素 | 役割 |
---|---|
FSM | 状態管理と基本遷移制御(if/elseの拡張) |
LLM | 状況判断・次状態の推論・新規イベントへの適応 |
FSM:
- 状態A: 探索
- 状態B: 搬送
- 状態C: 充電
LLM:
- 状況を見て「異常発生」と判断 → 状態D: 故障診断へ遷移
prompt = f"現在の状態は「搬送中」、周囲に障害物があります。次に取るべき状態は?"
response = chatgpt_respond(prompt)
→ 返答:『障害物回避』状態へ遷移してください。
states = ['IDLE', 'SEARCH', 'CARRY', 'AVOID', 'CHARGE']
def next_state_from_llm(current_state, observation_text):
# LLM APIへの問い合わせ
return response_suggested_state