9.5 KiB
协作方式与运行模式
Reasonix 桌面端输入框左下角的菜单包含两条互相独立的轴:
- 计划模式:先只读分析并产出计划,确认后再执行。
- 目标模式:给 Reasonix 一个目标,让它持续推进直到完成、阻塞或停止。
- 运行模式:在“轻量”“均衡”“交付优先”三档之间选择成本与交付质量倾向。
计划模式和目标模式属于“协作方式”轴,通常二选一;运行模式是独立轴,可以和普通聊天、计划模式、目标模式任意组合。
计划模式
计划模式适合在动手前先确认方案。开启后,Reasonix 会先读取必要上下文、分析问题并给出计划;在你确认前,不会执行写文件、改代码、提交、删除、发布等有副作用的操作。
怎么开启
- 点击输入框左下角的“协作方式”按钮,选择“计划”。
- 也可以使用
Shift+Tab切换计划模式。 - 开启后输入框下方会显示“计划”标签;点击该标签或再次使用
Shift+Tab可退出。
建议使用场景
- 你还不确定实现方案,希望先看 Reasonix 的拆解。
- 改动范围可能跨多个文件、模块或配置。
- 需要先评估风险、测试面、兼容性或发布影响。
- 你希望先让 Reasonix 只读代码和文档,再决定是否继续实施。
注意事项
- 计划模式不是“自动完成任务”。它会先暂停在计划阶段,等待你确认。
- 计划模式会减少误改风险,但会多一次确认步骤。
- 如果你已经明确要直接改一个小问题,普通模式通常更快。
- 计划模式只控制“先规划再执行”的流程,不决定成本或交付倾向;可按任务选择任一运行模式。
目标模式
目标模式适合给 Reasonix 一个更长线的目标,让它持续推进。目标启动后,Reasonix 会围绕该目标工作,直到任务完成、遇到阻塞、被你停止,或需要你确认关键决策。
怎么开启
- 点击“协作方式”按钮,选择“目标”。
- 如果输入框里已有文字,选择“目标”会把当前文字作为目标启动。
- 如果输入框为空,选择“目标”后会进入目标输入状态,输入目标并发送即可启动。
- 开启后输入框下方会显示“目标”标签;点击该标签可退出目标模式。
建议使用场景
- 你希望 Reasonix 连续完成一组相关步骤,例如“修复这个问题并补测试”。
- 任务需要探索、实现、验证多个阶段。
- 你希望减少中途反复下指令,让 Reasonix 在目标范围内持续推进。
- 目标明显是长周期研究、排障或优化,例如“持续排查直到根因明确”“彻底实现并验证”
“不要原地打转”。这类目标会自动进入 AutoResearch 策略,把状态写到
.reasonix/autoresearch/<task-id>/。
推荐目标写法
复杂目标可以写成一份任务合约:Context、Request、Output format、Constraints、Pause policy。
Goal 模式会把这些部分当作任务边界;除非下一步涉及不可逆或对外可见操作、任务范围变化,
或需要你提供信息,否则会继续完成任务后再汇报。完整模板见
TASK_CONTRACT.zh-CN.md。
注意事项
- 目标要写得具体。推荐包含范围、成功标准和限制,例如“只改桌面端输入栏,补前端测试,不改后端协议”。
- 目标模式不是跳过审批。遇到高风险操作、权限限制、阻塞或需要产品判断时,仍可能停下来询问。
- 如果目标过大或边界不清,Reasonix 可能需要更多探索轮次,也会消耗更多 token。
- AutoResearch 是 Goal 的自动持久化策略,不是独立的后台 daemon,也不是 Settings 里的全局 skill。
可以用
/goal --research <目标>强制启用,或用/goal --simple <目标>强制保持轻量 Goal。 - 普通聊天里命中非常强的长周期信号时,Reasonix 会自动升级为 Goal + AutoResearch;弱表达 如“长期来看”“优化一下”“研究一下”不会触发。
- 目标模式和计划模式是同一协作轴。切到计划模式时,会退出目标草稿/目标显示状态;运行模式不会因此改变。
运行模式
运行模式决定会话启动时的工具面和执行合约。每个标签页独立保存选择;切换模式会重建当前会话运行时,但保留会话历史。
轻量 · 节省 Token(Economy)
Economy 对应原来的“省 token”模式。它精简初始技能索引和工具 schema,将 Skills、MCP、CodeGraph/LSP、web_fetch、安装来源和 subagent 等可选能力放到 connect_tool_source 后按需启用。
- 适合日常问答、代码解释、小范围阅读和成本敏感任务。
- 主要降低每轮固定携带的提示词与工具 schema token,不会降低模型本身的推理能力。
- 首次使用某类可选工具时可能多一个按需启用步骤。
均衡 · 默认(Balanced)
Balanced 是默认档,对应旧版本持久化值 full。它一次性提供完整工具面,不增加额外执行合约,由模型根据任务自主决定探索、实现与验证深度。
- 适合大多数普通开发与聊天任务。
--profile balanced和不传--profile保持旧默认 provider 请求字节不变。- 旧 session/tab 中空值或
full都会继续解释为 Balanced。
交付优先 · 完整验证(Delivery)
Delivery 使用与 Balanced 相同的完整工具面,额外增加稳定的能力代理工具 use_capability(inspect/call/decline,用于按需调用含 auto_start=false 的 MCP,且不把动态工具写入主 Registry),并增加稳定的交付合约:明确验收标准;条件允许时先复现;检查项目规则和相关代码;修复根因;运行聚焦验证;复审 diff 与相邻行为;没有证据时不宣称成功,并明确标注未验证项或假设。
- 适合编码、修 bug、跨文件实现和需要可靠交付证据的任务。
- 通常会使用更多模型调用和 token,耗时也可能更长。
- 宿主会在变更或验证命令前检查是否已有具体的
todo_write验收清单;缺失时直接阻止执行并要求补齐。 - 发生变更后,宿主会要求在最后一次变更之后复查结果、运行成功的验证命令,并用引用该命令的
complete_step正式签收;不满足时拦截最终回答并自动要求继续。 - 对明确要求实现、修复或修改的任务,如果没有观察到真实变更,宿主会拒绝“已经完成”的纯文本声明;只读分析仍可凭读取/检查证据正常结束。
- Skill/MCP 的
require/prefer路由由宿主门禁强制:require必须成功调用(宿主确认不可用时可带真实 blocker 结束),prefer缺失会提醒一次,之后必须调用或use_capability(action="decline")提交非空理由。 - 中/高风险改动会强制运行结构化
review/security_review(通过审查子 Agent 的review_report);task/run_skill等元工具本身不算 mutation,子 Agent 的真实写入会回传父级证据账本。 - Delivery 的 system contract 与
use_capabilitySchema 是每个该 Profile 会话固定的 provider 前缀;按需连接 MCP 不会改变主 Registry Schema。Balanced 的提示词和工具 Schema 仍保持字节兼容。从其他 Profile 切换过来会产生一次新的缓存前缀。
怎么选择
- 桌面端点击输入框左下角菜单,在“运行模式”下选择“轻量 · 节省 Token”“均衡 · 默认”或“交付优先 · 完整验证”。
- 轻量和交付优先模式会在输入框下方显示“轻量”或“交付优先”标签;点击标签可回到均衡模式。
- CLI 启动时使用
reasonix --profile economy|balanced|delivery,非交互运行使用reasonix run --profile ...。 - TUI 会话内使用
/work-mode economy|balanced|delivery热切换;不带参数的/work-mode会列出三档并标记当前项。/profile保留为技术兼容别名,但帮助和补全以/work-mode为主。 - 会话内切换会在保留 history、session 路径、审批/Yolo 状态的前提下原子重建 Controller。当前 turn、审批/询问或后台任务仍在运行时不能切换;构建失败时旧运行时继续可用。
/work-mode只修改当前会话,不写入全局默认值。跨 Profile 切换会形成一次新的 provider 缓存前缀;同一 Profile 内的 system contract 与工具 Schema 保持稳定。
协作方式与 Profile 如何组合
| 组合 | 是否支持 | 说明 |
|---|---|---|
| 普通 + 轻量 | 支持 | 日常聊天的低开销选择。 |
| 计划 + 均衡 | 支持 | 先用完整工具面研究并确认方案,再执行。 |
| 目标 + 交付优先 | 支持 | 持续推进明确目标,并强调实现与验证闭环。 |
| 计划 + 目标 | 不建议同时使用 | 两者都是协作方式轴,切换计划会退出目标草稿/目标显示状态。 |
| 工具权限(询问/自动/Yolo)+ 任一组合 | 支持 | 工具权限只控制是否自动批准工具调用。 |
工具权限的详细区别和使用场景,见 TOOL_APPROVAL_MODES.zh-CN.md。
推荐选择
- 不确定怎么选:保持均衡和普通模式。
- 成本敏感或简单问答:选择轻量。
- 担心 Reasonix 改错:开启计划模式,先确认方案。
- 想让 Reasonix 持续推进一个明确目标:开启目标模式,目标写清楚成功标准。
- 编码、修 bug 或复杂实现更看重最终质量:选择交付优先,可再搭配目标模式。