两种模式,一个引擎
Alius 使用统一的 Loop Engine 配合两种执行策略:
- Plan 模式 = Loop Engine + PlanPolicy(多轮迭代,工具审批)
- Bypass 模式 = Loop Engine + ChatPolicy(单轮执行,快速响应)
两种模式共享相同的底层运行时、协议接口和记忆系统。通过 Shift+Tab 随时切换。
Bypass 模式
快速单轮交互,适用于轻量任务:
> 解释这个函数
> 认证中间件做了什么?
> 列出这个目录下的文件
Bypass 模式行为
| 特性 | 行为 |
|---|---|
| 最大迭代次数 | 1 |
| 工具启用 | 是 |
| 计划功能 | 否 |
| 收敛检查 | 启用 |
Bypass 模式执行单轮请求。如果模型请求工具调用,运行时会执行一次工具批次并返回工具结果摘要,但不会继续进入多轮模型/工具迭代循环。
Bypass 模式中的安全性
在 Bypass 模式中,需要审批的 Shell Gate 决策(ApprovalRequired)会直接执行而非弹出确认提示。例如,模型请求的 shell 工具调用(如 git clone)会直接运行并返回结果。被 Shell Gate 拒绝的操作仍然不会执行。
适用场景
- 问答和解释
- 快速查询和澄清
- 轻量代码生成
- 一次性分析
Plan 模式
多步骤规划和执行,适用于复杂任务:
> 重构认证模块以支持 OAuth2
> 为用户服务添加缓存层
> 修复所有编译错误并确保测试通过
Plan 模式行为
| 特性 | 行为 |
|---|---|
| 最大迭代次数 | 20 |
| 工具启用 | 是 |
| 计划功能 | 是 |
| 收敛检查 | 启用 |
| 工具审批 | 按策略要求 |
Plan 模式工作流程
Plan 模式不是固定的”理解→分解→审批”序列。它是一个交互式起草过程:
- 目标描述 — 你描述要完成的目标
- 澄清阶段 — 模型主动询问不明确的需求细节
- 问题在会话区显示(如”这个接口的用途是什么?”)
- 交互区显示模型建议的答案作为选项(单选、多选或自由输入)
- 模型会持续提问,直到任务细节、前置条件、约束和成功标准足够清晰
- 计划生成 — 模型返回可执行的计划列表(Plan List)
- 计划审批 — 计划在会话区展示,交互区要求你批准或拒绝
- 节点执行 — 批准的计划节点按步执行
- 工具调用经过 Shell Gate 审批
- 每个节点完成后更新状态
- 完成确认 — 所有节点执行完成后,你确认计划完成,计划面板关闭
在计划起草期间,计划面板是隐藏的。只有在你批准计划后,计划面板才会出现并显示已批准的节点。
澄清提示
模型在 Plan 模式中会尽量减少你的打字量:
- 单选 — 交互区显示选项,用方向键选择
- 多选 — 交互区显示选项,用
Space切换,Enter确认 - 自由输入 — 仅在模型无法将问题简化为选项时使用
Plan 模式中的安全性
在 Plan 模式中:
- 需要审批的工具操作(如
write_file、风险 shell 命令)会暂停等待你的确认 - 所有文件写入操作需要确认
- Shell Gate
ApprovalRequired决策会暂停执行
适用场景
- 功能实现
- 代码重构
- 多文件变更
- 复杂调试
切换模式
| 操作 | 效果 |
|---|---|
Shift+Tab | 在 Plan 和 Bypass 模式间切换 |
在配置中心或初始化向导中,
Shift+Tab用于切换配置标签或步骤,不切换执行模式。
模式与工具调用
两种模式都支持工具调用,但行为不同:
| 行为 | Bypass 模式 | Plan 模式 |
|---|---|---|
| 模型请求工具 | 执行一次工具批次 | 执行后继续模型调用 |
| 工具结果处理 | 返回工具结果摘要 | 将工具结果发回模型继续推理 |
| 多轮迭代 | 不支持 | 支持(最多 20 次) |
| 风险操作审批 | 直接执行 | 暂停等待确认 |
运行时架构
两种模式通过相同的运行时链执行:
用户输入
→ CoreRuntimeManager
→ ProtocolInterface<CoreRuntime>
→ CoreRuntime
→ SessionManager
→ LoopEngine(根据策略执行 Chat 或 Plan 模式)
→ LlmClient + 可选 ToolRegistry