常见 ReAct 实现
history = [task]while True:step = model(history, tools)if step.is_final:breakout = tools[step.tool](**step.args)history.append(out)Fibona
# Cell 3:模型上一轮写的代码pages = [fetch(u) for u in urls]notes = summarize(pages)# 调用模型,只带挑好的上下文;# 它用 set_next_cell_code 写出 Cell 4call_me(input=f"继续任务:{notes}")简化示意;示例函数仅作说明。
| 维度 | 常见 ReAct 实现 | Fibona |
|---|---|---|
| 谁写循环 | 开发者,写在宿主里 | 模型,每个 Cell 写下一个 |
| 一步是什么 | 一次工具调用 | 一段完整的 Python |
| 能力边界 | 预先注册的工具清单 | 两个宿主工具 + 整个解释器 |
| 上下文 | 全部历史逐轮累积 | 代码自选,历史按需查询 |
| 出错时 | 错误作为观察交回模型 | 进入恢复 Cell,连续三次失败才停止 |
| 何时结束 | 模型给出最终答案 | 只有用户明确要求才 quit() |