博客 阅读时间 2 分钟

测试新面孔 Llama 3 是否对 C++ 开发者有益

分享本文
Testing Whether the Newcomer Llama 3 Is Beneficial for C++ Developers

AI 已在包括软件开发在内的许多领域普及开来。许多开发者使用生成式 AI 来辅助编码。让我们来了解一下新面孔 Llama 3,并评估它对 C++ 开发者的实用性。

根据 Meta 的介绍,以下是 Llama 3 的简要描述:

我们全新的 80 亿和 700 亿参数 Llama 3 模型相比 Llama 2 实现了重大飞跃,在这些参数规模上树立了 LLM 模型的新标杆。得益于预训练和后训练的改进,我们的预训练模型和指令微调模型是当今 80 亿和 700 亿参数规模上最好的模型。后训练流程的改进大幅降低了错误拒绝率,改善了对齐效果,并增加了模型回答的多样性。我们还看到推理、代码生成和指令遵循等能力大幅提升,使 Llama 3 更易于引导。

一些开发者可能对生成式 AI 工具不感兴趣,因为他们觉得结果还不够成熟。对于经验丰富的开发者来说尤其如此,他们能很快识别出生成代码中可以改进的地方。尽管如此,我相信对大多数开发者而言,生成的代码可以作为实现、重构或理解现有代码的宝贵起点。

让我们来看看 Llama 3 对 C++ 开发者是否有用。

编写新代码

我们让 Llama 3 用现代 C++ 实现哲学家就餐问题,结果很有趣。它有效地利用了现代 C++ 特性,产出了简洁且易懂的代码。

不过,我们想知道 Llama 3 是否接受过使用一些最流行的 C++ 库的训练。为探究这一点,我们让它使用 Boost 库实现几个算法,结果令人印象深刻。Llama 3 展现出了高效运用 Boost 特性的强大能力。

同样,我们通过让 Llama 3 实现一个登录表单来测试它对 Qt 库的熟练程度。结果再次令人瞩目,展示了 Llama 3 有效使用 Qt 库的能力。

代码重构

在用多段 C++ 代码测试 Llama 3 之后,我们注意到它的重构能力不止于以下任务:

  • 重命名变量。
  • 删除重复代码。
  • 重新格式化代码。
  • 删除不必要的代码。
  • 现代化 C++ 代码。

它还可以通过将大方法拆分为更小的方法来改进设计,使代码更简洁、更易于维护。

解释现有代码

理解遗留 C++ 代码是一项重要任务,对于刚接触某个 C++ 项目的开发者来说尤其如此。让 Llama 3 解释一段代码可能非常有用——它会详细描述这段代码的功能。

掌握 C++ 特性

当被要求讨论某个 C++ 特性时,Llama 3 会提供简明的文档并附带大量示例。

结论

根据我们的测试,我们发现 Llama 3 可以成为 C++ 开发者的出色助手。它在编写新代码、重构、解释遗留代码和学习 C++ 特性等任务上都很有用。因此,我向所有 C++ 开发者推荐试用一下——它的结果可能会给您带来惊喜。

分享本文