当前位置: 首页 > news >正文

从“听懂”到“干活”:带你了解驾驭工程、提示词工程与上下文工程的核心逻辑

引言

在AI技术飞速普及的今天,越来越多的人开始尝试用大模型解决实际问题——可能是让AI写一段代码、整理一份文档,也可能是搭建一个能自主完成复杂任务的智能体。但很多人都会遇到同一个困惑:明明我给AI发了指令,它却总答非所问?聊了几轮之后,它就忘了我最初的要求?好不容易让它听懂了、记住了,却又不知道怎么让它真正“动手干活”?

其实,这三个问题的答案,恰恰对应了三个极易混淆却又至关重要的AI工程概念:提示词工程(Prompt Engineering)、上下文工程(Context Engineering),以及驾驭工程(Harness Engineering)。

有很多人在接触这些概念时,总会陷入“分不清、记不住、用不上”的困境——误以为提示词工程就是“写好一句话”,上下文工程只是“记好之前的话”,而驾驭工程更是听起来高深莫测,不知道和前两者有什么关系。但实际上,这三者不是孤立存在的,而是一套从“让AI听懂”到“让AI记住”,再到“让AI自主干活”的完整体系。

一、提示词工程:让AI不乱说话

大语言模型的本质是预测下一个词的概率,如果指令太宽泛,输出就会发散。提示词工程通过有意识地设计指令,加入角色设定、背景、格式限制等约束,就会让模型的输出更符合预期

因此提示词工程解决的核心问题是:怎么让AI听懂我说的话,不跑偏?

1.他到底在干什么?

我们给 AI 的每一句话,本质上都是一个 “提示词”。

提示词工程,就是教你把这句话,变成一份逻辑清晰、要求明确、格式固定的 “任务说明书”。说明书越清楚,AI 的输出就越接近你的预期。

2.如何写提示词?

要结合角色设定、背景、历史对话等来和AI进行对话,这里举个例子

模块作用例子
角色设定给 AI 一个身份,让它用对应的专业能力和语气回答你是资深Python工程师
背景 / 目标说清楚你要解决什么问题、达到什么效果我现在需要优化一段数据处理代码
历史对话补充之前聊过的关键信息,避免重复说明我前面提到过,代码要兼容Python3.8
参考文档 / 规则给 AI 划定 “知识边界”,避免它瞎编参照Python3官方文档,不要用第三方库
限制条件明确 “什么不能做”,防止 AI 过度发挥不改原有代码逻辑,只新增排序功能
输出格式规定结果的形式,方便你直接使用直接返回完整可运行的函数代码,不要多余文字解释

如果你说:帮我优化一下代码,结果AI会写一堆废话,或者把原有的改的面目全非

二、上下文工程:让AI知道的更多

模型回答的不准,往往是因为“知道的不够多”,所以我们会将很多资料打包给AI,其中包含提示词,这些资料就叫上下文

但是大模型再厉害,一次能处理的资料也是有限的,这个限制就叫上下文窗口

在对话中,如果对话次数变多,很容易将上下文窗口变满,于是大模型就会丢弃或压缩部分信息,因此不可避免会丢失一些关键信息,从而破坏我们要的结果的正确性,这就是上下文腐化

因此问题变成了如何在合适的时候、将合适的内容塞到上下文窗口中,这就引出了上下文工程(提示词工程是上下文工程的一部分)

上下文工程通过召回、压缩、组装三个步骤,将最相关、最精简的信息喂给模型,从而提升回答的准确性

1.召回

就是获得什么信息,这些信息可以来自外部信息、历史对话、当前代码环境以及程序运行报错等,从这些信息里面获取一些关键信息

2.压缩

由于上下文窗口的限制,因此就会有压缩,比如将信息分开发给大模型做总结

3.组装

因为在压缩时,信息放置的位置和顺序会直接影响大模型的输出,比如:越靠后越容易被大模型关注

不同AI工具的上下文工程策略不同

三、驾驭工程:让AI自主干活

提示词工程和上下文工程,都是为了让 AI“听得懂、记得住”,这样AI只能聊天,没办法帮我们干活,如果让 AI“能动手、能干活、能自己调整”,就需要驾驭工程了。

1.核心组成

能够像人一下利用外部工具来干活,读写代码文件、执行命令做测试,这些共同构成了执行层

2.ReAct

将上下文工程、大模型、执行层串成一个流程:上下文发给大模型,大模型负责思考,外部程序负责执行,将得到的报错等信息加到上下文里,然后继续传给大模型......就是一个循环过程,这就是所谓的AI Agent,本质就是一个for循环

但是当循环越来越长,上下文得到的信息也会越来越多,就会导致产生上下文腐化,因此,只要我们保证上下文里面一直有一些可复用的核心信息,那么大模型就能在大框架约束下减少理解偏移

因此整体上变成了这样的框架,共同组成了一个包裹着大模型的工程外壳,这就是驾驭工程

Agent=大模型+Harness

http://www.jsqmd.com/news/707472/

相关文章:

  • 如何快速掌握DownKyi:新手必备的B站视频下载完整指南
  • Z-Image权重注入避坑指南:strict=False模式下100%兼容LM系列
  • 【RA-Eco-RA4M2开发板评测】环境搭建
  • AI智能体安全攻防实战:从提示词注入到纵深防御
  • EmbeddingGemma-300m惊艳效果展示:音乐流派评论语义聚类与用户画像关联分析
  • 拉格朗日乘数法与SVM优化原理详解
  • C++ 手写哈希表(开放定址法 + 链地址法)+ 封装 unordered_map/unordered_set,从原理到工程级实现
  • ARM嵌入式C/C++库架构与优化实践
  • 开源光标主题合集:从原理到实战,打造个性化桌面交互体验
  • Xinference-v1.17.1与Latex集成:AI辅助的学术论文写作系统
  • 多模态AI应用开发实战:从开源工具箱到生产部署全解析
  • 冥想第一千八百六十一天(1861)
  • 快速体验Fairseq-Dense-13B-Janeway:科幻奇幻写作AI助手入门教程
  • MCP低代码集成调试成功率从41%→98.6%:基于137个真实产线案例提炼的7阶渐进式验证模型
  • 从零开始学习 Linux SPI 驱动开发(基于 IMX6ULL + TLC5615 DAC)
  • 【项目实训】——管理员前端页面开发
  • Canvas Quest与3D建模工作流结合:生成贴图与概念设计
  • 世界及中国地震相关数据(2012-2024年)
  • Python单变量函数优化算法与应用实践
  • 虚拟级联技术:运营商网络的带宽优化方案
  • 终极抖音下载指南:免费开源工具让你的视频获取效率飙升300%
  • 关于Navicat Premium 17破解方法
  • cv_unet_image-matting WebUI二次开发指南:从改颜色到加功能的完整教程
  • 机器学习核心原理与实践指南:从数据到智能应用
  • 智能体“自我纠错”循环的设计模式:何时重试、何时求助、何时报错?
  • Clink 在 VS 2022 Developer Command Prompt 中的配置与路径精简调校
  • 【CLAUDE】CLAUDE.md 完全实战指南:用好Claude Code的核心记忆体系
  • Rust的#[non_exhaustive]:防止模式匹配穷尽的可扩展枚举
  • 《B4447 [GESP202512 二级] 环保能量球》
  • Flux2-Klein-9B-True-V2效果集:Proteus电路仿真与AI概念艺术设计的碰撞