Ffdesky
FDE · Forward Deployed Engineer

资料库 · 12 篇入门短文

命令行 / Git / Web / 数据库 / 部署 / LLM / Prompt / Agent …

资料库

12 篇入门短文,每篇 5-10 分钟。不需要按顺序读 —— 哪个词看不懂就翻哪篇。

这些是基础概念铺垫,不是 FDE 专属内容;已经会的直接跳过。

速通 · 命令行:和电脑说话的第二种方式


为什么绕不开它

很多 AI 编程工具(比如 Claude Code)就活在命令行里:你在一个黑(或白)底的窗口里跟它对话,它替你敲命令、跑程序。命令行对你不是"要精通的技能",是"要不害怕的环境"——90% 的命令是 AI 敲的,你要做的是看懂它在干什么、偶尔自己敲一两条。

打开它

  • Mac:启动台搜「终端」(Terminal),回车打开
  • Windows:开始菜单搜「PowerShell」,回车打开

打开后是一个等你输入的窗口,光标前面那串字是"提示符"(显示你是谁、在哪个文件夹)。输入命令 → 回车执行 → 看输出,就这一个循环。

你只需要会这 6 条

命令 干嘛的 例子
pwd 我现在在哪个文件夹(Windows 也能用) pwd
ls(Win: dir 也行) 列出当前文件夹里有什么 ls
cd 文件夹名 进入某个文件夹 cd Desktop
cd .. 退回上一层文件夹 cd ..
mkdir 名字 新建文件夹 mkdir fde-test
↑ 方向键 调出上一条命令(不用重敲)

心智模型:命令行里永远"站在某个文件夹里"pwd 看自己站在哪,ls 看脚下有什么,cd 走来走去——跟访达/资源管理器是同一棵目录树,只是从点图标变成打字。

5 分钟跟做

一条条敲,每条回车后看输出:

pwd                # 我在哪
ls                 # 这里有什么(Windows 用 dir 也行)
cd Desktop         # 进桌面(Mac/Win 通用;若提示不存在,先 ls 看真实名字)
mkdir fde-test     # 建一个文件夹——现在看你的桌面,是不是多了一个?
cd fde-test        # 进去
pwd                # 确认自己进来了
cd ..              # 退出来

做完你可以把 fde-test 文件夹右键删掉,练习结束。

常见坑(卡住先查这里)

现象 原因与处理
command not found / 无法识别 命令拼错了(多打/少打字母),或该软件没装。照原样再敲一遍
No such file or directory 文件夹名不对——ls 看一眼真实名字再 cd;名字带空格要加引号:cd "My Files"
敲了命令没反应,光标一直闪 它可能在等你输入或正在干活;想中断按 Ctrl + C
粘贴不了 Mac 正常 Cmd+V;Windows PowerShell 右键=粘贴

你只需要会这些

到此为止。不需要学管道、grep、vim、shell 脚本——真实工作里复杂命令基本都是 AI 生成的,你看不懂时让它解释("这条命令是干嘛的?逐段解释")就是标准做法。别在命令行教程的兔子洞里花时间。

速通 · Git:代码的存档/读档系统


为什么绕不开它

让 AI 大改代码之前先存档,改崩了一键回滚——这是和 AI 协作的安全带,几乎天天用。另外作品集放到 GitHub/Gitee 上给面试官看,推上去(push)也是 Git 的活。

和命令行一样:大部分 Git 命令会是 AI 帮你敲的,你要懂的是"存档点"这个概念和一条基本流。

四个词,四个动作

白话 命令
仓库 repo 被 Git 管理的项目文件夹(存档都记在里面) git init 把当前文件夹变成仓库
提交 commit 打一个存档点(带一句说明) git add -A + git commit -m "说明"
克隆 clone 把网上的仓库下载成本地文件夹 git clone 网址
推送 push 把本地存档上传到网上(GitHub/Gitee) git push

心智模型:add 是"选中要存档的改动",commit 是"确认存档",log 是"查看存档列表"。一条基本流:改代码 → add → commit(→ 需要给别人看时 push)

5 分钟跟做(纯本地,不需要注册任何账号)

接着上一篇的命令行,一条条敲:

cd Desktop
mkdir git-test && cd git-test     # 建个练习文件夹并进入
git init                          # 变成 Git 仓库(出现 Initialized empty...)
echo "第一行" > notes.txt          # 造一个文件
git add -A                        # 选中所有改动
git commit -m "第一个存档"          # 打存档点
echo "第二行" >> notes.txt         # 再改一下文件
git add -A
git commit -m "第二个存档"          # 又一个存档点
git log --oneline                 # 看:两个存档点,各带说明

看到两行存档记录,练习完成(文件夹可删)。这就是全部核心——"让 AI 改崩了怎么办"的答案,就是回到某个存档点。

若 commit 报错让你先设置身份,执行环境线里讲过的 git config --global user.name/email 两条后重试。

GitHub 是什么?现在要注册吗

GitHub 是世界最大的代码托管网站(仓库放在云上+给别人看),国内访问偶尔不稳,国内同类是 Gitee。不用急着注册——真要用的时候再弄,push 的账号/密钥配置 AI 能一步步带你做。

你只需要会这些

到此为止。不需要学分支 branch、合并 merge、rebase、解决冲突——那是多人协作的内容,真用到时 AI 能代劳,你只要在它动手前说一句"先 commit 一下"。看到网上教程里花哨的分支图,跳过,不是你现在的事。

速通 · Web / API / JSON:网页背后发生了什么


前端和后端:餐厅模型

把任何一个网站/App 想成一家餐厅:

  • 前端 = 大堂:你看到的界面(菜单、桌椅、装修),跑在你的手机/浏览器里
  • 后端 = 后厨:真正干活的程序(算账、查库存、存数据),跑在别人的服务器上
  • 你点一道菜(点按钮),服务员把单子递进后厨,后厨做好端出来——这一来一回,就是一次"请求/响应"

一个单文件的小工具,是前端后端挤在一个文件里的极简版;真实企业系统前后端分开,中间靠 API 说话。

API:后厨的点菜窗口

API 就是后厨对外开的窗口+菜单:规定好"你这样点,我这样回"。例如:

请求:GET /api/orders/SW1003        (给我看订单 SW1003)
响应:{"status": "运输中", "amount": 129}
  • GET 是"要数据",POST 是"提交数据"——先知道这两个动词就够
  • 响应开头有个状态码:200=成功,404=没找到,500=后厨炸了。排障时天天看它

FDE 的日常:把 AI 系统通过 API 接进客户的老系统——所以这个词后面三周会反复出现。

JSON:双方约定的单据格式

前后端传数据用的通用格式,长这样:

{
  "order_id": "SW1003",
  "status": "运输中",
  "items": ["蓝牙耳机", "充电线"],
  "amount": 129.0
}

读法就三条:{} 包一组"字段: 值";值可以是文字(带引号)、数字(不带)、列表([]);可以层层嵌套。能读懂就行,永远不需要手写——AI 写,你看。

5 分钟跟做:亲眼看一次请求

  1. 用 Chrome/Edge 打开预习资料站(或任意网站)
  2. F12(Mac: Cmd+Option+I)打开开发者工具,切到 Network(网络) 标签
  3. 刷新页面——看,刚才"打开一个网页"这个动作,背后是一串请求逐条飞出去
  4. 随便点开一条,看右侧:Status(状态码,多半是 200)、Response(响应内容)
  5. 关掉。你已经看过网页的"后厨小票"了,排障就是这么看的

你只需要会这些

到此为止,四个词能对上号就合格:前端(你看到的)/ 后端(服务器上干活的)/ API(它们之间的窗口)/ JSON(窗口里递的单据)。不需要学 HTML/CSS/JavaScript 语法,不需要背 HTTP 协议细节——真要读的每一段,AI 都能给你翻译成白话。

速通 · 数据库:比 Excel 靠谱一万倍的表格


数据库就是一堆"严格的 Excel 表"

你肯定用过 Excel。数据库(MySQL 这类"关系型数据库")可以先理解成:

Excel 的概念 数据库的叫法
一个 .xlsx 文件 一个数据库 database
一个工作表 Sheet 一张表 table
表头的一列 一个字段 field / 列 column
一行数据 一条记录 row

比 Excel 严格在哪:每列必须声明类型(数字/文字/日期,存错就报错);每行有个身份证号(主键 id),别的表靠它精确指到这一行;能被程序同时、安全地读写成千上万次。

一个订单表长这样:

id order_no product amount status
1 SW1001 蓝牙耳机 129.00 已签收
2 SW1002 充电线 19.90 运输中

眼熟吗?一个"查订单"的小功能,真实系统里查的就是这样一张表。

SQL:对表格说的话

SQL 是查/改数据库的语言,一句顶你在 Excel 里点十下:

SELECT * FROM orders WHERE status = '运输中';
-- 从 orders 表里,把 status 是"运输中"的行全拿出来

SELECT product, amount FROM orders WHERE amount > 100;
-- 只要 product 和 amount 两列,条件是金额大于 100

INSERT INTO orders (order_no, product, amount) VALUES ('SW1011', '键盘', 199);
-- 插入一条新记录

读法:SELECT 拿什么列 / FROM 从哪张表 / WHERE 满足什么条件。就这一个骨架。

5 分钟跟做(纸面练习)

不装软件,看着上面那张 orders 表,口头回答:

  1. SELECT * FROM orders WHERE amount < 50; 会拿到哪几行?(答:id=2 那行)
  2. "把所有已签收的订单的商品名列出来"——SQL 骨架怎么写?(答:SELECT product FROM orders WHERE status = '已签收';)
  3. 为什么每行要有 id?(答:两条订单可能商品金额全一样,id 保证能精确指到某一行)

三题都能答上,这篇过关。

你只需要会这些

到此为止。不需要装 MySQL、不需要学 JOIN/索引/事务、不需要会设计表结构——真实项目里库表通常是现成的、SQL 是 AI 写的;你的活是看懂它在查哪张表、什么条件,以及在需求沟通时能问客户一句"这些数据现在存在哪、几张表"。想深了解的以后再说,现在别陷进去。

速通 · 部署:从"我电脑上能跑"到"别人都能用"


一个应用是怎么到你手机上的

你现在正在看的这个预习资料站,链接是 http://203.0.113.10/prep/。拆开看:

  • 203.0.113.10 = 一台云服务器的 IP 地址(服务器就是别人机房里 24 小时不关机的电脑,按月租)
  • /prep/ = 那台电脑上的一个目录,里面放着这些网页文件
  • 你手机输入网址 → 请求飞到那台电脑 → 它把文件发回来 → 手机浏览器画出页面

部署,就是把你电脑上跑通的程序,搬到那台不关机的电脑上跑起来,让所有人随时访问。 没部署之前,你的程序只活在 localhost(本机)——关机就没,别人也够不着。

五个词,凑齐地图

白话
localhost "我自己这台电脑"。开发时程序都先跑在这,地址长得像 localhost:3000
服务器 租来的不关机电脑。把程序搬上去=部署
端口 一台电脑同时跑多个服务,各占一个门牌号(:3000/:8080);80 是网页默认门牌,可省略不写
域名 IP 地址的好记外号(baidu.com ↔ 一串数字),要花钱注册+国内要备案
HTTPS 加密版 HTTP(网址前的小锁)。给企业交付上线基本是必选项

Docker:装箱发货

一个会反复出现的词,先给白话版:程序在你电脑能跑、搬到服务器就报错,多半是环境不一样(差个依赖/版本不对)。Docker 把"程序+它需要的全部环境"打成一个标准集装箱,在哪台机器上开箱都一样跑。企业私有化交付(把 AI 系统装进客户自己的机房)几乎离不开它。

5 分钟跟做(梳理链路)

不动手装任何东西,回答三个问题(答案就在上文):

  1. 你在自己电脑上做出来的一个 .html,算部署了吗?(答:没有——它只在你电脑上,发给别人要传文件;放到服务器上才叫部署)
  2. localhost:3000203.0.113.10/prep/ 本质区别是什么?(答:前者只有你自己访问得到,后者全网可达)
  3. 客户说"这个系统必须装在我们自己机房里,数据不能出去"——这叫什么交付?(答:私有化部署,FDE 的高频场景)

你只需要会这些

到此为止,能看懂"把它部署到服务器的 8080 端口,配个域名上 HTTPS"这句话在说什么,就合格。不需要现在买服务器、学 Linux 运维、背 Docker 命令——真正要推上线时,AI 能一步步带你走完,不必提前背。

AI 认知 · LLM 白话原理:它到底是怎么"想"的


机制一:它在玩超大规模的文字接龙

大语言模型(LLM,ChatGPT/Claude 这类的统称)干的事,本质是预测下一个词:读了海量文本后,它对"什么词后面通常接什么词"有极强的手感,于是一个词一个词地把回答"接龙"出来。

  • 它处理文字的单位叫 token(词元),约等于一个词或半个词;API 按 token 计费——算"这个客服系统一个月成本多少"就是在数 token
  • 接龙≠检索:它不是在数据库里查答案,而是在生成"看起来最合理的下一句"。这个区别是理解下面两条的钥匙

机制二:上下文窗口 = 它的工作记忆

模型每次能"看在眼里"的内容是有限的(几万到几十万 token),这个范围叫上下文窗口。窗口里有什么,它就基于什么接龙;窗口里没有的,它一概不知道。

三个直接推论,天天用得上:

  1. 它不知道你没告诉它的事:你公司的业务规则、昨天开会的决定——不喂给它就等于不存在。"怎么把对的信息喂进窗口"有个专门的名字叫上下文工程,是腾讯 JD 里点名的技能
  2. 长对话它会"忘"前面:窗口滚满了,早期内容被挤出去。重要约定别指望它一直记得,该重申就重申
  3. 它的知识有截止日期:训练数据停在某个时间点,之后的新闻它靠猜。要新信息就得联网搜或你贴给它

机制三:幻觉——为什么它会一本正经地胡说

模型没有"我不知道"的本能:接龙机制要求它永远接下去,于是知识缺口处它会编一个最像真的——编造的参考文献、不存在的函数、错误的数字,语气还特别自信。这叫幻觉,是机制的副产品,不是 bug,不会被彻底修好

怎么跟它安全共处?记瑞士奶酪模型:每片奶酪都有洞(每道防线都有漏洞),但多片叠起来,洞就对不齐了。对 AI 的输出:

  • 第一片:给足上下文(资料贴给它,让它"有据可接")
  • 第二片:让它引用来源("基于我给的文档回答,注明出处")
  • 第三片:关键处人工验证(数字、代码、事实——跑一遍、查一遍)

"信任但验证"这句话,就是这三片奶酪的缩写。哪天你逮住一个客服机器人"自作主张处理退款",干的就是这个活。

5 分钟跟做

打开 WorkBuddy(或任意 AI 对话工具),把下面这句发给它:

用 100 字解释你为什么会产生幻觉,并给我一个"我该怎么验证你输出"的建议。

看它的回答和这篇讲的能不能对上——让 AI 解释 AI,这招很常用。

你只需要会这些

三句话能复述就合格:它靠接龙生成,不是查库;窗口里没有的它不知道;它会自信地编,所以关键处必须验证。 Transformer 架构、注意力机制、训练原理——统统不需要,那是造模型的人的事,你是用模型交付价值的人。

AI 认知 · Prompt 基础十条:把话说明白的手艺


十条(前五条管"说清楚",后五条管"管得住")

1. 说目标,别说过程:先讲你最终要什么,而不是一步步指挥它怎么做。 差:"帮我写个循环遍历订单" → 好:"我要统计这批订单里金额大于 100 的有几单,数据长这样:…"

2. 给背景(上下文):它不知道你没说的事。你是谁、给谁用、什么场景、有什么约束,前置交代。 "我给一家连锁电商做客服工具,用户是不懂技术的客服主管…"——一个像样的开场白就是这么写的。

3. 给例子:一个好例子顶三段描述。要什么格式/风格,贴一个样例:"参照这个格式输出:…"

4. 定输出形态:要表格说表格,要 100 字说 100 字,要 JSON 给字段名。不说,它就自由发挥。

5. 划边界(明确不做什么):"先别写代码""不要引入外部依赖""只改这一个文件"。"先别写代码,先给我 PRD"就是这条——边界往往比目标更能防跑偏

6. 大活拆小步:别一句话要一个完整系统。先要方案,确认了再要实现,再验收再下一步——"PRD → 生成 → 修改"这样的三步走,就是拆步的节奏。

7. 拿不准就让它先复述:"开工前,先用三句话复述你对这个任务的理解,列出你打算怎么做。"理解偏了当场纠正,比返工便宜十倍。

8. 让它自查:"改完列出你改了哪几处""检查一遍有没有漏掉退款场景"。AI 检查 AI,能兜住不少低级错。

9. 加一句"别做多余的事":AI 有热心过头的毛病——你要改一个按钮,它顺手把配色全换了。护栏句:"只做我要求的,别做任何额外改动。"(讲师在国产工具上实测踩过的坑,这句是特效药)

10. 不满意就迭代,别推倒重来:输出不对,指着具体问题让它改("第二段太啰嗦,压到一半"),而不是换个说法从头再问。对话是有上下文的,迭代比重开便宜。

5 分钟跟做

从你工作里挑一个真实小任务(写通知/整理表格/回复邮件),用这个骨架写一条 Prompt 发给 AI:

【背景】我是…,要给…做… 【目标】帮我… 【要求】输出格式为…;不要… 【自查】完成后检查…

对比一下你平时"一句话甩给它"的效果——差距就是这十条的价值。

你只需要会这些

十条不用背,记三个动作:说人话交代清楚(1-4)、划边界拆步子(5-7)、让它自查+别做多余的事(8-10)。市面上的"神级咒语大全""万能模板"不用收藏——那些花活的底层就是这十条。而且用久了会发现:跟 AI 把话说明白的能力,和跟客户把需求聊明白的能力,是同一块肌肉。

选修 · AI 编程范式简史:五年走完的四级台阶

台阶一:补全时代(2021-2022)——AI 是输入法

GitHub Copilot 上线,AI 第一次进了程序员的编辑器:你写一半,它猜下一半,按 Tab 接受。本质是超强代码输入法——快,但主意全是你的,它只负责把你想好的敲得更快。

台阶二:对话时代(2022-2023)——AI 是搜索引擎升级版

ChatGPT 出现,写代码变成"问答":把报错贴进去、让它写个函数、解释一段正则。程序员的日常从"查 Stack Overflow"变成"问 AI"。但代码还是要你自己复制回项目、自己改、自己拼——AI 在项目外面,你在项目里面

台阶三:结对时代(2023-2025)——AI 进了项目

Cursor、Trae 这类 AI IDE 出现:AI 能看到你整个项目,能直接改多个文件,能跑命令看报错。你说"给列表加个分页",它自己找到该改哪三个文件。这时一个新词开始流行——Vibe Coding:你用自然语言描述意图,AI 负责实现,你负责判断对不对。

台阶四:代理时代(2025-)——AI 成了干活的人

Claude Code 这类 Agentic 工具把台阶再抬高一级:你交代一个目标("按 PRD 实现这个应用"),它自己拆任务、写代码、跑起来、看报错、修复、再验证——一个循环能自主跑几分钟到几十分钟,你在关键节点把关。"交代一个目标,回来验收"——这就是这一级的体感。

这段历史对你意味着什么

  1. 人的角色一路上移:从"敲代码的"→"问问题的"→"描述需求的"→"管 AI 干活的"。每上一个台阶,拼的越来越不是手速,是把需求说清楚 + 判断产出对不对的能力——这正是这个岗位最核心的能力
  2. JD 已经追认了这件事:字节 FDE 岗硬性要求"熟练掌握 Vibe coding";DeepSeek JD 写"重度使用 Claude Code、Cursor 优先"(2026-03,量子位)。工具使用方式本身成了岗位技能
  3. 台阶越高,验证越重要:AI 自主性每升一级,它"自信地做错"的半径也大一级——所以这个系列的下一篇《信任但验证》,是代理时代的安全带

你只需要会这些

记住四个台阶(补全→对话→结对→代理)和一句话:工具每进化一步,人的价值就往"定义问题、验证结果"移一步。 不需要背年份和产品名——每一级自己亲手摸一遍,比记住谁先谁后有用得多。

选修 · 上下文工程入门:AI 做的为什么跟你想的不一样

好需求三标准

标准 意思 反面 → 正面
具体 有颜色、尺寸、数量、风格 "做个好看的页面" → "蓝白配色,卡片式布局,圆角 8px,顶部固定导航"
有边界 做什么 + 不做什么 "做个电商" → "二手书平台 MVP,只做发布/搜索/下单,不做支付和物流"
可验证 能用数字或条件衡量达标 "要快" → "页面加载不超过 3 秒"

教练不会说"开好一点",会说"方向盘左打半圈,速度 30 码"——数字比感受词有效。"现代感"三个字对 AI 没有意义,"渐变背景+圆角按钮+卡片阴影"它就知道怎么做了。

需求不必一次完美:迭代金字塔

  • 第一层(开始对话时):说清核心——谁用、干什么、技术栈。三行就够,先让 AI 动起来
  • 第二层(动手前):定好边界——做什么、不做什么、MVP 范围
  • 第三层(做的时候):补充细节——颜色值、异常处理("加载失败显示重试按钮,不是空白页")

大部分人的问题不是"不会写好需求",而是"以为要一次写完美所以干脆不写"。需求是迭代出来的,不是一次憋出来的。

连第一层都写不出来?反向提问法

让 AI 当产品经理,反过来问你。万能话术:

我想做一个[你的模糊想法],但我还没想清楚具体要什么。
请你像产品经理一样,问我 5-8 个关键问题,帮我梳理清楚需求。
每次只问一个问题,等我回答后再问下一个。

这招在预习第③步"想好你的项目"时就能用——把你行业的模糊想法喂给它,让它帮你把选题问清楚。

上下文的四种失败模式(自查表)

模式 生活类比 典型现场
🔴 不足 跟设计师说"帮我装修",没说风格预算户型 你说"做个登录页",AI 用了 React,你的项目是 Vue
🔴 过载 给装修队一本书,"按这本书装修" 把所有文档全贴给 AI,它抓不住重点做偏了
🔴 矛盾 一张图纸客厅朝南,另一张朝北 规范里写蓝色主题,对话里又说改绿色
🔴 过期 用去年的图纸施工,今年墙已拆 数据库改了结构,项目说明没更新,AI 按旧的生成

信息量多少算刚好:一个新手项目的说明文档 200-500 字最合适。判断标准——发给一个没参与过项目的同事,他能看懂你要做什么就够,看着累就删。

AI 输出不对时的五步排查口诀

① 技术对不对? → 有没有说技术栈
② 范围对不对? → 有没有画边界
③ 风格对不对? → 有没有说视觉要求
④ 有没有冲突? → 规范和对话有没有矛盾
⑤ 信息过期吗? → 说明文档跟当前代码是否一致

前三步解决 80% 的问题。

别一上来就说"AI 太笨了"——按这五步查,通常前三步就找到原因。

你只需要会这些

三标准(具体/有边界/可验证)+ 迭代金字塔(先三行启动再补)+ 四种失败模式自查。这些东西看懂不难,难在有意识地用。下次让 AI 做事之前,照着这三条把要求写一遍,差别立刻看得出来。

选修 · Agent 是什么:从"会说"到"会做"

一个任务看懂本质分岔

任务:"帮我规划周六的约会,预算 500。"

普通问答 AI:"好的,你们喜欢什么类型的活动?"……一问一答,真正干活的还是你自己

Agent:

[思考] 拆成三段:下午茶 → 晚餐 → 晚间活动
[行动] 调用搜索工具找安静的咖啡馆 → 拿到 3 家,选评分最高的
[行动] 再搜适合约会的餐厅、再搜有氛围的酒馆
[思考] 合计 480,在预算内 → 输出一张完整行程卡

核心差异:普通 AI 只能"说",Agent 能"做"。 一个能查订单、能转人工的客服机器人,就是最迷你的 Agent 雏形。

定义一句话 + 四大能力

Agent = LLM(大脑)+ 工具(手脚)+ 记忆(笔记本)+ 自主循环(自己决定下一步)

四个缺一不可:没工具=空谈,没 LLM=传统脚本,没记忆=失忆症,没自主循环=遥控玩具。

能力 干什么 体现
规划 Planning 把大任务拆成小步骤 用户说"规划约会",它自己决定先咖啡再晚餐
记忆 Memory 记住偏好与上下文 你说过"不喝酒",后续自动把酒吧换成剧场
工具调用 Tool Use 按需选工具、传参、解释结果 要天气调天气接口;不该调的时候不瞎调(这是关键)
反思 Reflection 判断结果够不够好,决定重试/放弃 搜索没结果就换关键词再试,而不是直接答"查无"

反思是 Agent 和脚本最大的差异:脚本错了就崩,Agent 错了会自己调整。

最好用的隐喻:Agent 是实习生

会拆任务、记得主管偏好、会用办公软件、做完自己检查——一个好实习生 = 一个好 Agent。你怎么培训实习生,就怎么"培训"Agent:给背景、画范围、定期同步、必要时干预。

关键视角转变:你不是在写 Agent,你是在管 Agent

写代码的 Agent 已经存在了(Claude Code 就是)。你要学的不是"怎么造 Claude Code",是"怎么让它帮你造产品"。类比:不用学开出租车,要学的是告诉司机去哪、走哪条路、什么时候让他做主。

自主级别 L1-L5(不用背,有感觉即可):L1 问答(ChatGPT 网页)→ L2 建议(代码补全)→ L3 半自主(关键节点确认)→ L4 全自主(交代目标看结果,Claude Code)→ L5 多 Agent 协作。

级别不是越高越好——什么时候放手、什么时候干预,有一张黄金清单:

  • 🟢 放手:重复性任务 / 有明确规范 / 可回退 / 低风险读操作
  • 🔴 干预:碰钱、碰隐私、碰生产数据 / 影响真实用户(发邮件/支付/删数据)/ 不可逆操作

眼熟吗?某演示项目第③步你拦下"机器人自己处理退款",就是在执行这张清单——配得合适是能力,一律放手是不懂管理。字节 JD 里"识别 AI 可介入 vs 人工兜底的边界",说的就是这件事。

你只需要会这些

能给外行讲清三句话:Agent 是能自己拆任务、用工具、会自查的 AI;把它当实习生管;越碰钱和权限越要人把关。 ReAct 循环、多 Agent 编排、MCP 这些工程细节,真动手时再查不迟,现在不用背。

选修 · 信任但验证:AI 写的代码,哪些能直接收,哪些必须查

为什么不能"全都人工看一遍"

有人说:"AI 写的代码我全部人工 review 不就安全了?"——不可能。1,000 行的项目人工审要 4 小时,10 个项目就是 40 小时。人工全量 review 在 AI 时代不可持续,必须分级:越接近"钱、隐私、权限"的代码,越不能盲信 AI。

信任度金字塔:记住 5 / 15 / 40 / 40

代码类型 占比 怎么对待
⛔ 必须人工 支付/加密/风控核心逻辑 ~5% AI 写完人工逐行审 + 测试覆盖
🔴 低信任 认证/权限/数据加密 ~15% AI 写完必须换另一个 AI 审,且要有测试
🟡 中信任 增删改查/表单/列表 ~40% 跑一下 + 测边界(0/-1/超大数/空值全打一遍)
🟢 高信任 样式/文案/静态页面 ~40% 瞄一眼直接收,错了顶多"丑",不会"挂"

本质就一句:80% 的代码(UI+CRUD)不值得花审查时间,把精力全部集中到那 20% 的命脉上。 高信任层不要浪费时间审;中信任层只做边界审查不做安全审查;低信任以上才动真格。

一个中信任 bug 的典型长相(AI 写的分页接口):没限制 pageSize 上限(前端传 10000 数据库卡死)、没处理 page=0 或负数——测边界一打就现形。

交叉审查:写代码的 AI,不能是审代码的 AI

单个 AI 审自己的代码,命中率约 30%——它"觉得自己写的就是对的",看不见自己的盲点。换一个不同的 AI 来审,命中率能到约 75%:训练数据不同、评判标准不同,一个看不见的洞另一个能看见。

三种用法(由轻到重):

  1. 写完即审:A 工具写完提交 → 换 B 工具"审一下这个提交有没有安全问题" → 回到 A 修 → 循环
  2. 阶段审查:每个里程碑让另一个 AI 全项目扫一遍,输出一份 Markdown 审计报告,逐项修完再复审
  3. 交付前审查:上线前深度审 + 快速扫双管齐下,报告合并去重——这份报告本身就是交付物

三个反模式(新手全踩过):

  • ❌ 同一个 AI 既写又审(自带偏见)
  • ❌ 只审单个文件不审全项目("漏鉴权"这种问题单文件根本看不出来)
  • ❌ 审完只留一段对话不留报告(没有 Markdown 报告等于没审——交付不是审查的副产物,是审查的目的)

你只需要会这些

两个数字一句话:5/15/40/40 分级审查;写和审必须是两个 AI;审查的产出是报告不是对话。 OWASP 十大漏洞的具体条目用到时再查,现在不用背。

选修 · Agent PRD 初见:写给 AI 看的项目说明书

包工头的比喻

想象你是包工头,雇了很多工人。每个工人来,你不可能从头解释整个项目——你会给他一份施工说明书:"项目是这样的,统一用这些材料,风格要这样……"

Agent PRD 就是这份说明书,只不过读者是 AI。 它不是写给人看的产品文档,是写给 AI 看的项目约束。Claude Code 的 CLAUDE.md、Trae 的 Rules,本质都是它的载体——AI 每次干活前先读它,你就不用每次重新解释。

一份合格的 Agent PRD 长什么样

# 二手书交易平台 — Agent PRD

## 项目概述
是什么:在线二手书交易平台 MVP;给谁用:大学生卖买闲置教材

## 技术选型(严格遵守)
前端 Vue3 / 后端 Node.js / 数据库 SQLite;不使用 React、Spring Boot

## 界面风格
主色 #1890ff,圆角 8px 统一,卡片式白底轻阴影

## 编码规范
注释用中文;变量驼峰命名;API 走 RESTful

## 已实现功能(勿重复实现)
书籍列表(GET /api/books)、书籍发布(POST /api/books)

## 当前版本范围(MVP)
包含:发布/浏览/搜索/登录;不包含:支付、物流、评价

注意两个容易被忽视的段落:"已实现功能(勿重复实现)"防 AI 把做过的再做一遍;"不包含"防它热心过头把项目做成三个月的工程。

三种最常见的写错

  1. 太模糊:"技术选型:随便,什么都行" → AI 每次用不同技术,项目风格分裂
  2. 互相矛盾:选型写 Vue3,界面风格又写"用 React 的 Material UI" → AI 不知道听谁的
  3. 过期信息:PRD 写"用 user 表",你上周已改名 account 表 → AI 按旧的生成(上下文四种失败模式里的"过期",最隐蔽)

最重要的一条:PRD 是活文档

  • 第一天 200 字就够:技术选型 + 风格 + MVP 范围 + 不做什么
  • 做了两天 补一段:已实现功能、已有组件(防重复)
  • 一周后 再补:API 返回格式约定、数据库表结构

项目每向前走一步,PRD 就该更新一行。 最怕的不是写得不好,而是做了三天还停在第一天的 200 字版本——省的不是写文档的时间,是 AI 重复劳动和你排查的时间。

和 FDE 的关系(为什么预习就讲它)

腾讯 FDE JD 技术栈第一组词是"上下文、RAG、MCP、SDD"——SDD(规范驱动开发)的核心思想就是"规范是新的源代码":把项目约束写成 AI 可执行的规范,是 2026 年 JD 里的正式技能词。实际动手时,给一个项目写的第一份文档往往就是 Agent PRD —— 它会跟着项目一路长大,最后长成交付文档的底稿。

你只需要会这些

记住结构(概述/选型/风格/规范/已实现/范围)+ 三种写错 + "活文档"心法。模板不用背——让 AI 替你生成即可,你的活是看懂它、维护它、别让它过期