跳转到内容

上下文与文件:怎么喂料

AI 的输出质量,80% 取决于你给的上下文质量,而不是提示词写得有多花哨。

同样一句“帮我改 bug”,给不给上下文,结果能差一个数量级。

在对话里输入 @ 会弹出可引用项,常见的有:

写法 作用
@src/auth/login.ts 引用具体文件
@整个项目 让 AI 通读项目
@某次对话 引用历史会话上下文

什么时候用:你知道问题出在哪个文件时,直接指过去,比让 AI 猜快得多。

工作区是 AI 默认能读写的目录。设置原则:

✅ 做法:~/WorkBuddy/my-project 只授权当前项目
❌ 做法:~/Desktop 权限过大,风险高

配置位置:设置 → 工作区目录。多个项目可以配多个工作区,切任务时切换。

一个实用技巧:如果任务涉及多个项目(比如前端 + 后端),把两个目录都加进工作区,AI 能跨项目读代码。

对话里直接拖文件进去,适合:

  • 让它分析一份 Excel 数据
  • 让它读一份 PDF 报告
  • 让它看截图找 UI 问题

上传的文件只在本次对话生效,不进工作区。

常见误区:把整个项目甩给它,以为信息越全越好。

实际后果:

  • 无关文件稀释关键信息,AI 抓不住重点
  • 响应变慢,成本变高
  • 有概率引用到过时的旧代码,改错地方

正确做法:精准投喂。

❌ "帮我看看这个项目为什么跑不起来"(甩整个仓库)
✅ "@package.json @src/index.ts 运行 npm run dev 报这个错:[粘贴完整报错]"

新手最爱干的事:把报错概括成一句话。

❌ "运行的时候报错了,说模块找不到"
✅ "运行 npm run dev 报错:
Error: Cannot find module 'next'
at Object.<anonymous> (/Users/me/proj/server.js:3:15)
at Module._resolveFilename (node:internal/modules/cjs/loader:1075:15)"

完整的堆栈里有文件名、行号、调用链——这些信息比任何描述都有用。

问自己一个问题:如果把这个任务交给一个刚入职的同事,只给他我准备交给 AI 的这些信息,他能做吗?

答案是“不能”,那 AI 也做不好。缺什么补什么。

跑了几百轮的长会话会积累大量无关上下文,导致 AI 开始“跑偏”。

处理方式

  • 新任务开新会话,别什么都塞在一个会话里
  • 重要的结论让 AI 写进项目记忆文件,跨会话能复用
  • 会话里发现 AI 开始答非所问 → 直接开新会话,把关键信息重新喂一遍

到这里你已经能独立跑通一个完整任务了。接下来是进阶篇——技能、子代理、MCP、自动化、记忆系统,每一篇都能把效率再提一档。

可以回 学习路线 看看后面的规划。