规范化AI编程

  1. 定义 skills
  2. 基类的UI拓展
  3. 规范化需求文档
  4. 规范化AI编程

之前聊到了AI编程,虽然可以给出一定的结果,但是代码不够规范,无法编写大型任务,这次对于工程问题,我给AI定义了特定的规则,也就是最近炒的很热的 claude 的skills

首先我来聊聊什么是mcp,如果说大语言模型是人的大脑,那么mcp相当于人的手和脚,也就是运用外部工具的能力。而skills是神经元,用于执行大脑发出的指令,打个不恰当的比方,就是手眼协调的能力。有了他人就可以按照既定音乐,跳出美妙的舞蹈。

定义 skills

对于工程问题,我们可以简单抽象为一个输入和输出的过程,输入是设计要求,输出是结构的安全系数。为此,我的开源项目 Baffalo中设计一个基类,包含了inputparamsoutputbaselinecapacity,在calude code中定义说明,放入了.skill 文件。

在这个过程中,需要不断向AI解释说明,得到我想要的效果。

最终可以得到一份开发规范,在这份目录下AI都会遵循这份规范来编程。

基类的UI拓展

在基类的设计中,我让AI生成了统一的UI,那么在这个目录下,所有生成的新的部件都可以快速生成可交互的界面。

规范化需求文档

基于新的skills,可以让AI重新梳理需求文档,此时AI已经完全理解了我的意图,以表格的形式进一步规范化了需求文档。

规范化AI编程

接下来让AI按照梳理后的需求直接编程,可以发现AI完全按照了既定的模板和代码风进行了编程。

%% 测试用例1:发动机隔振器设计
disp('--- 测试用例1:发动机隔振器设计 ---');

% 输入参数

input1.mass = 150;
input1.working_freq = 40;
input1.diameter = 50;
input1.height = 30;

% 参数设置
params1.material_type = '天然橡胶';
params1.elastic_modulus = 3.5;
params1.loss_factor = 0.10;
params1.hardness = 60;
params1.temperature = 25;
params1.frequency = 10;
params1.calc_method = '损耗因子法';
params1.Echo = true;

% 基准值(根据结构重要性设定)
baseline1.min_safety_factor = 1.2;
baseline1.max_displacement = 10;
baseline1.max_stress = 5;
baseline1.min_natural_freq = 3;
baseline1.max_resonance_amp = 10;

% 创建组件实例
obj1 = RubberMount(params1, input1, baseline1);
  
% 显示初始状态
disp('初始参数:');
disp(['  质量: ' num2str(obj1.input.mass) ' kg']);
disp(['  工作频率: ' num2str(obj1.input.working_freq) ' Hz']);
disp(['  材料: ' obj1.params.material_type]);
disp(['  弹性模量: ' num2str(obj1.params.elastic_modulus) ' MPa']);
disp(['  损耗因子: ' num2str(obj1.params.loss_factor)]);
disp(['  最小安全系数要求: ' num2str(obj1.baseline.min_safety_factor)]);
disp(' ');

% 执行计算
obj1 = obj1.solve();

% 安全校核
obj1.checkSafety();

可以看到虽然全程没有亲自动手写程序,但是如果想要AI真正的写好程序,更多的需要考量自身的架构能力和经验,更加考验自身对项目的理解能力,其实对个人的要求会更高。


本网站基于Hexo 3-Hexz主题生成。如需转载请标注来源,如有错误请批评指正,欢迎邮件至 392176462@qq.com