Skip to content

Source-Driven Development 解决的是 AI 凭旧训练数据写框架代码的问题。它要求先确认项目依赖版本,再查官方文档,用当前版本推荐的写法实现,并把关键来源说明清楚。

AI 写框架代码总是过时怎么办:Source-Driven Development 怎么用

下载 source-driven-development 中文版 Skill ZIP

你让 AI 写一个 React 表单,它可能还在用几年前的写法。

你让它配一个 Next.js 路由,它可能混用旧目录和新目录。

你让它接一个 SDK,它可能写出一个看起来像真的、实际已经废弃的 API。

这类问题很常见。AI 的训练数据会过时,框架文档会更新,最佳实践也会变。

source-driven-development 这个技能的重点就是:不要凭印象写框架代码,先查源头。

什么时候必须查文档

不是所有任务都要查官方文档。

改错别字、改变量名、移动 Markdown 文件,这些不依赖框架版本。直接做就行。

这些场景更应该先查:

  • React、Vue、Next.js、Svelte 这类框架写法。
  • 表单、路由、数据获取、认证、状态管理。
  • SDK 接入和第三方 API。
  • 新版本迁移。
  • 要写成项目模板或可复用模式的代码。

越是会被复制到多个地方的代码,越不能靠记忆。

第一步:先确认版本

查文档前,先看项目到底用什么版本。

Node 项目看 package.json,Python 项目看 pyproject.tomlrequirements.txt,Go 项目看 go.mod,Rust 项目看 Cargo.toml

不要直接问 AI:“React 表单怎么写?”

更好的问法是:

md
先读取 package.json,确认 React、Vite 和相关表单库版本。
再查当前版本官方文档。
按官方推荐写法实现,不要用训练数据里的旧写法。

版本不同,答案可能完全不同。

第二步:只查相关页面

查文档不是把整个官网扔给 AI。

你要查的是具体页面。

比如要写 React 的 action 表单,就查 React 对应 hook 或 action 文档;要写 Vite 配置,就查 Vite config 文档;要写 Django auth,就查 Django 当前版本 auth 文档。

不要拿 Stack Overflow、博客、教程当主要依据。那些内容可能有用,但它们不该排在官方文档前面。

资料优先级可以这样排:

  1. 官方文档。
  2. 官方博客、迁移指南、changelog。
  3. MDN、web.dev 这类标准资料。
  4. 社区文章,只能作为补充。

AI 可以总结资料,但不能用“我觉得应该这样”代替来源。

第三步:按文档实现,不要只贴链接

有些 AI 会查了文档,然后仍然写旧代码。

所以你要让它明确说明:这个实现对应文档里的哪个模式。

比如:

md
实现时请说明:
- 当前项目检测到的库版本。
- 使用了哪份官方文档。
- 哪个 API 或模式来自文档。
- 有没有和项目现有写法冲突的地方。

如果官方文档和现有项目写法冲突,不要让 AI 偷偷选一个。

它应该停下来告诉你:文档推荐 A,项目里现在普遍用 B。你再决定是跟随项目风格,还是趁这次改成新写法。

查不到文档怎么办

查不到就是信息。

这可能说明:

  • 这个写法不是官方推荐。
  • 这个库文档质量很差。
  • 你搜错了版本或入口。
  • 这个 API 已经被移除。

这时 AI 不应该硬写一个很自信的方案。

更稳的说法是:

md
我没有找到当前版本官方文档支持这个写法。
可以继续实现,但需要把它标成未验证方案。
如果这是生产代码,建议换成官方文档覆盖的模式。

承认没查到,比编一个答案安全。

古法编程怎么用这个技能

古法编程强调透明可控。

Source-Driven Development 正好补上 AI 编程的一个薄弱点:让每个框架相关决策都能追溯到来源。

你不用盲信 AI,也不用盲信自己记忆。看版本,看文档,看实现是否对应。

这会慢一点,但会少很多“跑起来才发现 API 不存在”的坑。

你可能还需要

同类技能:

如果你正在写框架、SDK 或平台相关代码,先让 AI 查官方文档,再让它动手。