BizDevOps + 微调

训练步骤和数据集见:https://github.com/unit-mesh/unit-minions

AI 研发提效依赖于对研发效能的标准化,并尽可能细地拆分每一个步骤。

研发效能

为了训练的结果更加准确,我们详细拆分了软件开发的步骤,以确保每一步生成的是准确,进而驱动出准确的结果。如下是我们早期拆分的一小部分细流程的示例:

  • split_user_story_tasks
  • create_agile_user_story
  • design_restful_api
  • design_plantuml_java_datastructure
  • implementation_mock_mvc_test
  • implementation_spring_controller
  • implementation_controller_test
  • implementation_spring_service
  • ….

我们需要拆分到每一个尽可能小的步骤,在每一个细化的步骤里,喂入数据,才会让 AI 产生最大的复读机效果。

Unit Mesh

Todos

数据准备

我们使用非常简单的 instruct,并尽可能提供,以便于集成到工具中使用。如下:

  • 领域知识。instruction:领域知识。
  • 拆分任务。instruction:split user story tasks,input:折分用户故事任务
  • 需求细化。instruction:create Agile user story for following topic,input:功能的基本信息
  • 代码生成。instruction:Implement the method xxx,input:类的基本信息
  • 测试生成。instruction:Write test for follow code,input:类的基本信息
  • SQL 生成。instruction:text to sql,input:问题
  • 文本转 Java 代码。instruction:text to java code,input:问题

对应的功能介绍:

  • 需求细化。AI 辅助将模糊的需求转变为的需求设计,比如 “注册” 功能,生成为:”作为一个用户 xxx,填入用户名、密码信息等等,接着由人类去检查和完善。
  • 代码生成。AI 辅助将详细的需求设计翻译为目标的代码,再接着由人类去检查和完善。
  • 测试生成。AI 辅助根据生成的代码生成对应的测试代码,再接着由人类去检查和完善。

从测试结果来看,随着数据量的增多,比如 20000 个代码用例比 10000 个代码用例更加的 “聪明”。