ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

AI编程与AI工作:从Coding到Work的技术主线与落地实践

AI编程与AI工作:从Coding到Work的技术主线与落地实践 过去一年国内互联网厂商在 AI 方向最明显的变化是把精力同时压到了 Coding 与 Work 两条产品线上。Coding 这条线解决的是代码补全、仓库理解、Agent 编程这些长期没有做好的开发体验问题Work 这条线则是把对话式助手升级成能跨应用执行任务的数字员工。腾讯、阿里、字节等厂商在两条线上同时投入让开发者不得不面对一个现实AI 编程工具已经不是辅助写代码的插件而逐渐成为研发工作流和团队协作的一部分。这篇文章不预测哪家会赢而是把两条产品线的技术主线拆开理解它们解决什么问题需要什么环境怎么配置怎么验证怎么排错。这样无论是选型还是自己接入 Coding Plan、Trae Work、Work Buddy 这类工具都能有一个可依赖的判断框架。1. Coding 与 Work先分清两条产品线的技术主线很多人在讨论 AI 编程时会把“生成一段代码”和“完成一项工作”混在一起。实际上Coding 与 Work 是两条不同的产品逻辑技术栈、验收方式和失败代价都不一样。先分清主线后面做工具选型才不会被宣传稿带着走。1.1 AI Coding 到底在补什么旧账过去十年的 IDE 插件时代AI 对开发者的价值主要是“补全”根据当前文件上下文补几个单词、补一行表达式、补一个函数体。这个模式的旧账很明显只看到当前文件看不到整个仓库的调用关系。只提供代码片段不能把生成结果编译、测试、修复并提交。开发者仍然要自己整理需求、拆任务、找入口、改多个文件。生成结果没有质量闭环写错了只能靠人工 review 发现。AI Coding Agent 要补的正是这些旧账。它把“需求描述”当作输入把“可运行的代码、测试结果、修复动作”当作输出并且可以调用终端、操作文件、读取仓库索引。一个典型的 AI Coding 闭环是开发者提出需求或者写一份结构化说明。Agent 检索仓库内容定位相关文件和入口。Agent 生成代码并修改多个文件。Agent 执行测试或静态检查。Agent 根据报错信息自动修复。人工 review 后提交。这里的难点不在“生成代码”而在“能获取错误反馈并继续修正”。所以国内外的 Coding 产品几乎都在往同一个方向迭代让 Agent 能自己运行程序、读取日志、执行测试再根据结果回来改代码。这也解释了为什么 Coding Plan、Coding Agent 这类词会成为热点。1.2 AI Work 在赌什么未来Work 这条线更激进。它不关心你写的是不是代码它关心“一项工作能不能被 AI 拆解、执行和交付”。比如整理一份周报、汇总多个文档、把新需求同步到项目系统、给团队生成发布通知这些都是 Work 场景。如果说 AI Coding 的输入是“代码需求”那么 AI Work 的输入就是“业务目标”。它的核心能力包括任务规划把一个目标拆成多个子任务。连接器接入内外部系统比如文档库、数据库、IM、Webhook。技能Skill把重复步骤封装成可复用的能力。多 Agent 协同不同 Agent 分别负责调研、生成、审核。执行反馈任务执行失败后能够重新规划或停止。从产品形态看Trae Work、Kimi Work、Work Buddy、Accio Work 这类工具都在往这个方向试探。它们有的从编码工具延伸出来有的从办公助手演化而来但底层都开始围绕“任务”“工作区”“连接器”来设计而不是单纯的对话框。1.3 两场仗的关系从工具到工作台Coding 和 Work 看起来是两场仗实际上是一条路线上的两个阶段。Coding 场景技术成熟度更高反馈环更短代码对错一目了然很适合用来验证 Agent 的可靠性和工具调用能力。Work 场景更大但依赖连接器生态、权限体系和企业数据是否开放推进起来更慢。对比维度AI CodingAI Work核心对象代码仓库、开发任务业务流程、工作任务主要输入自然语言需求、Spec、Issue业务目标、任务描述主要输出代码、测试结果、修复记录跨系统操作结果、交付物典型工具AI IDE、Coding AgentWork Agent、工作台、连接器平台验收方式测试通过、代码评审通过任务完成、下游系统确认失败影响代码错误、质量风险误操作、数据泄露、流程混乱对开发者而言这两条线不是二选一。今天可以先通过 AI Coding 把手头代码任务跑通明天再思考如何把同样的“计划-执行-验证”逻辑迁移到 Work 场景。大厂同时押注两个方向是因为它们最终要争夺的是同一件事开发者或员工的工作入口。2. 理解当前 AI 编程的几个关键词选型才不踩坑热点词总是一波接一波Vibe Coding、Spec Coding、Coding Plan、多 Agent 协同、Work Buddy。如果只记住概念不知道它们之间的边界很容易把实验性用法搬到生产环境或者反过来把生产要求的规范用在原型阶段。2.1 Vibe Coding先跑通再理解Vibe Coding 指的是用自然语言描述想法让 AI 生成代码然后直接运行。重点不在一开始就把需求写严谨而在于快速验证“这个想法能不能做出来”。它适合学习、原型验证、一次性脚本。一个典型场景是写本地文件处理脚本。比如“写一个 Python 脚本把目录下的所有 .tmp 文件重命名为 .txt遇到重名加时间戳”。这种需求边界清晰、执行环境简单用 Vibe Coding 的方式几秒就能得到一个可运行版本。Vibe Coding 的风险在于生成结果看起来能用但使用者的理解没有跟上。一旦程序运行出错或者要修改一个小逻辑如果根本不知道代码做了什么排查会比从零写还痛苦。所以 Vibe Coding 可以用在低风险场景但不能直接当作生产交付方式。2.2 Spec Coding把需求写成规格再让 Agent 实现Spec Coding 是 Vibe Coding 的修正版。它要求在让 AI 动手之前先写一份规格说明Spec。这里的 Spec 不是几百页的需求文档而是把目标、输入、输出、约束、验收条件讲清楚的最小说明。一份适合 AI Coding 的 Spec 至少包含这些部分# 批量重命名工具 ## 目标 把指定目录下的 .tmp 文件重命名为 .txt。 ## 输入 - 目录路径用命令行参数传入。 ## 输出 - 打印每个文件重命名前后的完整路径。 ## 约束 - 不递归子目录。 - 目标文件名已存在时追加时间戳后重命名。 ## 验收条件 - 运行后目录下不再存在 .tmp 文件。 - 日志完整能看出每个文件的来源和去向。为什么要写 Spec因为代码能不能跑AI 无法自行判断“这是不是用户想要的”。Spec 把判断标准从“代码没报错”升级为“满足验收条件”。这个区别在团队协作中尤其明显。对比维度Vibe CodingSpec Coding目标快速原型可交付功能输入一句需求结构化 Spec验证方式能运行满足验收条件团队协作弱依赖个人描述强可评审可回归适用场景个人探索团队开发、生产功能Spec Coding 不是说所有 Spec 都要一次写到完美。它可以先写一版粗的让 AI 生成代码后再根据运行结果补充测试用例和边界情况。真正的变化是把“需求”当作一等公民而不是对话里的一句随机上下文。2.3 Coding Plan、API Key 和多 Agent 协同在 AI Coding 工具的配置页里经常看到 Coding Plan、API Key、模型名称这些词。Coding Plan 通常指某个平台提供的编程能力计划一般会包含模型调用额度、上下文长度、并发限制等。开发者真正要关心的是三件事API Key 从哪来权限范围是什么。请求走哪个 Endpoint使用哪个模型名。调用计费和限流规则是什么样的。多 Agent 协同则是另一个容易被过度炒作的概念。它不是说启动多个聊天窗口就是多 Agent而是把任务拆给不同角色的 Agent一个负责分析需求一个负责写代码一个负责执行测试一个负责 review 结果。它们共享同一个任务上下文并交换中间产物。这种架构适合复杂改动但也会带来状态不一致、成本上升、排错变难等问题。小团队没有必要一开始就上多 Agent先把单 Agent 的输入、输出、验证闭环做扎实再逐步拆分角色。3. 动手用 AI Coding Agent 完成一个最小可验证任务这一节不依赖某个具体商业产品。我们以“通过 API 调用一个兼容 OpenAI Chat Completions 协议的 Coding 服务”为例完成一个从 Spec 到可运行脚本的小任务。实际项目中根据你使用的平台把 Base URL、模型名和鉴权方式替换成对应配置即可。3.1 环境准备先把依赖和目标确认清楚建议先准备一个干净的目录和独立的 Python 环境避免污染全局环境。下面是一组稳妥的初始化命令mkdir -p ai-coding-demo cd ai-coding-demo python -m venv .venv source .venv/bin/activate # Windows 下使用 .venv\Scripts\activate pip install openai安装完成后确认 Python 版本和关键依赖python --version pip show openai这里要注意不要在最开始就追求“大而全”的依赖AI Coding 生成代码时往往只会用到几个通用库。环境越简单生成结果的运行环境越可预期。生产环境还需要把依赖锁定在requirements.txt里并且考虑 CI 中是否允许 Agent 执行命令。3.2 配置 Coding Plan API Key走通模型调用无论使用 Coding Plan、百炼平台还是其他云厂商的模型服务配置的核心都是三个变量API Key、Base URL、Model Name。不要把这些值写在代码里更不要提交到 Git 仓库。推荐用环境变量export AI_CODING_API_KEYyour-api-key export AI_CODING_BASE_URLhttps://your-endpoint.example.com/v1然后是调用代码。下面的示例使用 OpenAI Python SDK通过base_url指向兼容服务import os from openai import OpenAI client OpenAI( api_keyos.environ.get(AI_CODING_API_KEY), base_urlos.environ.get(AI_CODING_BASE_URL), ) resp client.chat.completions.create( modelcoding-plan-model, messages[ {role: system, content: 你是一名资深 Python 工程师按照 Spec 输出简洁、可运行的代码。}, {role: user, content: 请读取 spec.md并实现其中描述的工具。}, ], temperature0.2, max_tokens2000, ) print(resp.choices[0].message.content)关键参数需要理解参数含义推荐值model使用的模型标识以平台文档为准temperature控制随机性值越大越有创意代码生成建议 0.2 到 0.4max_tokens限制输出长度根据任务大小调整base_urlAPI 服务地址必须是平台提供的统一地址注意不要把 API Key 写入脚本或配置文件。如果使用 Git建议先配置.gitignore防止.env或密钥文件泄漏。如果直接运行没有问题说明模型调用链路已经打通。接下来就可以让 AI 按 Spec 生成完整工具。3.3 从一个 Spec 生成批量重命名工具先把上一节写的 Spec 保存为spec.md然后通过提示词让 Agent 按 Spec 实现。为了演示我们可以假设 Agent 返回了下面这段 Python 代码import sys from pathlib import Path from datetime import datetime def rename_tmp_to_txt(directory: str) - None: target Path(directory) if not target.is_dir(): raise ValueError(f{directory} 不是有效目录) for file_path in target.glob(*.tmp): new_path file_path.with_suffix(.txt) if new_path.exists(): timestamp datetime.now().strftime(%Y%m%d%H%M%S) new_path new_path.with_name(f{new_path.stem}_{timestamp}.txt) file_path.rename(new_path) print(f{file_path} - {new_path}) if __name__ __main__: if len(sys.argv) ! 2: print(用法: python rename_tmp.py 目录路径) sys.exit(1) rename_tmp_to_txt(sys.argv[1])这段代码最重要的三处Path.glob(*.tmp)只处理当前目录下的.tmp文件不递归子目录。with_suffix(.txt)直接修改文件后缀。重名时用时间戳生成新文件名避免覆盖。不要无脑信任生成结果。至少要做一次代码走读确认它符合 Spec 的约束。这也是 AI Coding 和普通代码生成最大的区别生成只是起点验证才是交付。3.4 运行、测试与结果验证准备测试数据并运行mkdir -p demo_files touch demo_files/a.tmp demo_files/b.tmp demo_files/c.txt python rename_tmp.py demo_files ls demo_files预期结果a.tmp和b.tmp被重命名为a.txt和b.txt原有的c.txt不受影响。终端输出类似demo_files/a.tmp - demo_files/a.txt demo_files/b.tmp - demo_files/b.txt仅验证一次运行还不够。建议补一个简单测试验证“重名时追加时间戳”的分支import tempfile from pathlib import Path from rename_tmp import rename_tmp_to_txt with tempfile.TemporaryDirectory() as tmpdir: Path(tmpdir, a.tmp).write_text(temp) Path(tmpdir, a.txt).write_text(existing) rename_tmp_to_txt(tmpdir) txt_files list(Path(tmpdir).glob(*.txt)) assert len(txt_files) 2 assert Path(tmpdir, a.txt).read_text() existing到这里一个最小可验证的 AI Coding 闭环就走完了Spec 定义需求Agent 生成代码人工 review运行验证测试补全边界条件。把这个流程放大到真实项目只是任务复杂度和文件数量不同底层逻辑是相同的。4. 从 Coding 到 Work设计一个跨工具工作流AI Coding 跑通后自然会有一个疑问能不能不只是写代码而是让 AI 完成任务这就是 Work 产品线的目标。与生成代码相比Work 更关注系统之间的动作、权限和数据流向。4.1 Work Agent 与连接器并不是简单的聊天机器人传统的聊天机器人只能“说”不能“做”。Work Agent 的核心是它可以调用工具并把多个工具动作编排成一个流程。比如要完成任务“汇总 docs 目录下所有 Markdown 的标题并发送通知”Work Agent 需要完成读取目录内容。解析每个 Markdown 文件提取标题。将标题整理成摘要结构。调用 Webhook 发送到内部系统。这些步骤分别对应不同的连接器文件系统连接器、文档解析器、Webhook 连接器。很多 Work 平台会提供连接器管理器用来统一授权和配置。一个连接器通常包含认证信息、可用动作、参数要求三部分。技能Skill则是在连接器之上封装一层业务规则。比如“生成周报摘要”“同步需求状态”都可以做成 Skill。热词里出现的“申请发布 Skill”本质上是一种团队协作机制个人写好的技能需要经过审批和管理员发布才能被其他人使用避免每个人各自维护一套不一致的自动化。4.2 最小工作流文档摘要与 Webhook 通知下面用一个抽象配置描述这类型工作流的结构。它不是某个产品特有语法但可以表达 Work 工作流的基本骨架{ name: doc_summary_notifier, trigger: schedule, steps: [ { action: read_dir, params: { path: ./docs } }, { action: extract_markdown_title, params: { file_pattern: *.md } }, { action: generate_summary, params: { language: zh-CN } }, { action: call_webhook, params: { url: ${WEBHOOK_URL} } } ] }在真实平台上这类配置通常是可视化拖拽但底层依旧离不开四个要素触发方式定时、手动、事件触发。步骤顺序前一个步骤的结果如何传给下一步。参数来源支持环境变量、前序输出。失败策略失败时继续、跳过还是整体终止。如果使用 Trae Work、Work Buddy 这类工具建议先从一个很小的流程开始比如“读取本地 Markdown 标题并打印”跑通后再加上 Webhook 发送。不要一开始就编排十几个步骤否则出错时根本不知道是哪一环产生的副作用。4.3 Work 场景的权限、审计和回滚Work 比 Coding 更容易造成不可逆后果。代码错了可以回滚但向客户系统发送消息、删除文件、更新数据库状态这些动作一旦执行可能很难恢复。所以在 Work 场景里权限和审计比模型能力更优先。落地时需要关注关注点具体做法权限最小化连接器只授权必要读权限运行动作前二次确认审批流程高风险动作由人工审批后再执行审计日志记录完整输入、输出、调用者、执行时间和结果回滚机制对可逆操作提供反向动作或恢复入口执行隔离测试环境与生产环境分开使用不同连接器配置注意Work Agent 的“自动执行”不等于“无人值守”。在权限和审计没有完善前至少要保留高风险动作的人工确认环节。5. 常见问题与排查AI 工具不是一跑就通AI Coding 和 AI Work 工具最容易被吐槽的地方不是能力不够而是配置和环境问题多。很多报错其实和模型无关而是路径、依赖、认证或版本不一致。5.1 初始化环境失败现象打开 Trae Work 或类似工具提示环境初始化失败、无法创建工作区。常见原因有本机缺少 Node.js、Python 或对应版本不匹配。工作区路径包含中文、空格或特殊符号。依赖下载失败网络无法访问指定源。上次运行留下的缓存目录损坏。排查顺序建议从命令开始python --version node -v npm -v echo $WORKSPACE确认基础环境后再检查工具是否使用自定义依赖源。如果项目依赖下载失败可以尝试清空缓存目录但先确认缓存目录的位置避免误删用户数据。部分工具在初始化时会下载沙箱镜像这一步失败通常表现为网络超时或磁盘空间不足。5.2 AI 生成的代码报 module not foundAI 在多模块项目中生成代码时经常出现“只写了顶层调用没生成子模块”的情况。典型报错如[synth 8-439] module signal_filt not found [d:/work/pcs/fpga/test/pcm_con/...]这个报错在 Verilog、Java、Python 中都有类似版本。根因通常是三种模块定义在另一个文件里但该文件没有加入工程。AI 生成的模块名与被调用模块名不一致。AI 只生成了顶层模块子模块缺失。检查方式在项目目录中搜索module signal_filt确认子模块是否存在。检查工程文件里是否引入了子模块文件。对比文件名的拼写和模块名的拼写。检查点命令或方法查找模块声明grep -r module signal_filt .检查文件列表查看工程中的文件集合是否完整检查模块名对比调用处和定义处的大小写与拼写解决后再让 AI 根据错误信息修复比从零生成更靠谱。这也说明AI Coding 排错能力依赖工具能否拿到真实日志。如果工具不能执行命令或读取日志它就只能盲修。5.3 API Key 配置后鉴权失败配置了 Coding Plan 或云平台 API Key 后请求仍然返回 401、403 或模型不存在。常见原因如下问题现象可能原因检查方式处理建议401 鉴权失败API Key 错误或环境变量未生效echo $AI_CODING_API_KEY重新导入环境变量确认无换行空格403 无权限Key 没有对应模型权限查看平台权限配置在控制台申请模型访问权限模型不存在模型名写错或不在该 Endpoint 下核对平台文档使用平台提供的模型标识欠费或限流账户余额不足或并发超限查看账户状态和配额补充额度或降低并发检查时最容易忽略的是环境变量只在当前终端生效。新开一个终端后没有重新 export导致脚本读到的 Key 是空的。可以在代码里加一个校验if not os.environ.get(AI_CODING_API_KEY): raise RuntimeError(缺少 AI_CODING_API_KEY 环境变量)5.4 AI 编程结果验收清单无论用哪个工具交付前都可以用这份清单自检需求是否被写成了可验收的描述而不是一句话。代码是否能在干净环境中安装依赖并运行。是否包含核心路径和异常路径的测试。是否检查过敏感信息比如密钥、内网地址。是否通过了静态检查或团队规范扫描。是否记录了 AI 生成的版本和人工修改的记录。是否确认生成代码没有引入多余的文件或副作用。6. 团队落地 Coding 与 Work 的最佳实践和演进方向个人使用 AI Coding 工具已经很常见但团队落地仍然有不小阻力。阻力往往不是模型能力而是协作规则、成本控制和审计机制。6.1 研发团队如何共同使用 AI Coding团队协作时最怕的是每个人都让 AI 生成一段代码然后直接提交。代码可以跑但风格不统一、缺乏测试、边界条件没人负责。推荐的协作模式是Spec 先行每个任务先写成 Spec评审后再进入编码。Agent 编码AI 在本地或远程沙箱生成代码。人工审查重点看边界条件、异常处理和安全性。自动验证CI 中运行测试、静态检查和规范扫描。记录过程复用生成的代码和失败日志方便后续任务引用。规范扫描可以结合知名的工程规范比如 Java 项目可以接入 Alibaba Java Coding Guidelines通过 Checkstyle 或 SonarQube 执行。AI 生成的代码同样要过这些规则不能因为是 AI 生成就降低标准。6.2 配额、成本和审计怎么管理Coding Plan 和模型 API 都不是无限免费的团队使用时要区分环境环境推荐配置说明本地开发开发者个人 API Key便于个人调试和权限定位CI 沙箱团队共享账号或独立 Key限制并发避免资源耗尽生产 Agent服务端密钥禁止下发前端由后端统一调用模型服务测试环境使用测试专用模型或配额不占用生产额度成本管理不是限制使用而是让团队知道每次调用的上下文大小、任务时长和费用。建议每周汇总一次哪些功能用 AI Coding 最多哪些任务投入产出比低。如果发现大量时间都消耗在“让 Agent 理解老代码”上说明代码结构和文档质量可能需要优化。6.3 从 Coding 到 Work 的扩展路径对个人开发者来说最稳的路线不是追热点而是把每一步做成封闭实验先学会 Vibe Coding建立对 AI 生成代码的感觉。再切换到 Spec Coding把需求、验收、测试串起来。掌握 API 接入方式理解 Key、模型、配额这些底层概念。接触单 Agent 的代码执行闭环。把同样逻辑扩展到 Work 工作流从简单“读文件-生成摘要-发通知”做起。最后引入权限、审计、回滚机制再谈规模化落地。这个路线的好处是每一步都有明确可验证的结果。如果你已经能把一个 Spec 变成通过测试的代码那么离把一个工作流变成稳定服务只差连接器和权限管理这层工程工作。真正的竞争力不是会用哪个工具而是能把需求、代码、验证、反馈串成一条可信的链路。
返回列表