勘误反馈
如果对本博客文章有任何问题(如探讨、建议、文字或逻辑错误等)都可以给我发邮件:
- 邮件标题:[wds博客问题反馈] - 希望在XXX文章增加一些细节的补充
- 邮件地址:8851970@qq.com
勘误反馈
如果对本博客文章有任何问题(如探讨、建议、文字或逻辑错误等)都可以给我发邮件:
系列文章见: 《回忆AI时代-从图灵机到人工智能》
2026年2月,OpenAI工程师Ryan Lopopolo发表了一篇颇具影响力的文章《Harness Engineering: Leveraging Codex in an Agent-First World》。
文中披露了一组令人印象深刻的数据,一个小团队仅用了5个月,借助Codex自动完成了约100万行代码、创建了1500个PR,整个过程中几乎没有人工编写任何代码。这并非实验室里的Demo,而是一套已经拥有内部日活用户的真实生产系统。OpenAI将这种全新的AI开发模式称为Harness Engineering。
Harness的本意
Harness原本是一个英语单词,意思是马具、挽具。一匹马再强壮,如果没有马鞍、缰绳和车架,就无法稳定地拉动车辆,更无法按照人的意图完成复杂任务。
如果把AI大模型比作一匹拥有巨大潜力的骏马,那么Harness就相当于驾驭它的一整套装备——不仅包括缰绳和马鞍,还包括马车、驾驶规则以及控制系统。它负责让模型的能力真正转化为稳定、可靠、可持续的生产力。
AI编程中的Harness
在AI编程领域,Harness并不是模型本身,而是围绕模型构建的一整套工程化支撑系统。
它包含了模型之外所有用于约束、增强、管理和协同模型工作的基础设施,使原本只能进行单次推理的大模型,能够持续、稳定地完成复杂的软件开发任务。可以把它理解为:
1 | Harness = 模型之外的一切工程能力。 |
这些能力通常包括:
因此,真正决定AI能否参与大型软件工程的,不仅仅是模型本身,更重要的是这套围绕模型构建的 Harness。可以说,模型负责“思考”,而 Harness 负责“让思考真正落地执行”。随着AI Agent的快速发展,业界越来越认同一个观点Agent = LLM + Harness其中,LLM提供智能,而Harness 提供工程能力,二者结合,才能让AI从一个“会回答问题的大模型”,成长为一个真正能够独立完成工作的智能体(Agent)。
虽然今天的大模型能力已经非常强,但仍然存在一些天然缺陷,例如:
Harness的作用,就是利用确定性的工程代码来弥补这些不足。
模型负责自己最擅长的事情——理解、推理和生成;而约束、校验、调度、恢复等工作,则交给 Harness 完成。
帮助 AI 在正确的背景下工作。典型能力包括:
目标是让模型始终拥有完成当前任务所需的信息,同时避免上下文过长导致注意力稀释。
赋予 AI 操作真实世界的能力。例如:
有了工具之后,AI 不再只是回答问题,而是真正能够完成实际任务。
负责组织复杂任务的执行流程。例如:
它相当于整个 Agent 系统的”项目经理”。
帮助 AI 自我检查和持续改进。常见方式包括:
形成:生成 → 检查 → 修复 → 再检查这样的闭环,而不是一次生成后直接结束。
用于保证长期迭代过程中代码质量不会持续下降。例如:
它们能够保证AI即使连续工作数月,也不会逐渐偏离既定的软件架构。
成熟的 Harness 往往还包含大量通用能力,例如:
这些模块共同构成了一套完整的AI工程运行环境。
系列文章见: 《回忆AI时代-从图灵机到人工智能》
1956年,达特茅斯会议正式提出 Artificial Intelligence(人工智能)概念,此后AI迎来第一轮高速发展,相继诞生搜索算法、国际象棋程序、数学定理证明、自然语言理解、感知机等标志性成果。彼时大批科学家信心高涨,乐观预言二十年之内机器将胜任人类的全部工作。
恰逢美苏冷战阶段,各国急需大批量自动翻译俄文科技文献,行业提出了无需人工介入、实现多国语言全自动互译的宏大目标。全社会对人工智能抱有极高期待,催生了严重的行业泡沫。盲目乐观带来的技术愿景远远超出了当时硬件与算法的实际能力,理想迅速撞上现实瓶颈,人工智能接连迎来两次寒冬:
进度寒冬期共有五个原因:
专家系统(Expert System)突然火起来,譬如医疗、金融、保险、制造都在大量使用,很多公司认为AI时代已经到来,但最终又是失败。主要原因:
系列文章见: 《回忆AI时代-从图灵机到人工智能》
在人工智能领域Token被翻译为词元,它是AI模型理解和处理文本的最小基础单位。 模型不能直接阅读人类的文字,它只能理解数字,因此输入给模型的提示词和模型输出的文字,都会先被拆解成一个个 Token,然后再转换成数字进行运算。
我们通过一个案例来介绍大模型Token的统计方式,一共分为三步:
譬如,你问大模型:
1 | “什么是机器学习?” |
对于模型来说,第一步不是理解文字而是通过Tokenizer(分词器)先把它转换成Token ID,譬如:
| 文本 | Token | Token ID |
|---|---|---|
| 什么 | 什么 | 1523 |
| 是 | 是 | 87 |
| 机器学习 | 机器学习 | 9361 |
| ? | ? | 34 |
按照以上表格对应关系,模型会收到 “[1523, 87, 9361, 34]”,模型会再把Token ID转成向量,如下:
| Token ID | 向量 |
|---|---|
| 1523 | [0.12, -0.55, 1.03, …] |
| 87 | [-0.31, 0.98, …] |
| 9361 | [0.42, -0.67, …] |
这也就是说模型不能直接阅读人类的文字,它只能理解数字。到目前已经完整了文字与计算机理解的数字转换。
系列文章见: 《回忆AI时代-从图灵机到人工智能》
1980年,被称为专家系统(Expert Systems)时代,也是第一波AI商业化浪潮,这一时期AI的核心思想属于符号主义(Symbolic AI)或规则驱动 AI(Rule-based AI)。1970年代末研究人员发现与其让计算机像人一样学习,不如先把专家的知识直接写进去,譬如:
如果把这些经验写成IF条件THEN结论,计算机就能够像专家一样推理。
1 | IF |
专家系统的组成,通常分为四个部分:
1 | 用户 |
系列文章见: 《回忆AI时代-从图灵机到人工智能》
ELIZA是规则驱动的对话程序,由Joseph Weizenbaum在1964–1966年开发,ELIZA是人工智能发展史上的一个重要里程碑是最早展示人机自然语言对话可能性的程序之一,它代表了符号主义(规则驱动 AI)的早期成果,虽然它没有真正的语言理解能力,但证明了人机自然语言对话是可行的,也启发了后来的聊天机器人研究。
ELIZA主要的工作原理:
用一个Python来解释它的工作原理:
1 | import re |
运行效果:
1 | You: I feel tired |
系列文章见: 《回忆AI时代-从图灵机到人工智能》
大模型目前主要的交互方式是Prompt(提示词,下文统称”提示词“),因为大模型本质上是一个根据已有内容继续预测下一个Token的模型,假设模型内部其实一直在做这样的事情:
1 | 今天的天气很好, |
如果你什么都不给它,它不知道应该生成什么。所以你必须给它一个开头如”请介绍一下机器学习”,告知大模型朝哪个方向继续生成,这就是”提示词“这个词的来源。
那大模型什么输入的不叫问题? 来看一下问题与提示词差别:
| Question(问题) | Prompt(提示) |
|---|---|
| 一定是疑问句 | 不一定是问题 |
| 主要用于提问 | 可以是任何输入 |
| 例如:”什么是 AI?” | 可以是一篇文章、一段代码、一张表格、一段角色设定等 |
我们聊天也叫Prompt、让模型生成一张图片也是prompt。
在日常应用大模型过程中写好一个提示词至关重要,它能帮你解决问题的同时还可以帮您节约Token的输出量,而Token量的节约也就是为你节约成本,因为目前大模型主要的计费方式就是Toekn。这里推荐一个实用的框架:
| 项目 | 含义 | 示例 |
|---|---|---|
| C(Context) | 背景 | 我正在学习大模型 |
| O(Objective) | 目标 | 帮我理解 Token |
| S(Style) | 风格 | 通俗易懂 |
| T(Tone) | 语气 | 像老师讲课 |
| A(Audience) | 受众 | 零基础程序员 |
| R(Response) | 输出格式 | Markdown,包含流程图和示例 |
提示词示例:
1 | 角色: |
一个好的Prompt并不是越长越好,而是目标明确、上下文充分、要求具体、输出格式清晰。当你把模型当作一位专业人士,清楚地说明”你是谁、要做什么、为什么做、希望如何输出”,回答质量通常会明显提升!