AI Coding 不只靠 Prompt:Agent 工程闭环如何接入 DevOps

AI Coding 正在从提示词技巧,走向可验证、可回滚、可自修复的 DevOps 闭环。
原文链接AI 小老六

过去两年,AI Coding 的新词来得很密:Prompt Engineering、Context Engineering、Harness Engineering、Loop Engineering。名字一路翻新,底层变化却没那么玄:模型从一次性问答,慢慢被推进到能读项目、能调工具、能被测试约束的工程系统里。

如果只看宣传口径,这些词都像新范式。把链路拆开看,它们更像软件工程旧能力在 Agent 语境下重新排了一次座次。DevOps、CI/CD、容器化、反馈控制没有退场,只是执行者从人和脚本,换成了大模型与运行时。

能力轴:Agent 从会表达走向会闭环

先看一张重画后的结构图。四个阶段并不是彼此替代,而是在不断补齐 Agent 完成研发任务所需的能力。
mermaid-01.png

图:Agent 从表达、知识、行动,走向可验证的自修复闭环

这条线索里,Prompt 解决“怎么表达意图”,Context 解决“模型知道什么”,Harness 解决“模型能不能动手”,Loop 解决“动手后如何靠反馈修正”。越往后,主角越不是模型单点能力,而是​模型外面那套工程约束​。

Prompt Engineering:把意图写进输入,但写不出项目全貌

Prompt Engineering 的起点很自然:既然模型靠输入驱动,那就把输入写得更清楚。角色设定、任务说明、约束条件、输出格式、Few-shot 示例、Chain of Thought,这些方法确实能提升一次性回答的质量。

典型链路很短:

User → Prompt → LLM → Result

问题也出在“短”。Prompt 可以告诉模型“怎么做”,却很难承载复杂项目的全部背景。于是它越写越长,从几百 token 膨胀到几千甚至上万 token,最后变成一份塞满禁令、角色、格式和例子的临时说明书。

这种方式适合清晰、边界小、上下文稳定的任务。一旦任务依赖代码库结构、业务规则、历史决策和已有接口,Prompt 就开始吃力。输入再漂亮,也挡不住模型缺上下文。

Context Engineering:关键不是会问,而是喂对材料

Context Engineering 的出现,本质上是承认一个现实:很多失败不是模型“不聪明”,而是它不知道项目里已经发生了什么。

这一阶段的重心从 Prompt 模板转向上下文供给:

Context + Prompt → LLM → Result

可用的上下文大致分成三类:

上下文类型 常见内容 解决的问题
项目知识 README、编码规范、架构文档 让模型知道项目怎么组织
业务材料 API Spec、业务流程、示例数据 让模型知道需求边界
动态记忆 Memory、RAG、本地知识库 让模型继承历史经验

inline-01.png

图:上下文工程的重点,是把相关、可信、足够新的材料递给模型

这里要看的不是“上下文越长越好”,而是“上下文是否刚好有用”。Context Window、Context Compression、Context Retrieval、Context Ranking、MCP 这些讨论,最后都落到同一件事:在任务发生的那一刻,把相关、可信、足够新的信息递给模型。

Context 把 Agent 从“会接话”推进到“懂项目”。但懂项目仍然不等于能完成研发任务。它还需要进入真实执行环境。

Harness Engineering:让模型接触编译、测试和工具

到了 Harness Engineering,问题从“模型知道什么”变成“模型能做什么”。即使上下文足够,Agent 仍可能乱改文件、不会编译、不跑测试、不看日志,也不会把工具调用结果纳入下一步判断。
inline-02.png

图:Harness 为 Agent 提供可执行、可隔离、可验证的行动边界

Harness 提供的是一套​行动外壳​:

Harness 组件 对应工程能力
Git / Worktree 隔离修改、保留差异、支持回滚
Shell / Docker 提供可执行环境和依赖边界
Build / Test / Lint 用确定性工具验证结果
Deploy / Tools 让 Agent 能调用真实系统
Memory / State 记录任务状态和中间产物

有了 Harness,Agent 的行为从聊天变成一个工程循环:

Observe → Plan → Act → Verify

这听起来像新概念,但软件工程里早就有类似结构:CI 环境、构建环境、开发者工作区。差别在于,过去操作这些环境的是开发者,现在 Agent 也开始进入同一套环境。

Loop Engineering:把失败变成下一轮输入

Loop Engineering 解决的是更靠后的问题:Agent 一次写不对怎么办?

最直接的做法是让它跑起来。生成代码,执行验证,失败后读取错误,再生成下一版。直到测试通过,或者达到停止条件。

while True:
    code = generate()
    result = verify(code)

    if result.success:
        break

    feedback = collect_error(result)
    revise(code, feedback)

inline-03.png

图:失败进入反馈回路,验证通过才走向成功出口

这套模式在 AI 圈里有很多名字:Self-healing、Auto Fix、Repair Loop、Reflection Loop。名字可以换,工程骨架没变:​验证结果必须回流到下一轮生成​,失败不能只躺在日志里。

Loop 的关键不是“让模型反思”这种抽象说法,而是把反馈做成可执行信号。单元测试、类型检查、Lint、构建日志、运行时错误,都是比自然语言评价更可靠的反馈源。能被机器稳定复现的失败,才适合进入闭环。

CI/CD 视角:新词背后是一条熟悉流水线

把 Loop Engineering 摊开看,它和 CI/CD 管道非常接近:

  1. 抓取 Issue、Bug 或任务描述
  2. 让 Agent 在隔离环境里修改代码
  3. 自动运行单元测试、Lint 和构建检查
  4. 失败时提取错误堆栈和日志
  5. 把反馈交回 Agent,进入下一轮修改
  6. 全部通过后提交变更或创建 PR

和传统 DevOps 对照,差异主要在“修复动作”这一环:

流水线环节 传统 DevOps Agent Loop
触发方式 Push、Webhook、定时任务 Issue、任务队列、Cron、用户请求
隔离环境 Docker、CI Runner、临时工作区 Worktree、Sandbox、Runtime
执行逻辑 固定脚本 Agent 读取上下文后动态行动
验证机制 ESLint、Jest、构建脚本、单测 仍然依赖 ESLint、Jest、构建脚本、单测
失败处理 通知开发者修改 提取错误反馈给 Agent 再改
成功出口 打包、部署、通知、合并 提交 PR、生成补丁、通知或交付

有个细节很说明问题:验证环节至今仍主要交给确定性工具,而不是让大模型“看一眼觉得没问题”。工程系统对可复现校验的依赖没有被模型替代。概率模型负责提出修改,确定性工具负责裁判。

老方法的新位置:DevOps 不是背景板

很多 AI 工程新词,都能在旧的软件工程方法里找到对应物:

AI 语境里的说法 更底层的工程概念 常见实践
Prompt Engineering 输入协议设计 API Contract、接口说明
Context Engineering 知识管理与检索 Wiki、README、RAG、Confluence
Harness Engineering 执行环境封装 IDE、CI Runner、Docker
Loop Engineering 反馈闭环 CI/CD、TDD、自动化测试
Multi-Agent 分工协作 微服务、团队边界、责任拆分
Memory 状态管理 数据库、缓存、Session
Planner 工作流编排 Airflow、DAG、Workflow Engine

所以,Agent 工程化并不只是“模型越来越强”。更准确的说法是:模型被逐步接入了成熟的软件工程系统。输入协议、上下文管理、运行环境、验证机制、状态存储和工作流编排,这些老能力正在围着 Agent 重新组合。

能落地的 AI Coding 系统,最后往往不像一个聊天框,而像一套带队列、沙箱、日志、测试、回滚和权限边界的研发平台。

工程判断:别追黑话,先把闭环做硬

“这是新范式,还是 DevOps 的重新发明?”这个问题不用二选一。

形式确实变了。LLM 让系统多了一个能读需求、改代码、解释错误的执行者,这在过去很难成立。但底层方法没有突然换掉:任务要隔离,修改要验证,失败要反馈,状态要持久化,流程要看得见。

更值得投入的不是记住每个新名词,而是把闭环做硬:

需要做硬的环节 判断标准
上下文选择 Agent 拿到的信息是否足够、相关、不过量
执行隔离 修改是否可回滚,依赖是否可复现
验证信号 失败是否能稳定复现,并形成清晰反馈
循环边界 何时继续,何时停止,何时交给人
状态记录 每轮改了什么、为什么改、验证结果是什么

Agent 的价值,不是把 DevOps 抛到一边,而是让 DevOps 那套机制多了一个可调度的智能执行者。把 CI/CD、容器化、反馈控制和工作流编排这些地基打牢,再看 Prompt、Context、Harness、Loop,就不会被新词带着跑。

工程智慧没有消失。它只是换了一个入口,重新长在 Agent 系统里。

推荐阅读

Agent Loop 架构拆解:让 AI Agent 自己跑完验收闭环

SkillOpt 架构拆解:把 Skill 文本当参数,用执行轨迹训练 Agent

Multi-Agent 执行闭环:AI Coding 真正进生产,要靠模型分工和工程护栏

Agent Skill 状态机工程:Mode-Step 网格如何拆开工作流边界

Agent Skill Eval:从触发信号到 A/B 基准,如何把 Skill 做成可回归工程单元

posted @ 2026-07-02 12:47  AI小老六  阅读(209)  评论(0)    收藏  举报