乐于分享
好东西不私藏

软件工厂:先与AI组个“CP”

软件工厂:先与AI组个“CP”

使用Claude Code 编写程序有一段时间了。感觉自己与一位才华横溢、不知疲倦的超人组了个"CP"。这也使我想起了当年工厂的软件组来了第一位研究生的情景。

AI开发的项目

最近,集中精力开发了各种工业控制软件。目的是研究AI 开发工业软件的方式与可能遇到的问题。

• AI Code For IEC61499  (Python 版本)
• AI Code For IEC61499  (C++版本)
• AI Code For IEC61131  PLC (Python 版本)
• AI Code For IEC61131  (C++ 版本)
• STM32H743 OPC UA Server
• NanoPI IEC61499 运行时

与智能体组成一个项目组

开发这些项目最大的体会是:我并不是在让 Claude Code 开发某一个软件,例如在AI Code For IEC61499 中,目标并不是开发一个IEC61499 运行时,而是开发与IEC61499 有关的一切:

• 开发功能块
• 开发复合功能块
• 开发应用程序
• 绘制功能块网络图
• 开发调试和仿真工具

我甚至不知道如何描述它的功能。AI Code For IEC61131 PLC 项目也是这样。它包罗万象,又什么都不是!

突然,我想明白了。这好比过去我的项目组中来了一位聪明能干的年轻人。而项目目录就是我们的工作场所(workspace),里面放置了项目的所有东西,包括:

• 规范文件(相当于设计文档,产品标准,工作规范)

包括各种产品设计意图规范、零部件设计意图规范,以及团队通用的设计规则。

• 技能(技巧,经验,和处理方式)
• 记忆文件(相当于工作笔记,项目台账) 项目目录中保留了 Claude.md、README.md 文件,记录了工作中的关键信息。同时,Claude Code 对话框中的上下文也是非常重要的工作笔记——这恐怕比我们过去项目中的工作笔记详细得多。
• 产品目录(相当于成品库)

这是最终的产品和中间成果,可供交付的安装包。用户指南,使用手册等等

• 源代码库(相当于车间里代加工的产品,零部件)

项目所有的源代码

• 测试工具(相当于车间里的常用工具)

测试,仿真,绘图工具,示波器,信号发生器工具软件

这场景使我想起了以前工厂里的总装车间:工件放置在工作台上,靠墙是一排排工具箱,工具箱上面是资料柜,工人和技术员们在车间里忙碌着。

我设计的 AI Code For IEC61499 项目,其实就是一个 IEC61499 开发项目组的工作空间(workspace)。

通用智能体就够了

许多人把智能体想的特别复杂了,认为智能体必须懂行业、经过专门训练。也有些公司急着开发出各种各样所谓的面向行业的智能体。在我看来,许多这样的专业智能体都是市场推广的一种噱头而已。这就像大学的专业一样,普通院校喜欢将专业分得很细。觉得那样才特别厉害。其实,名校出来的学生,学物理的干金融也是华尔街的风云人物。

同样地,使用一个能力强的通用Agent,再加上一个强大的大模型,就构成了一个强大的通用智能体。比如,我目前使用的通用智能体就是 Claude Code + GLM 5.2。后面的工作主要是为这些聪明绝顶的伙伴搭建环境,立规矩。将项目组中原有的文档,流程,沟通方式规范化,将技术文档,源代码,设计意图清晰地呈现在他面前,通用智能体很快就能进入状态。

沟通的效率决定了工作的效率

与传统的企业研究所和车间的工作类似,在人与AI 组成的项目组中,彼此沟通的效率决定了工作效率。如果项目组中文档写得规范,图纸和文件的错误少,工作中出现的差错就少。就怕规范形同虚设,沟通主要靠口头交流,图纸不全、错误百出的项目。在这种组织中,哪怕再聪明的工程师也难免出错。自作主张,又难免挨批评。

在人类工程师和AI 智能体组成的项目组中,人类工程师主要承担制定架构设计,制定规范,计划编排,审核代码,验证结果的角色。需要提升架构设计,编写规范,工作安排的能力。通俗地讲,在AI智能体面前,人类工程师是一个领导,要学会当干部。别啰啰嗦嗦地讲不清楚。真可谓“兵熊熊一个,将熊熊一窝”。

工具集是独门绝技

这样的项目组的优势在哪里呢?除了项目中的人类工程师和智能体足够聪明之外,工具箱中的工具也十分重要。它们包括:

临时测试工具

智能体在开发过程中临时生成的测试工具。

常用工具

比如我们编写了基于Python 的示波器程序。PLC 的 IO 接口通过UDP 或 Modbus TCP 协议将 IO 端口的数字输出信号发送到示波器上。

信号发生器,可以生成各种数字和模拟信号。

数字孪生系统

针对特定的应用场景,可以构建各种数字孪生系统,也可以通过MCP 服务器与外部数字孪生系统对接

现场数据采集

直接通过网关,MCP 服务器与工业现场数据连接。或者与时序数据库连接。

硬件工具

进一步思考,硬件设备也能接入项目工作空间。例如硬件信号发生器、频谱仪,以及各种测量仪器,它们都具备网络接口,最终通过MCP Server 接入。这也是仪器仪表行业的一个机会。

下一个:软件工厂

沿着本文讲述的主题,下一步将讨论软件工厂(Software Factory)。软件公司转变为软件工厂,这绝不是玩文字游戏,而是软件产业又一次面临范式转移。软件公司的员工以人类工程师为主,软件工厂员工以AI 智能体为主。这就好比过去几次工业革命一样,大量的机器取代了人力工人。

未来的软件工厂将是扁平化组织结构,由多个项目团队组成。传统软件公司的中层干部将不再需要——他们的主要职能是沟通、上传下达,而软件工厂中AI 智能体的数量远远超过人类工程师,通过规范化的、格式化的信息沟通,不再需要上传下达的人。传统的产品经理主要负责市场与研发团队之间的沟通,而现在项目团队中的人类工程师已经具备理解市场需求并将其转化为规范文本的能力,不再需要专职的产品经理。公司中的人类工程师基本上是创始人级别的员工,相互之间的沟通相对直接。当然,一位洞察未来、判断事情的轻重缓急、传递公司愿景的总经理,还是十分必要的。

这些问题很有意思,让我们慢慢琢磨。