上下文:规则文件与 MCP
“Vibe coding”课程第 20 课,共 26 课。免费,有动画和小测验。
智能体什么都记不住
昨天你刚跟智能体讲清楚你的健身打卡应用是怎么回事。今天开了新会话,它又什么都不知道了。上下文(context)就是智能体此刻能看到的一切:你的消息、打开的文件和指令。不同会话之间,它通常什么都不记得。解决办法很简单:把要点写进项目里的一个文件,智能体每次开工都会自己读。这个文件就在图的左边。
AGENTS.md 和它的亲戚们
AGENTS.md 是一种开放格式:放在项目根目录(也就是项目主文件夹)里的普通文本文件。很多智能体都会读它。Claude Code 读它自己的 CLAUDE.md,Cursor 有自己的规则文件。道理都一样:给新同事的一份说明。后缀 .md 指 Markdown,一种带标题和列表的纯文本格式。你可以只维护一个主文件,其他文件里写一句“见这个文件”就行。
里面写什么
图里这四行就是基本款。项目:一句话说明是什么、给谁用。启动:在你电脑上把网站跑起来的命令,比如 npm run dev。测试:运行检查的命令,比如 npm test。禁止:把密钥写进代码、直接往 main 提交。还可以加风格要求:“命名清楚,界面文字用中文”。就像打工交班时给下一班留的纸条:简短、说重点。
简短且属实
写满十屏的文件反而有害:它会占满上下文,重点淹没在细节里。写错了更糟。文件里写 npm start,项目实际要用 npm run dev 启动?智能体就会一次又一次出错。项目有改动,就更新文件,或者让智能体“根据这次改动更新 AGENTS.md”。而且里面绝不能放密钥:这个文件在 Git 里,Git 什么都记得。
MCP:给智能体的插座
MCP(Model Context Protocol,模型上下文协议)是把各种服务和工具接到智能体上的标准方式。就像 USB:同一种接口,能插很多不同设备。图右边有三个插头。GitHub:智能体能读任务和 PR。数据库:能查看数据表。浏览器:能自己打开你的网站、点按钮。每个这样的连接叫一个 MCP 服务器。
接入要谨慎
MCP 服务器能访问你开放给它的一切。只装可信的:服务官方出的,或知名项目做的。权限给到最小:数据库只读,最好连测试副本,而不是真实用户数据。陷阱在于:智能体通过 MCP 读到的文字,比如某个网页,里面可能藏着给 AI 的指令。所以有风险的操作,仍然要由你来批准。
自测一下
- 项目里为什么要有 AGENTS.md?
正确答案: 智能体读它来了解项目规则. 智能体跨会话会忘,规则文件给它要点:项目是什么、怎么启动、哪些不能做。密钥绝不能放进去:这个文件在 Git 里。 - MCP 是什么?
正确答案: 把服务接到智能体上的标准. MCP 就像智能体的 USB:GitHub、数据库、浏览器等工具都用同一种方式接入。 - 通过 MCP 给智能体接数据库,正确做法是?
正确答案: 只给最小权限,比如只读. 权限越小,智能体出错或被藏起来的指令带来的损失就越小。用测试副本,别用真实用户数据。