枯木逢春我未逢你
南枝遇雨谁可归伊
"工具塑造我们,正如我们塑造工具。"
上周四,我同时开着三个VSCode窗口:一个改后端API,一个调前端组件,还有一个盯着部署脚本。突然产品经理在群里@我:"那个用户画像的功能,能不能顺便把数据埋点也加上?"
我深吸一口气,在三个窗口间来回切换,复制路径、粘贴命令、检查日志……那一刻,我感觉自己不像程序员,像个在三个直播间同时带货的主播,还是那种会忘词的。
如果当时有VSCode的Agents窗口,故事可能会不一样。
不是因为它能帮我写代码(虽然它确实能),而是因为它让我第一次意识到:原来我可以不用"亲自写",而是"指挥写"。
从"写代码"到"管代码":认知模型的跃迁
VS Code 最近提出了一个新的概念让我想了很久:code-first vs agent-first。
什么意思呢?
•code-first:你写代码,AI当助手。像有个实习生坐在旁边,你喊"帮我把这个函数优化一下",它默默改完递给你。
•agent-first:你提需求,AI当执行者。像你给项目经理派活:"这个模块需要支持用户画像+埋点,周三前给我方案",它自己拆解任务、写代码、跑测试。
Agents窗口,就是为后一种工作流生的"专属办公室"。
它不取代你的主编辑器,而是和你并肩作战:主窗口继续写核心逻辑、调试、看日志;Agents窗口负责"高大上"的活——跨项目协调、批量重构、生成脚手架。
"真正的效率革命,不是让你做得更快,而是让你少做那些'不得不做'的事。"
我第一次打开Agents窗口时,下意识想找"新建文件"按钮。找了半天没找到,突然意识到:这里本来就不是让你写代码的。
VS Code 也很贴心给我我们好几种打开Agent window的方式
在右上角点击 Open In Agents,或者使用命令面板,输入Agents Window ,还可以在vsc的欢迎页面下方直接点击Try out new Agents
这感觉有点像:你习惯了自己炒菜,突然进了个智能厨房,你只需要说"今晚想吃鱼香肉丝",机械臂就开始备料、切菜、调味。你唯一要做的,是尝一口,说"盐少了"。
三个让我"啊哈"的设计
1. 会话列表:给每个任务发个"身份证"
以前用Copilot聊天,聊着聊着就乱了:这个需求是哪个项目来着?刚才那个方案改到哪步了?
Agents窗口把会话按工作区分组,每个会话带着"项目名+变更数+最后活跃时间"的标签。右键还能重命名、标记完成、置顶——像给每个AI任务发了个Jira工单。
我特别喜欢"标记为完成"这个设计。不是"关闭",不是"删除",是"完成"。心理学上这叫仪式感闭环:大脑需要明确的"结束信号",才能释放认知资源给下一个任务。
在进入vsc的Agent Window之后,首先我们要做的就是创建会话
在左边的面板就是会话面板,可以创建和查看会话,甚至可以直接使用快捷键ctrl n创建会话,而以前ctrl n都是用了创建文件的。看来这次真的要面向agent编码了。
中间是对话区,可以选择当前会话的工作区
选择完工作区之后,就可以选择你的打工人是claude code还是codex
当你有多个工作区的时候,左边的会话管理还会按照工作区分类展示
点击右上角的切换按钮,可以自定义会话的排序
2. 变更面板:让"黑箱"变得透明些
很多人不敢用AI写代码,怕它"瞎改"。Agents窗口的Changes面板,把这种焦虑转化成了可控的审查流程:
• 左侧聊天,右侧diff,像代码审查的"分屏模式"
• 点任意一行修改,直接加评论反馈:"这里用Map会不会比对象更合适?"
• 支持"合并"、"提交"、"丢弃",甚至直接生成PR
"信任不是盲从,而是建立在可验证的基础上。"
这让我想起福柯说的:"权力通过可见性运作。" 当你能清晰看到AI的每一处修改,你才敢真正放手让它干活。
当你已经让agent写完了代码之后,你可以手动进行验证,比如进行构建和单元测试
但是个人觉得验证这块的内容应该让agent在写完代码的时候自动验证,并给用户验证的结果。
当"工具"开始"思考"
有趣的是,Agents窗口无意中触及了一个存在主义命题:当我们把"执行"外包给AI,"创造"的定义会不会改变?
海德格尔说,工具的最佳状态是"上手",用锤子时,你不会想着"锤子",只会想着"钉钉子"。
但Agents窗口让"工具"本身有了"意图"。你不再直接"钉钉子",而是告诉AI"这里需要固定两个木板",它自己选锤子、调整角度、控制力度。
这像极了人类文明的演进:从亲手打磨石器,到设计机床,再到编写控制机床的代码。
"每一次工具革命,都是人类认知边界的重新测绘。"
或许未来的编辑器会更进一步:
• AI自动识别"技术债",主动提议重构方案
• 跨项目依赖分析,提示"改这里可能影响那三个服务"
• 甚至:根据你的编码习惯,预判"你接下来可能需要"
结语
回到开头那一天。如果当时有Agents窗口,我可能会:
1. 在主窗口继续调部署脚本
2. 在Agents窗口新开会话:"给用户画像功能加数据埋点,参考/src/analytics的规范"
3. 去睡个觉,早上起来审查AI提交的PR
不是偷懒,而是把认知资源分配给真正需要人类直觉的地方:需求权衡、架构设计、用户体验。
"真正的掌控,不是事事亲为,而是知道何时该放手。"
Agents窗口的出现,像给开发者世界开了一扇"平行门"。门这边,你依然是那个敲代码的匠人;门那边,你开始学习如何"指挥"代码的生成。
或许,这就是技术演进的浪漫:我们不断构建更智能的工具,最终目的不是取代人类,而是解放人类——让我们从重复的"怎么做"中抽身,专注在更珍贵的"为什么"和"应不应该"上。
下次当你打开VSCode,看到标题栏那个小小的"Open in Agents",不妨点一下。
说不定,那个一直帮你写代码的"助手",终于能升级成帮你"带项目"的"同事"了。