吴恩达发了条推文:别再讲 AI 会让人集体失业了,Coding Agent 时代 AI 工程岗位到底需要什么能力

发布时间:2026/10/18 19:58:02
吴恩达发了条推文:别再讲 AI 会让人集体失业了,Coding Agent 时代 AI 工程岗位到底需要什么能力
1. 吴恩达推文背后Coding Agent 时代 AI 工程岗位到底需要什么能力吴恩达那条推文我反复看了几遍核心其实就一句话AI 会改写岗位但不会让就业市场集体崩盘。他举的例子是软件工程——Coding Agent 已经能读项目、改代码、跑测试可软件工程师的招聘需求依然强劲。这说明被替代的是任务不是人。但这里有个容易被忽略的前提能接住新岗位的人得先具备一套和过去不太一样的能力。我把它拆成三层来看。第一层是任务层写函数、补测试、改 bug 这些正在被 Coding Agent 大量接管第二层是工作流层怎么把 Agent 嵌进自己的开发流程怎么给它喂上下文、怎么验证它的输出这一层目前还是人主导第三层是判断层决定做什么、不做什么、风险在哪、架构怎么定这一层短期内 AI 替不了。吴恩达说的“岗位被重写”重写的就是第二层和第三层的能力要求。所以这篇不聊宏观焦虑聊点能落地的一套 AI 工程能力自检清单加上本地可复现的验证步骤。你可以对照自己的日常工作流看看哪些环节已经可以交给 Coding Agent哪些环节你还没建立起验证机制。整篇会围绕一个实际可跑的接入流程展开用 TaoToken 作为模型调用入口把配置、请求、排错走一遍。走完这一遍你对“AI 工程岗位需要什么”会有比看推文更具体的感受。适合谁看正在用或准备用 Coding Agent 的开发者、想从传统开发转向 AI 工程方向的工程师、以及带团队做 AI 工具落地的技术负责人。不需要你已经是 AI 专家但需要你愿意动手配一次环境、发一次请求、看一次返回结果。2. TaoToken 前置准备API Key 获取与 Coding Agent 接入的模型选型在讲能力清单之前得先把工具链搭起来。我选 TaoToken 作为这一篇的模型调用入口原因是它同时提供 OpenAI 兼容接口和 Claude Code 相关的接入方式对 Coding Agent 场景比较友好。官网地址是 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API 根地址是 https://taotoken.net/api 注意 API 地址后面不加 UTM 参数。第一步是拿 Key。打开控制台页面 https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_contentconsoleutm_campaignrewrite 登录后进入 API Keys 管理页 https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi-keysutm_campaignrewrite 创建一个新的 Key。创建时建议按用途命名比如coding-agent-dev方便后面区分不同项目的调用额度。Key 只在创建时完整显示一次复制后先存到本地环境变量里别直接写进代码文件。第二步是选模型。Coding Agent 场景对模型的要求和普通对话不太一样它需要较强的代码理解、长上下文保持、以及工具调用function calling能力。如果你用的是 Claude Code 这类终端 Agent走 Anthropic 兼容通道会更顺如果你用的是 Cline、Continue 这类 VS Code 插件走 OpenAI 兼容的 chat completions 接口更通用。TaoToken 的模型列表可以在模型对话页 https://taotoken.net/chat?utm_sourcetaotoken_aicg_blog_endutm_contentchatutm_campaignrewrite 里先试一下确认你要用的模型 ID 拼写正确比如claude-sonnet-4-20250514这种格式写错一个字符就会报 model not found。第三步是确认计费和额度。长期跑 Coding Agent 的话建议看一下 Coding Plan 页面 https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding-planutm_campaignrewrite 它针对编码场景有专门的额度方案比按量计费更适合高频调用。如果你只是先验证一下按量也够用。这里有个我踩过的坑很多人拿到 Key 之后直接往代码里硬编码结果本地能跑、推到仓库就泄露。正确做法是写进.env文件并加进.gitignore或者用系统环境变量。下面配置片段里我会用环境变量引用的方式。3. 可复制配置Cline、Claude Code 与 Codex 的 settings 片段这一节给三套配置覆盖目前主流的 Coding Agent 接入方式。你按自己用的工具选一套复制即可路径和字段名保持和原文一致别自己改键名。先说 ClineVS Code 插件。Cline 的配置存在 VS Code 的 settings 里也可以通过插件面板填。核心三件套是 Base URL、API Key、Model ID。在 Cline 的设置面板里选择 “OpenAI Compatible” 提供商然后填{ cline.apiProvider: openai, cline.openAiBaseUrl: https://taotoken.net/api, cline.openAiApiKey: ${env:TAOTOKEN_API_KEY}, cline.openAiModelId: claude-sonnet-4-20250514, cline.openAiModelInfo: { maxTokens: 8192, contextWindow: 200000, supportsImages: true, supportsPromptCache: false } }注意openAiBaseUrl填到/api为止不要在后面加/v1Cline 会自己拼/v1/chat/completions。如果你填成https://taotoken.net/api/v1请求路径会变成/api/v1/v1/chat/completions直接 404。再说 Claude Code。Claude Code 走的是 Anthropic 兼容通道配置方式是在项目根目录或用户目录下建.claude/settings.json或者用环境变量。推荐用环境变量避免配置文件被误提交export ANTHROPIC_BASE_URLhttps://taotoken.net/api export ANTHROPIC_API_KEY你的_TaoToken_Key export ANTHROPIC_MODELclaude-sonnet-4-20250514如果你更习惯用 settings 文件在~/.claude/settings.json里写{ env: { ANTHROPIC_BASE_URL: https://taotoken.net/api, ANTHROPIC_API_KEY: 你的_TaoToken_Key, ANTHROPIC_MODEL: claude-sonnet-4-20250514 } }Claude Code 的接入文档在 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite 里有更细的说明包括 ClaudeCodeAnthropic 通道的专用配置遇到 OAuth 相关报错时可以去那里对照。最后说 Codex。Codex 的认证信息存在~/.codex/auth.json格式大致如下{ OPENAI_API_KEY: 你的_TaoToken_Key, OPENAI_BASE_URL: https://taotoken.net/api, model: claude-sonnet-4-20250514 }三套配置的共同点是Base URL 都是https://taotoken.net/apiKey 都用同一套Model ID 按你实际选的填。区别只在字段名和文件路径。把这三件套对齐了后面换工具基本就是改个字段的事。4. 验证请求用 curl 和 Python 确认 Coding Agent 链路通不通配置写完别急着开 Agent 跑任务先用最小请求验证链路。这一步能帮你把“配置问题”和“模型问题”分开省很多排查时间。先上 curl。这是最直接的验证方式不依赖任何插件curl -s https://taotoken.net/api/v1/chat/completions \ -H Content-Type: application/json \ -H Authorization: Bearer $TAOTOKEN_API_KEY \ -d { model: claude-sonnet-4-20250514, messages: [ {role: user, content: 用一句话说明什么是 Coding Agent} ], max_tokens: 200 }正常返回是一个 JSON结构里choices[0].message.content就是模型输出。如果你看到的是{error: {message: ...}}先看 message 里的具体描述下一节会按报错类型拆。再用 Python 验证一次因为很多 Coding Agent 底层就是 Python 的 OpenAI SDKimport os from openai import OpenAI client OpenAI( base_urlhttps://taotoken.net/api/v1, api_keyos.environ[TAOTOKEN_API_KEY], ) resp client.chat.completions.create( modelclaude-sonnet-4-20250514, messages[ {role: system, content: 你是一个代码助手回答简洁。}, {role: user, content: 写一个 Python 函数判断字符串是否为回文。}, ], max_tokens500, ) print(resp.choices[0].message.content)注意 Python SDK 的base_url要带/v1因为 SDK 内部会拼/chat/completions。这和 Cline 配置里不带/v1是反的别搞混。跑通之后你会看到一段带代码块的回复说明从 Key 到模型到返回的整条链路是通的。验证通过的标准有三个HTTP 状态码 200、返回体里有choices字段、content非空。三个都满足再去开 Cline 或 Claude Code 跑真实任务。如果 curl 通了但插件不通问题基本在插件的 Base URL 拼接或字段名上回去对照第 3 节的配置。5. 常见报错排查401、local proxy failed、reading choices 与 OAuth这一节按真实报错来。我把接入过程中最常撞到的四类错误列出来每类给现象、原因、修法。第一类401 Unauthorized。返回体通常是{error: {message: Invalid API key}}或authentication_error。原因有三个可能Key 复制时带了空格或换行Key 已经删除或过期环境变量没生效。排查顺序是先echo $TAOTOKEN_API_KEY看变量是否为空再检查 Key 首尾有没有空白字符。如果是 Claude Code 报 401检查ANTHROPIC_API_KEY和ANTHROPIC_BASE_URL是否都设了只设一个也会 401。第二类local proxy failed。这个报错通常出现在 Claude Code 或某些 Agent 工具里意思是本地代理层没起来或端口被占。TaoToken 的接入不需要你本地起代理所以看到这个报错先检查是不是工具自带的代理配置被打开了。在 Claude Code 里如果你之前配过HTTP_PROXY或HTTPS_PROXY环境变量先 unset 掉再试unset HTTP_PROXY unset HTTPS_PROXY unset ALL_PROXY然后重新跑一次请求。如果还报检查ANTHROPIC_BASE_URL是不是被写成了带端口的本地地址正确值就是https://taotoken.net/api。第三类reading choices 相关报错典型信息是Cannot read properties of undefined (reading choices)或list index out of range。这是解析返回体时没拿到预期结构。原因通常是 Base URL 拼错导致返回了 HTML 错误页或者模型 ID 写错导致返回体里没有choices。修法是先用第 4 节的 curl 单独验证确认返回体结构正确再回去看插件的 Base URL 有没有多写或少写/v1。Cline 不带/v1Python SDK 带/v1这个差异是最高频的坑。第四类OAuth 相关报错。Claude Code 在首次启动时会尝试 OAuth 流程如果你已经用 API Key 方式接入需要在设置里跳过 OAuth。报错信息里通常带oauth或token exchange failed。修法是在~/.claude/settings.json里确认ANTHROPIC_API_KEY已设置并且没有残留的oauthAccount字段。如果之前登录过官方账号先清理~/.claude/下的缓存文件再重启。ClaudeCodeAnthropic 通道的具体配置在接入文档 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite 里有说明对照着改。排错的核心思路就一条先用 curl 把链路验证到 200再排查工具层。工具层的报错 90% 是 Base URL 拼接和字段名问题剩下 10% 是环境变量没生效。6. 能力自检清单与长期编码方案从任务执行者到工作流设计者回到吴恩达那条推文。他说岗位被重写重写的是什么我把前面跑通的这套流程拆成一份自检清单你可以逐条对照。第一条你能不能独立完成一次模型接入配置包括拿 Key、填 Base URL、选 Model ID、跑通验证请求。这是最基础的如果这一条还卡着先按第 3、4 节走一遍。第二条你的 Coding Agent 工作流里有没有验证环节Agent 写完代码你是直接信还是会跑测试、看 diff、做 review吴恩达说的“查问题、做验证、管风险”指的就是这个。没有验证环节的工作流Agent 越强风险越大。第三条你能不能判断一个任务该不该交给 Agent有些任务适合比如写样板代码、补单元测试、重构小函数有些不适合比如涉及生产数据库的变更、涉及权限系统的改动。这个判断力就是第三层能力目前 AI 替不了。第四条你有没有建立起上下文管理习惯Coding Agent 的效果高度依赖你喂给它的上下文。项目结构、约定、已有代码风格这些你整理得越清楚Agent 输出越可用。这本身就是一项新技能。第五条你有没有持续跟踪模型和工具的变化Coding Agent 这个领域三个月一小变、半年一大变。今天好用的配置下个版本可能就换了字段名。保持跟踪的习惯比记住某个具体配置更重要。如果你这五条大部分能打勾那你已经在 AI 工程岗位的能力区间里了。如果还有缺口缺口就是你的提升方向。长期跑编码任务的话Coding Plan https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding-planutm_campaignrewrite 比按量更适合额度和场景都对着编码优化过。想先试模型效果模型对话页 https://taotoken.net/chat?utm_sourcetaotoken_aicg_blog_endutm_contentchatutm_campaignrewrite 可以直接开聊。接入过程中遇到配置问题接入文档 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite 里有分工具的详细步骤。最后说个我自己的习惯每接一个新工具先花十分钟把 curl 验证跑通再花十分钟把配置写进版本控制之外的地方。这两步做完后面无论换 Cline 还是 Claude Code都是改几个字段的事。吴恩达说的“尽快熟练掌握 AI”落到日常就是这种小步验证的积累。