开发IDE插件AutoDev时,遵循Unit Mesh思想,通过测试和验证生成的代码,提高准确性和可执行性。对生成的代码进行单元测试语法检查和执行,对SQL语句进行语法检查和schema检查。通过优化算法和策略、增强并行处理能力、智能化的重试机制、预测优化、持续学习和改进机制、引入沙盒机制、加强开发者教育和支持等措施,提升AutoDev插件的功能和性能,提高生成代码的准确性和可执行性。
2023年,生成式AI在软件工程中的应用带来了新的思考。Unit Mesh是一个基于生成式AI的开源项目,包括微调Llama、ChatGLM、Unit Minions、AutoDev和UnitEval等工具。Unit Mesh的架构基于生成式AI,通过AI Agent将需求转换为可执行的代码单元,并决定如何部署。Unit Mesh还提供了Unit Runtime、Unit Minions、AutoDev和UnitEval等工具,以及Co-mate和Studio B3等Copilot型工具。此外,还有CoUnit和DevOps Genius等Integrator型工具,以及Chocolate Factory和EdgeInfer等基础设施。
UnitEval是一个开源工具箱,用于构建高质量代码微调。它与Unit Mesh架构范式相结合,解决了高质量微调数据集的需求。UnitEval通过静态代码分析和规则检查选择合适的代码质量,并提供自定义规则和阈值。主要逻辑包括Picker和Eval两个阶段,用于读取配置信息、拉取代码、执行质量检查和生成数据集。用户可以根据需要修改代码、下载.jar包或使用Maven仓库依赖。
Thoughtworks与大型企业合作,探索和构建开源项目在生成AI领域。他们开发了Unit Mesh作为他们的开源AI开发系统的一部分。与其他应用生成AI的领域不同,许多公司已经从研讨会开发方法过渡到标准化方法。Thoughtworks认为,IDE的经验可以应用于其他软件开发场景。他们探索了不同的模型和技术来增强编码和写作体验,如强大的上下文生成,自定义AI操作和与现有框架的集成。他们强调需要多个模型来辅助不同的子任务,并根据用户反馈不断优化模型。总体而言,生成AI可以提高生产力,但应被视为全面助手而非一站式解决方案。
Unit Mesh团队探索AI对软件研发的影响,介绍了DevTi和AutoDev工具,探讨了AI对平台工程的新机遇。作者表示仍在不断探索中,欢迎更多人加入。
在构建Unit Mesh架构和对应的demo后,开始实现Unit Runtime,用于直接运行AI生成的代码。Unit Runtime解决了直接运行AI生成代码的问题,提供了环境隔离、依赖管理、调试支持和基础设施支持等功能。它支持多语言、Web开发框架和基础设施集成,具有依赖管理、部署灵活性和可扩展性。Unit Runtime使用统一的WebSocket方式进行输入和输出。通过一个React的Hello, World示例和一个Spring示例展示了Unit Runtime的使用。未来可以利用Unit Runtime构建CodePrompter/UnitPrompter。
完成下面两步后,将自动完成登录并继续当前操作。