news 2026/10/15 3:17:17

NL in the Middle: Code Translation with LLMs and Intermediate Representations

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
NL in the Middle: Code Translation with LLMs and Intermediate Representations

一、文章主要内容和创新点

主要内容

本文聚焦于利用大型语言模型(LLMs)进行代码翻译的任务,旨在通过中间表示(自然语言NL和抽象语法树AST)结合提示工程技术(如零样本、单样本、思维链CoT等)提升翻译准确性。

  • 实验设计:比较了多种提示方式(零样本提示、单样本提示、两步法提示(以AST/NL为中间表示)、单样本思维链提示(结合AST/NL)),使用Open Gpt4 8X7B、StarCoder、CodeGen等模型,在CodeNet和AVATAR两个代码翻译基准数据集上进行测试。
  • 核心发现:带中间自然语言(NL)总结的思维链(CoT)提示效果最佳。对于Open Gpt4 8X7B模型,相比零样本提示,在CodeNet数据集上成功翻译率提升13.8%,在AVATAR数据集上提升6.7%。
  • 进一步验证:通过新数据集(AVATAR)和新模型(StarCoder、CodeGen)验证了结论的泛化性,发现Open Gpt4 8X7B在优化提示下表现最优,且提示效果因模型而异(如StarCoder在CoT-NL提示下表现更好,而CodeGen在零样本提示下更优)。
创新点
  1. 首次将LLMs与中间表示(NL和AST)结合用于代码翻译,填补了现有研究中“LLMs代码翻译”与“中间表示辅助翻译”两个方向的空白。
  2. 系统比较了多种提示工程策略(零样本、单样本、两步法、思维链)与中间表示的结合方式,明确了“思维链+自然语言中间表示”是最优组合。
  3. 验证了小模型(如Open Gpt4 8X7B,
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/15 3:14:50

C#调用zlgcan DLL实现CAN上位机通信:从P/Invoke到避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/15 3:14:04

Kruskal算法从原理到实战:最小生成树与并查集避坑指南

1. 从“修路”说起:Kruskal算法到底在解决什么问题如果你手头有一堆散落的村庄,每个村庄之间修路的成本各不相同,现在要你用最低的总成本把所有村庄连通起来,让任意两个村庄之间都能互相到达——你会怎么修?这个问题在…

作者头像 李华
网站建设 2026/10/15 3:14:02

OpenAI兼容接口不是万能转换器:多模型迁移中的隐藏问题

一个项目把多个模型“都接上”之后代码反而更难维护,根本原因通常不是模型数量变多,而是不同供应商的接口契约、错误模型、流式语义、工具调用能力和 Token 统计方式悄悄渗进了业务代码。OpenAI 兼容接口解决的是“调用姿势像 OpenAI”这件事&#xff0c…

作者头像 李华
网站建设 2026/10/15 3:13:00

前端转大模型开发3个月实战!从0到1踩坑总结,面试官直呼内行

文章分享了作者从前端转型大模型应用开发的三个月学习历程,分为三个阶段:第一阶段(1个月)恶补基础,通过React聊天组件练手流式渲染等核心技能;第二阶段(1个月)深入学习RAG原理&#…

作者头像 李华