[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fx_BHjFXhyOeYiWqkTue8U231cDU9uYCsetf4d0ofbCs":3},{"item":4,"related":51},{"id":5,"type":6,"title":7,"slug":8,"summary":9,"body":10,"coverUrl":11,"productScreenshots":12,"productLinks":13,"authorName":14,"authorUrl":15,"authorSubject":16,"category":17,"tags":22,"sourceLabel":39,"sourceName":40,"sourceUrl":41,"status":42,"seoTitle":43,"seoDescription":44,"canonicalUrl":45,"isFeatured":46,"sno":47,"sortOrder":48,"publishedAt":49,"updatedAt":50,"createdAt":50},"2c34c78f-bfa9-4a53-ab5e-a55b0f78c983","article","给 AI 一个目标，还是给它一串步骤？","coding-agent-objectives-vs-steps","固定步骤适合高风险和重复流程，目标驱动适合需要探索的复杂任务。本文比较两种提示方式，并给出目标、约束、验收条件和人工确认的混合方法。","使用 AI 编程时，有人会把每一步都写死：“先打开这个文件，再复制这段代码，最后运行这条命令。”也有人只说一句：“把这个问题解决掉。”前者可控但容易僵化，后者灵活却可能让 Agent 走错方向。更好的问题不是选择哪一种，而是判断任务应该给出多少步骤、多少目标和多少自由度。\n\n## 固定步骤适合流程稳定的任务\n\n如果任务有明确的安全顺序，例如备份数据库、执行迁移、检查行数、再切换应用，就应该把关键步骤写清楚。步骤不是为了限制模型思考，而是为了保护不可逆操作。对发布、权限、支付和数据处理，关键门槛必须可见、可确认、可审计。\n\n固定步骤还适合团队希望统一执行的重复工作。比如每次升级依赖都要读取变更日志、运行安全扫描、执行回归测试并生成报告。流程越稳定，越适合固化成脚本或专用 Agent，而不是每次依赖模型临场发挥。\n\n## 目标驱动适合需要探索的任务\n\n修复一个复杂 Bug、理解遗留代码或调查性能下降，通常不能提前知道所有文件和命令。如果把步骤写得过细，Agent 可能为了遵守表面流程而忽略新发现。此时更适合给出目标、约束、验收条件和不能触碰的边界，让它选择搜索和验证路径。\n\n目标驱动不等于放任。目标必须可观察，例如“让这个页面在三种屏幕宽度下完成新增记录流程，并保留现有接口”，而不是“把体验做得更好”。越清楚的验收条件，Agent 的探索空间越有价值。\n\n## 一个简单的任务分层\n\n可以把任务分为三类：\n\n| 任务 | 推荐方式 | 原因 |\n| --- | --- | --- |\n| 高风险、不可逆 | 固定步骤加人工确认 | 防止越过安全门槛 |\n| 低风险、重复性强 | 固定流程自动执行 | 减少重复沟通 |\n| 复杂、探索性强 | 目标驱动加阶段检查 | 允许根据证据调整路径 |\n\n实际项目里常常是混合方式：先给 Agent 一个总体目标，再规定不可跳过的安全步骤；允许它在每个阶段内自由探索，到了边界就暂停报告。\n\n## 为什么“目标”需要配合工具\n\n没有搜索、测试、日志和浏览器等反馈，Agent 只能用语言猜测是否完成目标。给它更大的自由度之前，应先确认它能看到真实状态。否则所谓自主探索只是更快地产生假设。\n\nOpenAI 分享的 Symphony 思路强调，成熟的 Agent 工作流更像给团队成员分配目标，而不是把它限制成僵硬的状态机；但这依赖清晰的工具、上下文、评审和恢复机制。目标驱动的前提不是信任模型，而是建立可观察的环境。\n\n## 普通用户如何写任务\n\n可以采用四段式：目标是什么；不能改变什么；必须验证什么；遇到不确定性如何停下来。这样既不会把所有实现步骤写死，也不会让 Agent 自己决定业务规则和高风险动作。\n\nVibe Coding 的高级用法，不是让 AI 获得无限自由，而是把自由放在探索阶段，把约束放在真正重要的边界上。\n\n## 来源\n\n- [OpenAI：Open-Source Codex Orchestration Symphony](https:\u002F\u002Fopenai.com\u002Findex\u002Fopen-source-codex-orchestration-symphony\u002F)\n- [GitHub：Copilot CLI Autopilot](https:\u002F\u002Fdocs.github.com\u002Fen\u002Fcopilot\u002Fconcepts\u002Fagents\u002Fcopilot-cli\u002Fautopilot)","\u002Fuploads\u002F2026-09-14\u002F333669e9-3cfd-4ac4-acbf-338b293ce693.jpg",[],[],"Foundit","https:\u002F\u002Ffoundit.cn","foundit-ai-editorial",{"id":18,"name":19,"slug":20,"description":21},"6179d3b6-dc34-4483-9ded-3cd9f1b37a47","科普","abbreviation","介绍各领域新兴概念",[23,27,31,35],{"id":24,"name":25,"slug":26},"0848beb4-db26-4fb8-b391-f852a11be192","AI编程","ai-coding",{"id":28,"name":29,"slug":30},"a202d639-99a6-488a-a712-4d4c6ffd7e15","开发","dev",{"id":32,"name":33,"slug":34},"4c2bbea6-eab7-40a8-8447-1de478ff7749","分析","analyse",{"id":36,"name":37,"slug":38},"68cedb55-2cac-412f-8f81-fda8c7d686dd","思考","thought","OpenAI 与 GitHub 官方资料","Open-Source Codex Orchestration Symphony","https:\u002F\u002Fopenai.com\u002Findex\u002Fopen-source-codex-orchestration-symphony\u002F","published","AI 编程任务该写目标还是步骤：Agent 自主性的边界","比较固定流程和目标驱动两种 AI 编程方式，解释如何根据风险、重复性和探索性决定 Agent 的自由度。",null,false,49,0,"2026-09-14T00:00:00.000Z","2026-09-14T11:00:06.857Z",[52,61,69],{"id":53,"type":6,"title":54,"slug":55,"summary":56,"coverUrl":57,"authorName":14,"sno":58,"publishedAt":59,"createdAt":60},"190a2a0d-4b47-40f7-902a-00ac69ce1b15","AI 编程时代，为什么 Git 和 Pull Request 更重要了","ai-coding-git-pull-request-safety-net","AI 让改动出现得更快，也让变化更难凭记忆追踪。本文解释小提交、Pull Request、自动检查和人工批准如何把 AI 编程变成可比较、可验证、可回滚的协作流程。","\u002Fuploads\u002F2026-09-13\u002F95ac3b51-0915-4200-8130-4ba3195fd935.jpg",40,"2026-09-13T00:00:00.000Z","2026-09-13T11:56:01.900Z",{"id":62,"type":6,"title":63,"slug":64,"summary":65,"coverUrl":66,"authorName":14,"sno":67,"publishedAt":49,"createdAt":68},"c85be666-a2ac-481a-a233-1d9aa7c5bfa1","AI 为什么会推荐不存在的 npm 包？","ai-hallucinated-dependencies-supply-chain","AI 可能把不存在或过时的依赖说得很像真的，甚至让开发者把陌生包安装进项目。本文解释依赖幻觉、恶意抢注、版本风险和安装前的供应链检查。","\u002Fuploads\u002F2026-09-14\u002F21c507cf-18e5-4b18-b71a-a501f6fb85c0.jpg",41,"2026-09-14T11:00:01.589Z",{"id":70,"type":6,"title":71,"slug":72,"summary":73,"coverUrl":74,"authorName":14,"sno":75,"publishedAt":49,"createdAt":76},"24305719-06eb-443f-b5e5-40b9a5c21a96","AI 怎么读懂一个大型代码仓库？","ai-coding-large-repo-code-navigation","大型项目的难点不只是文件多，而是函数、引用、数据和模块之间的关系复杂。本文解释代码导航、定义跳转、引用追踪和分层读取上下文，帮助 AI 少改错地方。","\u002Fuploads\u002F2026-09-14\u002Fb0a9aaae-124e-4204-9d53-ec42ac568f50.jpg",44,"2026-09-14T11:00:00.158Z"]