默庵·超级个体
26-06-16 07:36 微博认证:微博新知博主 科技博主 头条文章作者 微博原创视频博主

Prompt、Context、Harness 工程全景图

做 LLM Agent 应用时,很多人只关注 Prompt。
但真正稳定、可控、可复现的 AI 应用,通常由三层组成:

Prompt Engineering、Context Engineering、Harness Engineering。
它们像三个同心圆:
提示工程、上下文工程、牵引工程。
它们三个像同心圆:

最内层是 Prompt Engineering,决定模型这一次要“做什么”。
中间层是 Context Engineering,决定模型此刻“知道什么”。
最外层是 Harness Engineering,决定模型“如何可靠地做,并持续变好”。

1. Prompt Engineering:指令层

Prompt 是最内层,也是最直接的一层。
它负责告诉模型:
你是谁?
你要完成什么任务?
你应该按照什么步骤思考?
你要遵守哪些约束?
最终输出成什么格式?

一个好的 Prompt 通常包含几个核心要素:

角色 Persona:定义模型扮演的角色。
目标 Purpose:明确这次任务要达成什么。
流程 Process:告诉模型按照什么步骤完成。
约束 Policy:限制边界、风格、长度、格式。
输出 Presentation:规定输出结构,比如 JSON、表格、Markdown。
自检 Proof:要求模型在输出前检查逻辑和错误。

Prompt Engineering 解决的是单次调用质量问题。
它让模型更容易理解任务,更稳定地输出符合预期的结果。

但 Prompt 有一个明显限制:
它只能影响模型这一次怎么回答,无法保证模型长期拥有正确、完整、实时的信息。

2. Context Engineering:上下文层
Context Engineering 是中间层。
它解决的问题是:
模型在回答之前,应该拿到哪些信息?
在真实产品里,模型不能只靠内置知识回答。它需要结合:
用户输入
历史对话
知识库
文档
网页
数据库
API
工具执行结果
短期记忆和长期记忆

Context Engineering 的核心能力,是把这些信息进行管理:

先检索,再筛选;
先压缩,再排序;
再把最重要的信息注入给模型。
常见流程是:
用户提出问题。
系统从知识库或数据库中检索相关内容。
对结果进行过滤、去重、排序。
把长内容压缩成模型能理解的摘要。
最后将高价值信息放入上下文窗口。
Context Engineering 解决的是信息质量问题。
它让模型少猜测、少幻觉、少遗漏。
如果上下文太少,模型会编。
如果上下文太多,模型会分不清重点。
如果上下文顺序混乱,模型会被无关信息干扰。
如果上下文过期,模型会基于错误事实做判断。
所以,Context Engineering 的关键不是“塞更多信息”,而是“给模型刚好需要的信息”。

3. Harness Engineering:外层系统层
Harness Engineering 是最外层。
3. Harness Engineering:外层系统层
线束工程是最外层。

它解决的问题是:
如何让 AI 应用可靠运行、持续迭代、可以上线?
这里的 Harness,可以理解为模型外部的工程框架和运行系统。

它包括:

Agent Loop
工具调用系统
权限控制
错误处理
日志追踪
Guardrails
自动化测试
评估系统
版本管理
成本控制
部署发布
监控告警

如果说 Prompt 是指令,Context 是信息,那么 Harness 就是执行环境。

一个典型 Agent Loop 包含三步:
第一步:收集上下文。
第二步:采取行动。
第三步:校验结果。

如果结果不满足条件,就继续反馈、修正、重试,直到完成任务或触发停止条件。

Harness Engineering 解决的是可靠性问题。
它让模型输出可以被验证,工具调用可以被追踪,错误可以被恢复,系统可以持续优化。
没有 Harness,AI 应用很容易停留在 Demo 阶段。
有了 Harness,AI 才能进入真实业务流程。
三层之间的关系
这三层不是互相替代的关系,而是逐层增强。
Prompt Engineering 关注单次表达。
它决定模型要做什么。
Context Engineering 关注信息供给。
它决定模型知道什么。
Harness Engineering 关注系统运行。
它决定模型如何可靠地做,并且持续变好。
一个简单的总结是:
Prompt 决定任务。
Context 决定知识。
Harness 决定可靠性。

常见错误

很多 AI 应用效果不好,问题通常不在模型本身,而在工程层设计不完整。
常见的 Prompt 错误是:
目标不清楚。
约束不明确。
输出格式不稳定。
只写一句话就期待模型完成复杂任务。

常见的 Context 错误是:

不给背景信息。
检索结果噪声太大。
上下文太长,没有压缩。
关键信息顺序混乱。
记忆机制缺失。
长期知识没有更新。
常见的 Harness 错误是:
没有工具调用闭环。
没有评估机制。
没有日志和可观测性。
没有错误恢复。
没有成本和权限控制。
没有自动化测试。
这些问题都会导致 Agent 看起来“很聪明”,但用起来“不可靠”。
最佳实践

做高质量 LLM Agent 应用,可以按照下面的顺序设计:
先定义目标和约束,再写 Prompt。
先检索相关信息,再放入上下文。
先压缩和排序,再注入模型。
所有输出都要可校验、可追踪、可评估。
用数据和评估结果驱动迭代优化。

衡量一个 Agent 是否成熟,可以看几个指标:
准确率是否提升。
相关性是否提升。
幻觉率是否下降。
任务完成率是否提高。
延迟是否可控。
成本是否可控。
失败是否可以恢复。
一句话总结
Prompt Engineering 让模型听懂任务。
Context Engineering 让模型掌握信息。
Harness Engineering 让模型可靠执行。

真正的 AI 工程能力,不只是写好一句 Prompt,而是把 Prompt、Context、Harness 三层系统化设计好。

#科技先锋官##How I AI#

发布于 山东