AI和大模型——loop engineering

一、介绍

AI界现在和原来的区块链一样了,要是不隔几天就出个新概念新术语,就没办法过日子了。这不,才把Harnesses编程搞起,没几天,又出来新的概念了,loop engineering编程。本文就分析一下,它是到底是什么东西。

二、loop engineering

循环工程,开发者不再主动的与大模型交互下达指令来完成开发任务。而是由一套设计好的循环工作系统来驱动AI完成相关的开发任务。
可以简单这样理解,它可能是AI从辅助编程向自主编程演进的一个起点。也就是说,开发者从原来的编码者转化角色成为面向AI的一个代码的架构者和管理者。

三、分析

简单回忆一下AI编程的发展。首先最早是通过终端或命令行通过提示词与大模型直接交互,用来完成代码的编写;然后就演进为可以通过上下文工程与大模型进行交互,包括工具使用、文档内容等等,更准确的完成一系列的问题再编码;后来又使用Agent和Harness编程,增加运行沙箱、可运行测试、反馈及回滚机制等,让Agent独立完成一系列的任务。它们在一层层的不断被抽象被整合,形成更强大的编程范式。
但无论怎么演进,开发者仍然身处局中,需要不断的启动与大模型的循环交互。虽然工作量大幅减少,但仍然需要盯着工作任务。举一个不恰当的例子,烧水,在没有智能断电系统前,人就得盯着水壶,开了就得手动断掉电源。而有了智能电源管理系统后,通过水温的监测,就可以自动的进行断电和通电再加热,如此自动循环。
其实loop engineering就类似于这么一个电水壶。它通过一系列的机制,让整个任务实现自我管理即启动、工作、检查反馈以及结束工作。
在前面的Agent的分析中,大家知道了其中其实有一个循环,用来进行相关任务的整体反馈处理。但它只是一个局部的循环,而loop engineering实现的是整体工程的大循环。可以理解为双重循环中的外部循环。这个机制用来对工程中所有的任务进行整体的任务分配处理、启动、状态收集、反馈进行不断的循环处理。可以这么理解,开发者是一个项目的Leader,它负责循环接受外部的任务驱动项目成员工作。而项目成员接收到任务后自己设计、开发、实现、测试等等不断的循环完成这个任务。当成员的任务完成后,Leader会循环分发给他又一个新的任务。loop engineering可以想象为Leader而Agent则为成员。

四、loop engineering的主要内容

对循环工程来说,一般包括以下主要内容:

  1. 自动化处理
    可以理解为定时器,或自动触发器。它可按计划启动任务或检查特定的条件并开始循环处理,比如可以设定早晨十点钟开始检查Git仓库的问题并开始解决
  2. 工作树
    worktrees,这个其实很好理解。多Agent在工作时与多线程工作一样,可能产生各种任务冲突。多线程使用同步,那多Agent呢?就可以使用工作树进行隔离,从根本上解决冲突的根源
  3. Skills
    它和前面分析的Skills是一样的。由于大模型是无状态的,所以每次启动很多相同的基础的知识都会重新处理一遍。所以为了提高效率降低复杂度可以将一些常见的问题和规范等整理成技能文档,保证了基础的限制,从而保证输出的一致性
  4. 插件和连接器
    Plugins 和Connectors。这和前面的MCP的介绍一样,Agent不光要有提示词,为了能够更好的提供相关的资料,它需要访问一些外部工具接口或相关的数据库等等。通过MCP协议让Agent能连接到更广泛的外部工具从而更好的实现与大模型的交互
  5. 多Agent和子Agent
    大家都知道“灯下黑”这个概念,其实Agent也有类似的情况。所以为了更好的完成相关的任务,就不能让一个Agent包打天下,需要实现专业分工的“团队”。比如将“写代码”和“Review”拆分为不同的Agent。甚至使用不同的大模型的Agent或子Agent,让任务的执行更安全可靠
  6. 记忆
    Memory,大模型是无状态的,而Agent的内部的状态是在内存中的。这样,在一次迭代完成后,相关的状态等就会消失。但对循环工程来说,它是不断驱动Agent循环工作,所以需要在每次任务完成后将相关的状态传递到下一个循环中去。所以,这就需要把一些相关的状态或关键数据等持久化到硬盘中。当然,这种形式不是强制要求的,它可以是一个md文件,也可以是一个列表文件等等。从而确保Loop可以长时间运行

五、风险点

循环工程是不是看上去很美?的确,但这里面的风险其实也不小。主要表现在:

  1. 对开发者来说,长时间未亲自参与开发,则可能有边缘化的风险。表现为对代码的不理解,出现问题不知道怎么解决。即成为了AI的附庸
  2. 无法保证循环工程中的循环的设置是正确的,那么,长时间的循环工程产生的结果,有可能出现任务的偏离甚至错误的情况
  3. 代码质量的不可控的风险,循环工程道理的代码,即使有一小点的瑕疵,由于循环的原因也可能产生大量的代质量的代码甚至是垃圾代码
  4. 最后就是社会工程学的风险了。循环工程反复调用大模型,一不小心可能就产生高昂的开发成本

通过上面的分析可以看出,loop engineering是一把双刃剑。它将AI编程从被动响应转变为自主循环执行,既有效率提升的好一面,也要提防成本和设计难度提高的风险。

六、未来发展

loop engineering已经到来,但绝对不是未来。对于AI相关的技术来说,未来一定会出现更优秀的编程范式,这些范式可能是能够想象的,也有可能是无法想象的。对于AI编程来说,目前已经凸现了很多具体而有现实问题,如Token的成本、依赖AI但引入了不可预测的风险以及开发者技术水平的衰退和新技术的演进变慢等等。
这些都需要有更好的AI与开发者互动的机制进行完善,而不是粗暴的抛弃哪一方。汽车的出现只是将马车驾驶员改成了汽车驾驶员。AI编程的出现,会不会也有更先进的编程范式呢?

七、总结

开发者大不必为这些不断出现的AI相关的新概念所影响。其实深入进去,发现只是对原有开发经验的升级和引入其它编程的思想罢了。这仍然回到了重要的一点,重要的是思想而不是某项技术。而对于开发者来说,需要做的是开放思想,拥抱未来,不要闭门造车。只要保持对技术的热情,就一定会与时俱进。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值