一、/goal模式概述

/goal是Codex全新升级的核心功能,让AI能够持续工作直至达成目标,即使任务需要数小时乃至数天。

1.1 核心特性

特性 说明
自主执行 持续工作不中断
可干预 随时查看进度、调整方向
长任务支持 可持续数小时乃至数天
旁路对话 不打断主任务

二、快速入门

2.1 启用/goal模式

方法一:配置文件

# ~/.codex/config.toml
[features]
goals = true

方法二:命令行

codex features enable goals

方法三:让Codex自动启用

在对话中直接输入 /goal 命令

2.2 基础使用

/goal 重构用户认证模块

Codex会自动开始工作,持续执行直至任务完成。

三、Goal提示词编写技巧

3.1 结构化Goal模板

goal_template = """
【任务目标】
{具体要做什么}

【完成标准】
{如何判断任务完成}
- 标准1:可验证的指标
- 标准2:可测试的断言
- 标准3:可衡量的结果

【约束条件】
{时间和资源限制}
- 时间:不超过X小时
- 资源:只能使用现有代码库
- 兼容性:保持向后兼容

【风险控制】
{可能的风险点和应对}
"""

3.2 实用示例

示例1:代码重构

/goal 重构用户认证模块

【完成标准】
- 所有单元测试通过
- API响应时间<100ms
- 向后兼容现有接口
- 文档完整更新

【约束条件】
- 不破坏现有功能
- 保持代码风格一致
- 不引入新的依赖

示例2:数据迁移

/goal 迁移数据到新数据库

【完成标准】
- 数据完整性验证100%
- 迁移时间<2小时
- 回滚机制可用
- 监控告警配置完成

【约束条件】
- 零数据丢失
- 业务无感知
- 支持增量迁移

示例3:性能优化

/goal 优化API响应时间

【完成标准】
- P99延迟<200ms
- CPU使用率<70%
- 内存使用稳定

【约束条件】
- 不改变API接口
- 兼容现有调用方

四、旁路对话机制

4.1 什么是旁路对话

旁路对话(Side Chats)允许你在主任务运行的同时,开启新的对话线程询问问题,不会中断主任务的执行。

4.2 使用场景

场景 说明
进度查询 不中断任务,了解当前状态
问题咨询 询问任务相关技术问题
方向调整 在不重启任务的情况下改变方向
结果验证 验证部分成果是否符合预期

4.3 技术实现

class GoalSession:
    def __init__(self, goal_text):
        self.goal = goal_text
        self.main_task_id = self._start_main_task()
        self.side_chats = []
    
    def create_side_chat(self, question):
        """创建旁路对话"""
        side_chat = {
            "id": generate_id(),
            "main_task_id": self.main_task_id,
            "question": question,
            "answer": None,
            "interrupted": False  # 主任务不受影响
        }
        self.side_chats.append(side_chat)
        return side_chat
    
    def get_task_progress(self):
        """获取主任务进度"""
        return {
            "task_id": self.main_task_id,
            "status": self._get_status(),
            "completed_steps": self._get_completed(),
            "current_step": self._get_current(),
            "remaining_steps": self._get_remaining()
        }

五、高级技巧

5.1 目标分解

# 复杂任务分解策略
def decompose_goal(complex_goal):
    """将复杂目标分解为可管理的子目标"""
    steps = []
    
    # 分析任务复杂度
    if "重构" in complex_goal:
        steps.extend([
            "理解现有代码结构",
            "识别关键依赖",
            "设计新架构",
            "实施重构",
            "测试验证",
            "文档更新"
        ])
    elif "迁移" in complex_goal:
        steps.extend([
            "评估数据量",
            "设计迁移方案",
            "执行迁移",
            "验证完整性",
            "配置监控"
        ])
    
    return steps

5.2 进度监控

class GoalMonitor:
    def __init__(self):
        self.checkpoints = []
    
    def add_checkpoint(self, name, verify_func):
        """添加检查点"""
        self.checkpoints.append({
            "name": name,
            "verify": verify_func,
            "status": "pending"
        })
    
    def verify_checkpoints(self):
        """验证所有检查点"""
        results = []
        for cp in self.checkpoints:
            try:
                result = cp["verify"]()
                cp["status"] = "passed" if result else "failed"
                results.append({"name": cp["name"], "passed": result})
            except Exception as e:
                cp["status"] = "error"
                results.append({"name": cp["name"], "error": str(e)})
        return results

5.3 自动调整

class GoalAdjuster:
    def adjust_direction(self, feedback):
        """根据反馈调整方向"""
        if "太慢" in feedback:
            return self._optimize_performance()
        elif "不符合预期" in feedback:
            return self._refine_requirements()
        elif "超出范围" in feedback:
            return self._narrow_scope()
        return None
    
    def _optimize_performance(self):
        """性能优化策略"""
        return {
            "action": "optimize",
            "target": "performance",
            "steps": [
                "分析瓶颈",
                "优化算法",
                "缓存优化",
                "并行处理"
            ]
        }

六、最佳实践

6.1 Goal编写原则

原则 说明
具体明确 避免模糊描述
可验证 定义明确的完成标准
范围清晰 明确边界和约束
风险预判 提前考虑可能的问题

6.2 使用建议

  1. 从简单任务开始:先用简单任务熟悉机制
  2. 设置检查点:定期验证进度
  3. 使用旁路对话:有问题随时问,不中断任务
  4. 保存中间结果:防止任务中断丢失进度

6.3 错误处理

# 错误恢复策略
class ErrorRecovery:
    def handle_error(self, error):
        """处理执行错误"""
        if isinstance(error, RateLimitError):
            return self._wait_and_retry()
        elif isinstance(error, TimeoutError):
            return self._resume_from_checkpoint()
        elif isinstance(error, APIError):
            return self._fallback_strategy()
        return None

七、与API聚合平台结合

企业用户可以通过API聚合平台(如weelinking等)接入Codex,实现:

  • 统一的API管理
  • 详细的使用统计
  • 多模型切换
  • 成本控制

八、总结

阶段 关键操作
入门 启用功能,编写简单Goal
进阶 结构化提示词,分解任务
精通 进度监控,自动调整

#Codex #goal模式 #AI编程 #技术指南


📖 推荐阅读

如果这篇对你有帮助,以下文章你也会喜欢:

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐