前言
Hello,各位看官,今天为大家带来两款人工智能的软件开发工具的测评,他们分别是iFlyCode和CodeFlying,我相信当大家看到这两款产品名字的时候不禁都会有些好奇,两个产品都有Code 和Fly两个元素,那他们之间会不会有什么联系呢?两款产品同为AIGC工具,那他们之间又会有什么特色呢?下面就让我来为大家揭晓
一、产品介绍
在开始测评之前,我们先来简单的介绍一下这两款产品
iFlyCode:iFlyCode
是科大讯飞最新推出的智能编程助手,基于讯飞星火认知大模型,可以帮助开发人员编程更轻松,创意更自由。该AI编程工具拥有代码生成、代码补齐、代码纠错、代码解释、生成单元测试等功能。
CodeFlying:码上飞 CodeFlying | AI 智能软件开发平台!
是一款革命性的软件开发平台,它通过将软件工程和大模型技术相结合,让用户仅需与AI机器人进行简单对话,就能自动生产出高质量的软件应用程序。无需复杂的编程知识,AI自动开发、生成代码、完成部署,从概念到产品,只需几步。
二、功能对比
特别提示:在本次测评中,只在两个产品自身的开发环境中进行测试,不利用其它工具,并且只对比产品的主要功能,咱秉承着客观的角度来进行测试,并且测试的结果和观点仅供参考哈!
在本次测试中选择ChatBot聊天机器人的开发来进行对比
iFlyCode:
首先我们先打开VSCode,在拓展里安装iFlyCode插件,iFlyCode目前可以在官网去免费申请,流程这里就不过多赘述了,下面我们在VSCode环境中打开这个插件
这里我们直接在对话框内表达我们的需求 ,下面是一个需求的阐述
开发一个Java算法,用于创建一个聊天机器人(ChatBot)。该系统需要能够理解用户的问题并提供相应的答案。聊天机器人的功能应包括但不限于理解自然语言输入、生成回答、学习用户偏好和提供个性化的信息。该算法需要提供一个用户界面,允许用户与ChatBot进行交互。
这里我们直接把它给到我们的代码拿出来,让大家可以清晰的看到整体的一个结构,有需要的话自己拿去哈
import javax.swing.*;
import opennlp.tools.doccat.*;
import opennlp.tools.tokenize.*;
import opennlp.tools.util.*;
public class ChatBot {
private static DoccatModel model;
public static void main(String[] args) {
// Load the trained model
try {
model = new DoccatModel("en-doccat.bin");
} catch (IOException e) {
e.printStackTrace();
}
// Create the user interface
JFrame frame = new JFrame("ChatBot");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400, 400);
JTextArea textArea = new JTextArea();
textArea.setEditable(false);
JScrollPane scrollPane = new JScrollPane(textArea);
frame.add(scrollPane);
JTextField textField = new JTextField();
frame.add(textField, "South");
JButton button = new JButton("Send");
frame.add(button, "East");
// Add an action listener to the button
button.addActionListener(e -> {
String input = textField.getText();
String response = respondToUser(input);
textArea.append(response + "\n");
textField.setText("");
});
frame.setVisible(true);
}
private static String respondToUser(String input) {
// Tokenize the input
TokenizerME tokenizer = new TokenizerME(new WordTokenFactory());
String[] tokens = tokenizer.tokenize(input);
// Classify the input
DocumentCategorizerME categorizer = new DocumentCategorizerME(model);
double[] outcomes = categorizer.categorize(tokens);
String category = categorizer.getBestCategory(outcomes);
// Generate a response based on the category
switch (category) {
case "greeting":
return "Hello! How can I help you?";
case "goodbye":
return "Goodbye! Have a nice day!";
default:
return "I'm sorry, I didn't understand that.";
}
}
}
这里我们向他提出了一个新的需求,让他帮我对编写的这段代码进行解释。整个流畅下来不到两分钟,从响应速度上来看,还是非常的迅速的。但是,我们也会发现,它给出的结构和内容还是比较简单的,还只是一个雏形的状态。iFlyCode帮我们设计了一个框架,能够帮助我们更快,更便捷的进行后续的开发,我们也可以在它给的代码基础上,不断的完善,在开发前期为我们节省了不少的时间。
值得一提的是,我让iFlyCode也进行了自检,没有发现任何问题(在之前有关aixcoder的测评中,出现了自己检查出自己有问题的情况)
CodeFlying:
打开CodeFlying,这里我们直接在聊天框内输入我们的需求:
我想开发一个聊天机器人(ChatBot)。该系统需要能够理解用户的问题并提供相应的答案。聊天机器人的功能应包括但不限于理解自然语言输入、生成回答、学习用户偏好和提供个性化的信息。该算法需要提供一个用户界面,允许用户与ChatBot进行交互。
稍等片刻之后,CodeFlying的AI根据我们的需求,为我们提供了一个 解决方案,这里我们选中确定即可
令人震惊的是,在我点击了确认之后,发现它竟然直接让我上传知识文档(难道ChatBot已经做好了???) 然后,这里我选择上传了一个Sora的介绍文档
在它解析了文档之后,直接给到我们了一个反馈,显示开发已完成,然后点击立即体验就可以直接去使用了
点开立即体验之后,发现它真的已经开发完了ChatBot,然后我根据我上传的文档,来对他进行了提问,发现它直接精确无误的回答了我们的问题,并且在左侧的聊天框还可以随时更改我们的需求,更新上传的文档,我们再问几个问题试试
在我问了这几个问题之后发现,这个机器人它并不是完全的Copy文档里的内容,而是根据自己的理解进行了一定的调整和提炼。
到这里,两款产品的功能测试就完成了,在本次测试中没有用到其它的软件,都是针对产品的功能进行的测试,如果大家有其它的看法的话,也欢迎大家自己进行尝试。
综上所述,我们发现
iFlyCode能够基于自然语言直接生成代码,帮助我们简化前期开发的流程,并且具有代码注释,代码自检、单元测试等特色功能,更加适用于专业的软件开发人员,能够提高咱的生产效率。
CodeFlying能够基于自然语言生成软件,帮助我们直接完成产品的开发,实现由“概念”到“产品”的蜕变,支持自定义修改,极简的操作流程,更加适用于小白用户,能够将自己的想法变成实际可用的产品。