文章:你的下一位DSL开发者其实是一个语言模型
在这篇文章中,作者介绍了“类型化领域基础框架”这一方法——通过将特定领域的编程语言嵌入到主流的类型化语言体系中,从而有效减少大语言模型在这些领域产生的错误或幻觉现象。作者以kUML基准测试以及一个基于代码定义基础设施的实例为例,探讨了如何利用编译器的验证机制以及“生成-编译-修复”循环来提高模型生成的特定领域编程语言代码的可靠性。 作者:伊拉克利·贝奇瓦亚
在这篇文章中,作者介绍了“类型化领域基础框架”这一方法——通过将特定领域的编程语言嵌入到主流的类型化语言体系中,从而有效减少大语言模型在这些领域产生的错误或幻觉现象。作者以kUML基准测试以及一个基于代码定义基础设施的实例为例,探讨了如何利用编译器的验证机制以及“生成-编译-修复”循环来提高模型生成的特定领域编程语言代码的可靠性。
作者:伊拉克利·贝奇瓦亚相关文章
如何使用Pydantic AI构建具备生产级功能的智能代理
使用原始的LLM SDK来构建AI代理,在开发原型阶段确实可行,但一旦你需要结构化输出、可测试的代码以及具备生产环境可靠性的系统,这些问题就会显现出来。 这些问题的出现具有很强的规律性。你的笔记本代码可以正常运行,于是你将其应用到生产环境中,并开始添加各种补丁:比如为`json.loads`添加异常处理逻辑,编写辅助函数来去除Markdown格式的标记,使用`if`语句检查字段类型,设置重试机制,以及创建一个将工具名称与对应的可调用函数关联起来的映射函数。这些代码单独来看并不复杂,但当它们汇集在一起时,就会占据你代码库的大部分内容,而真正的代理逻辑反而被这些辅助代码所掩盖。 本文将按照这些问题
阅读全文
如何编写能够真正被编译成功的Linux内核模块
Linux中的 内核模块 是一段较小的代码,可以在不重新构建整个内核的情况下被加载到正在运行的内核中。 这听起来很简单,但实际上,即使是最简单的模块也会产生大量相关的文件和数据:对象文件、元数据、导出的符号以及未解析的符号,最后还会生成一个与普通可执行文件截然不同的 .ko 文件。 下面是一个完整的、可以正常工作的Linux内核模块。它的代码仅有22行,其中7行是包含头文件和元数据: #include #include #include MODULE LICENSE("GPL"); MODULE AUTHOR("Chris Roy"); MODULE DESCRIPTION("一个最小的可加载
阅读全文
演讲主题:培养工程师对人工智能的信任——教育如何助力实现自主化的代码审查机制
Sarah Deitke探讨了Duolingo是如何推动文化层面的人工智能应用的普及的,而不仅仅局限于提供相关工具。她介绍了该公司内部开展的人工智能素养培训项目以及用于监控各项人工智能应用进展的可视化仪表板,同时还分享了一个案例:通过使用自动化的代码审查风险评估工具来重新设计代码审查流程。Deitke指出,将有针对性的开发者培训与安全的人工智能防护机制相结合,能够加快应用程序的开发进度,同时也不会增加缺陷出现的概率。 作者:Sarah Deitke
阅读全文
演讲主题:智能架构中的决策模型:从生产过程到智能体的能力培养
Alex Porcelli指出了企业人工智能领域存在的一个关键问题:在那些高风险决策中,人工智能系统产生的结果往往是非确定性的,同时也缺乏相应的责任机制。他介绍了如何将DMN决策模型与大语言模型、智能代理的功能以及NeMo安全机制相结合,从而构建出可被审计的、具有确定性结果的智能系统架构——这样,企业领导就能真正掌握这些决策逻辑的制定权,而工程师们则能够确保整个系统的架构设计具备高度的稳定性与安全性。 作者:Alex Porcelli
阅读全文