Claude Code 新增 /goal 命令 支持显式设定会话完成目标
Claude Code CLI 2.1.139 版本新增 /goal 命令, 允许用户为当前会话显式设定完成目标,Claude Code 据此判断任务是否达成。这一命令首次将”任务完成判定”作为独立的会话控制原语引入 Claude Code, 配合同版本新增的 CLAUDE_CODE_MAX_TURNS 环境变量, 构成长周期会话的双重边界控制。

/goal 命令如何改变长会话的终止逻辑
此前 Claude Code 在长任务中的终止逻辑依赖两类隐式信号:模型自判任务已完成、用户手动中断。前者在目标模糊时容易出现”过度执行”或”提前收手”, 后者要求用户全程在场。/goal 命令将完成条件从隐式提示转为显式声明——用户在会话开始时陈述目标,Claude Code 在每轮执行后比对当前状态与该目标, 达成即可主动结束。
命令使用格式如下:
/goal [<condition> | clear]
# 设定目标:在会话中陈述完成条件
/goal 修复 auth 模块所有失败的单元测试
# 清除当前已设定的目标
/goal clear其中 <condition> 为用户陈述的目标条件文本, 描述任务达成的判定标准;clear 用于清除当前会话已设定的目标, 使会话回到无显式目标状态。该设计对应的典型场景包括:跨多文件的重构任务、需多轮工具调用的调试流程、自动化脚本生成等长周期工作。
CLAUDE_CODE_MAX_TURNS 提供轮次上限兜底
新增的 CLAUDE_CODE_MAX_TURNS 环境变量允许用户设定单会话最大对话轮次。该变量与 /goal 形成互补——/goal 从任务语义判定完成,MAX_TURNS 从轮次数量硬性截断。即使目标判定逻辑出现误判或模型陷入循环, 轮次上限仍可作为安全网防止 token 无限消耗。两条路径并存意味着开发者可按场景选择更适合的约束方式:明确可验证的任务用 /goal, 探索性或高不确定性任务用 MAX_TURNS 兜底。
# 设定单会话最多 50 轮对话
export CLAUDE_CODE_MAX_TURNS=50
# 与 /goal 配合使用:目标达成或达到 50 轮,任一条件触发即结束
claude同版本配套:Agent View 多会话面板
2.1.139 版本同步推出 Agent View 多会话统一管理界面 (Research Preview)。开发者通过 claude agents 命令进入该界面, 所有 Claude Code 会话按”运行中、等待用户响应、已完成”三种状态分类聚合至同一视图。
# 进入 Agent View 多会话面板
claude agents
# 禁用 Agent View(回到传统单会话模式)
export CLAUDE_CODE_DISABLE_AGENT_VIEW=1Agent View 官方文档与中文社区详解提供完整使用说明。Agent View 与 /goal 在使用场景上形成自然衔接——开发者可同时挂起多个带明确 /goal 的会话, 通过 Agent View 监控各会话进度, 达成目标的会话自动归入”已完成”状态。
系统提示词同步精简 长对话压缩说明移除
据 ClaudeCodeLog 观察,2.1.139 版本系统提示词中不再显式告知 Claude”长对话会触发自动上下文压缩”。提示词文件数减少 2 个(-2.9%),token 总数减少 781(-1.2%)。提示词构成比例同步调整:tools 类从 33.5% 升至 36.0%,system 类从 37.3% 降至 29.0%,system-reminder 类从 15.4% 升至 22.2%。这一比例变化反映了 Anthropic 将更多提示词预算转向工具说明与运行时提醒, 压缩通用 system 类内容。完整变更记录由社区开发者 marckrenn 维护。
/goal 命令的引入是 Claude Code 在智能体行为可控性上的关键一步——任务完成判定从模型内部隐式逻辑转为用户可声明的显式契约, 这一变化对长任务自动化场景的可预测性具有实质意义。Agent View 与系统提示词精简则共同指向同一方向:Claude Code 正在从”对话式编码助手”演进为”可声明任务、可监控状态、可批量管理”的会话编排平台。

评论 0