返回顶部
热门问答 更多热门问答
技术文章 更多技术文章

[内含案例]上下文工程及其在AI编程领域的应用

[复制链接]
链载Ai 显示全部楼层 发表于 1 小时前 |阅读模式 打印 上一主题 下一主题

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;text-wrap: wrap;background-color: rgb(255, 255, 255);letter-spacing: 0.578px;visibility: visible;line-height: 1.6em;">

在 AI 时代,写应用已经不只是敲代码,而是与模型对话。无论是国外大厂的 Claude Code、Gemini CLI,还是国内大厂的Trae、CodeBuddy,只要输入合适的提示(prompt),AI 似乎就能帮我们生成一个完整的应用,这就是所谓的Vibe 编程

但你可能也体验过:有时结果很炫酷,有时却不稳定(我感受特别深的就是按照新的提示词进行了迭代,但是之前已经实现好的内容没了),缺少关键功能,甚至跑不起来。这就是Vibe 编程的最大痛点:凭感觉写提示,成功率完全不可控。

于是,Context Engineering(上下文工程)应运而生。它被认为是比传统提示词工程高效、比单纯Vibe 编程稳定的方法。

今天,我将带结合一个完整的产品需求提示(PRP)示例,展示如何用上下文工程来构建生产级应用。

01

关于Context Engineering

什么是Context Engineering

上下文工程的本质是在模型生成响应之前,精心设计它“能看到”的信息——包括会话历史、用户数据、文档摘要、工具定义、系统指令、结构化输出模式等。

与提示词工程相比,其差异在于:

维度
提示词工程
上下文工程
定义
精雕细琢一句话,使模型“按我说的做”
设计整个环境,决定模型在“看到什么”的上下文中工作
作用范围
聚焦单条任务(如写封邮件、生成代码)
涉及对话历史、工具集成、记忆机制等系统设计层面
目的
快速得到某个输出
保持输出长期一致、系统稳定、可复用
是否包含 Prompt
是,Prompt 是其中一环
是,但作为更大系统结构中的一部分
应用场景
一次性内容生成、灵感创作
聊天机器人、代码助手、底层流水线、长期应用系统

Prompt engineering 是写一个瞬间给模型的指令;Context engineering 是决定它接下来‘看到什么’

Andrej Karpathy


也就是说,与其像传统 Prompt 工程那样只关注当下指令的措辞,不如构建一个让 AI 在“理解环境”下工作的系统,这样它就能更一致、更可靠。

为什么需要 Context Engineering?

上下文工程的重要性不仅限于 Vibe 编程,实际上它为 AI 系统一致性与扩展性提供支撑,在多个场景中价值凸显:

1.增强多轮对话记忆

让客服机器人能访问历史对话、账户状态、产品文档,避免反复问“你前面聊过啥” 。

2.提升 RAG(检索增强生成)可靠性

系统可以动态检索相关文档,并在prompt前精炼摘要提供给模型,而不是把所有原文都 dump 进去从而让 prompt 被压死。

3.实现工具链能力集成

上下文工程会提前告知模型当前可调用哪些工具(如 API、数据库、计算功能),并提供 schema 说明,提高工具调用的成功率 。

4.提升生成质量及一致性

通过管理上下文内容、去除杂乱信息、减少token浪费,保证模型输出的生产级稳定性 。

5.缩放 AI 应用、减少重复 Prompt 调优

Context 工程是一套系统设计,可在多个用户、多次交互中重复使用,而不必每次都从头推敲 prompt 文案。

而具体到目前的 Vibe 编程场景,有几个常见问题:

  • 生成结果不一致:同样的提示,输出可能差异很大。

  • 缺少关键非功能特性:比如安全、性能、日志、测试等。

  • 代码无法直接用于生产:缺少集成、文档和可扩展性。

  • 沟通成本高:要不停试错,才能得到勉强可用的结果。

Context Engineering 的核心思想就是:不再凭感觉写一句话 prompt,而是构建一个结构化的上下文环境,让 AI 在明确的边界和规范下完成开发。

Context Engineering 的优势

  • 减少试错:通过清晰的上下文层(系统、领域、任务、交互、响应),让模型“明白该做什么、不该做什么”。

  • 提升复用性:一份设计好的 PRP,可以在不同项目里直接套用,也可以跨模型使用。

  • 生成生产级代码:不仅仅是跑通,还能包含测试、安全、文档等要素。

  • 提高可预测性与一致性:同样的输入,结果更稳定。

02

实战案例:任务管理应用

假设我们要做一个团队任务管理应用。那如果我们用 Context Engineering,会是什么效果呢?

trae中的上下文配置界面

下面就是一份完整的经 Context 工程化的产品需求提示(PRP),它分为五个上下文层:

  • System:定义角色、行为准则和质量标准

  • Domain:明确技术栈、架构模式和行业标准

  • Task:描述应用目标、功能与非功能需求

  • Interaction:规划开发阶段、沟通风格与错误处理策略

  • Response:规定输出结构、代码组织要求和注意事项

这份 PRP 可以直接放进AI coding工具里使用。

# 经 Context 工程化的产品需求提示(CONTEXT-ENGINEERED PRODUCT REQUIREMENT PROMPT)# 任务管理应用(Task Management Application)
# SYSTEM 上下文层## 角色定义(Role Definition)你是一名资深全栈开发者和软件架构师,专注于现代 Web 开发。你拥有构建生产级 SaaS 应用的丰富经验,擅长企业级架构、安全性与可扩展性。你能够理解业务需求并将其转化为稳健的技术解决方案。
## 行为指南(Behavioral Guidelines)-在任何决策中始终优先考虑安全性、性能和可维护性 -遵循行业最佳实践和既定设计模式 -提供完整、可运行且具备生产级质量的实现 -包含全面的错误处理、日志和监控能力 -生成整洁、文档完善的代码,便于其他开发者理解和维护 -在所有实现中考虑边界情况与失败场景
## 质量标准(Quality Standards)-代码必须通过生产就绪标准,包括安全扫描 -所有组件必须完全可用并正确集成 -包含全面的测试策略(单元、集成、端到端) -提供详细的部署和运维文档 -实现完善的监控与可观测性功能
# DOMAIN 领域上下文层## 技术栈(Technology Stack)-**前端**: React 18 + TypeScript,Tailwind CSS,React Query(状态管理) -**后端**: Node.js + Express.js + TypeScript -**数据库**: PostgreSQL + Prisma ORM -**认证**: JWT token + refresh token 轮换 -**实时**: Socket.io 实时更新 -**文件存储**: AWS S3 或本地存储(multer) -**部署**: Docker 容器,可直接用于云部署 -**测试**: Jest(单元测试),Cypress(端到端测试)
## 架构模式(Architecture Patterns)-Clean Architecture,明确分层、关注点分离 -符合 RESTful API 设计,合理使用 HTTP 状态码与错误处理 -Repository 模式,用于数据访问抽象 -Service 层用于业务逻辑 -Middleware 模式处理横切关注点(认证、日志、验证) -事件驱动架构,用于实时功能
## 行业标准(Industry Standards)-**安全**: 符合 OWASP Top 10,输入验证,防止 SQL 注入,XSS 防护 -**可访问性**: 符合 WCAG 2.1 AA 标准,适用于所有 UI 组件 -**性能**: 核心 Web Vitals 优化、懒加载、缓存策略 -**代码质量**: 遵循 ESLint、Prettier、SonarQube 规则 -**API 设计**: 符合 OpenAPI 3.0 规范
# TASK 任务上下文层## 应用概览(Application Overview)**名称**: TaskFlow Pro **类型**: 全栈 Web 应用 **目标**: 为团队和个人提供专业的任务管理系统,用于组织、追踪和协作,支持实时更新与全面报告。
## 功能需求(Functional Requirements)### 核心功能(Core Features)1.**用户管理** - 用户注册与认证 - 个人资料管理(含头像) - 基于角色的访问控制(管理员、经理、成员) - 团队邀请与管理
2.**项目管理** - 创建、编辑、删除项目 - 项目模板(常见工作流) - 项目状态跟踪(规划中、进行中、暂停、已完成) - 项目级权限与团队分配
3.**任务管理** - 创建、编辑、删除和分配任务 - 任务优先级(低、中、高、关键) - 任务状态(待办、进行中、审核、完成) - 截止日期与提醒 - 任务依赖与子任务 - 文件附件与评论 - 时间跟踪与预估
4.**协作功能** - 所有用户实时任务更新 - 评论系统(支持 @提及) - 项目与任务的活动流 - 通知系统(应用内与邮件)
5.**仪表盘与报告** - 个人仪表盘与任务概览 - 项目进度可视化 - 时间跟踪报告 - 团队生产力分析 - 可自定义小部件
6.**搜索与筛选** - 全局搜索(项目与任务) - 高级筛选(状态、优先级、指派人、日期) - 保存搜索查询 - 基于标签的组织方式
## 非功能需求(Non-Functional Requirements)-**性能**: 页面加载时间 < 2 秒,API 响应时间 < 500ms -**安全**: 敏感数据端到端加密,安全的会话管理 -**可扩展性**: 支持 10,000+ 并发用户,水平扩展能力 -**可用性**: 99.9% 正常运行,高负载时平稳降级 -**可用性(UX)**: 简单直观的界面,学习成本低,支持移动端自适应设计
## 技术约束(Technical Constraints)-必须支持现代浏览器(Chrome 90+,Firefox 88+,Safari 14+) -数据库体量需优化,保证成本效益 -API 限流,防止滥用 -支持离线模式(基本任务查看与创建)
# INTERACTION 交互上下文层## 开发阶段(Development Phases)1.**架构设计**: 数据库 schema、API 设计、组件架构 2.**后端基础**: 认证、数据库模型、核心 API 接口 3.**前端基础**: React 组件、路由、状态管理配置 4.**核心功能**: 任务与项目管理功能 5.**实时功能**: 集成 Socket.io,支持实时更新 6.**高级功能**: 搜索、筛选、报告、文件上传 7.**测试**: 全面的测试套件实现 8.**文档**: API 文档、用户指南、开发者文档 9.**生产部署**: Docker 配置、环境搭建、部署指南
## 沟通风格(Communication Style)-清晰解释架构决策与权衡 -为复杂业务逻辑提供详细代码注释 -在适用时提供多种实现方案 -主动解决潜在的扩展性与安全性问题
## 错误处理策略(Error Handling Strategy)-实现全局错误处理中间件 -提供用户友好的错误提示 -包含调试所需的日志记录 -非关键功能在失败时平稳降级
# RESPONSE 响应上下文层## 输出结构(Output Structure)请交付完整的 TaskFlow Pro 应用,结构如下:
### 1. 项目架构概览-系统架构图(文本描述) -数据库 schema 设计 -API 接口结构 -组件层级结构
### 2. 后端实现-完整的 Express.js + TypeScript 服务端 -Prisma schema 与迁移文件 -认证中间件 -所有 API 路由,含输入验证 -Socket.io 集成(实时功能) -错误处理与日志 -文件上传处理
### 3. 前端实现-完整的 React + TypeScript 应用 -所有组件(含 props 类型定义) -React Query 配置(API 调用) -Socket.io 客户端集成 -Tailwind CSS 响应式设计 -表单验证与错误处理
### 4. 数据库设置-Prisma schema 文件 -迁移文件 -测试种子数据 -数据库索引策略
### 5. 配置与环境-环境变量说明文档 -Docker 配置文件 -package.json(依赖完整) -TypeScript 配置文件
### 6. 测试实现-Jest 单元测试(关键函数) -API 集成测试 -前端组件测试 -测试数据夹具
### 7. 文档-完整 README(含安装说明) -API 文档(含示例) -用户指南(含截图描述) -部署指南
### 8. 生产注意事项-安全最佳实践实现 -性能优化方案 -监控与日志设置 -备份与恢复流程
## 代码组织要求(Code Organization Requirements)-使用绝对路径导入与路径映射 -实施一致的文件命名约定 -遵循 React 与 Node.js 最佳实践 -包含全面的 TypeScript 类型定义 -实现错误边界与回退 UI -响应式设计模式
## 特定实现说明(Specific Implementation Notes)-所有列表视图需支持分页 -使用乐观更新提升用户体验 -提供加载状态与骨架屏 -表单需实现完善验证与友好错误提示 -搜索功能需使用防抖(debounce) -头像与附件需实现图片优化
---# 执行请求(EXECUTION REQUEST)请生成完整的 TaskFlow Pro 应用,遵循以上所有上下文层定义。确保所有组件达到生产级就绪、完整文档化,并符合指定的架构模式与质量标准。 从**项目架构概览**开始,然后按逻辑顺序提供所有实现文件,保证开发者能够顺利搭建并运行该应用。

如果你想把上下文工程应用到实际的工作/探索里,可以按以下步骤操作:

  1. 分层思考:不要直接写“帮我做个应用”,而是拆成类似于SYSTEM / DOMAIN / TASK / INTERACTION / RESPONSE 这样的不同部分。

  2. 复用模板:可以直接使用前面的PRP实例作为参考模板,把“任务管理系统”换成你自己的业务场景。当然,要留意不同AI coding IDE的特点有所不同,你需要进行必要的调整!

  3. 逐步生成:不要一次性让 AI 输出所有代码,而是从架构 → 后端 → 前端 → 测试 → 文档 → 部署,按阶段来。

  4. 人工校验:Context Engineering 并不是“免QA”,你仍然需要做代码审查和集成测试,但工作量会大幅减少。

03

最后

Vibe 编程让我们感受到 AI 写代码的魔力,但 Context Engineering 才让它真正能落地到生产。

  • Vibe 编程:快,但不稳定。

  • Context Engineering:有结构,稳定,可规模化。

在本文中,我们不仅分享了为什么上下文工程是必须成为你的AI技能的一部分,还提供了一份完整的可参考的PRP 模板,你可以马上拿去尝试。

下次你再启动一个新项目,不妨试试这种方法:与其反复修改 prompt,不如一开始就设计好上下文,让 AI 真正成为一个“资深架构师”。

最后,附上一张来自Lena Hall(Droid AI的CEO)分享的上下文工程速查表:



ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;text-wrap: wrap;background-color: rgb(255, 255, 255);line-height: 1.6em;">

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;text-wrap: wrap;background-color: rgb(255, 255, 255);text-align: center;line-height: 1.6em;">以上,就是关于上下文工程及其在AI编程领域的应用研习分享。

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;text-wrap: wrap;background-color: rgb(255, 255, 255);text-align: center;line-height: 1.6em;">本期到此结束。

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;text-wrap: wrap;background-color: rgb(255, 255, 255);text-align: center;line-height: 1.6em;">再见

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

链载AI是专业的生成式人工智能教程平台。提供Stable Diffusion、Midjourney AI绘画教程,Suno AI音乐生成指南,以及Runway、Pika等AI视频制作与动画生成实战案例。从提示词编写到参数调整,手把手助您从入门到精通。
  • 官方手机版

  • 微信公众号

  • 商务合作

  • Powered by Discuz! X3.5 | Copyright © 2025-2025. | 链载Ai
  • 桂ICP备2024021734号 | 营业执照 | |广西笔趣文化传媒有限公司|| QQ