如何让 AI 自动阅读文档样例,编写符合你需求的代码?

(注:本文为小报童精选文章。已订阅小报童或加入知识星球「玉树芝兰」用户请勿重复付费

61449e05ff679a95da3fc5b56ef995ad.jpeg

痛点

我本科读的计算机专业。当时编程,讲究的就是个扎实。例如哈夫曼编码用来压缩解压文件,那真的是自己一行行代码写过来的。更不用说汇编语言这种课,都没有什么捷径可走,得下笨功夫。

可如今的编程实践,早已不是小作坊式的单打独斗,不用「一切从头开始」。大部分情况下,我们都在巨人的肩膀上前行 —— 利用他人编写的基础代码,根据我们的独特需求进行调试,来达成目标。GitHub 上汇集了全球无数开发者精心打造的框架和软件包,直接调用就好,这让开发工作变得非常便捷。

然而,这种大规模协作开发方式也带来了一些挑战。例如,你需要先仔细阅读框架开发者们编写的文档和样例,才能知道如何正确调用这些框架。如果你凭空想象来随意写代码调用类对象和函数,结果往往是一连串的错误。不过,有的项目功能虽强,文档写得却着实难以恭维,读来不仅晦涩,而且文档涵盖功能不齐全。这时候,你还得深入源码去查看某些文档中没有涉及的功能该如何实现。

更麻烦的是,这些框架和软件包是不断变化的。很多时候,开发者为了统一调用方式或提升效率,会对接口进行各种调整。一个函数可能从一个包移动到了另一个包,调用方式和参数也都可能发生变化。在某个工具框架快速演进时期,这种更改的频率非常高,周期可能以小时,乃至分秒来计算。

原本可以运行的代码,突然报错了。你原先也只能上 Stack Overflow 查找问题的答案。很多人兴许会告诉你这是版本升级的原因,于是你需要参考文档进行调整。

对懒人来说,无论是通读文档、样例甚至源码,还是不断调整代码以适应框架更新,都是非常繁琐的事情。

有没有什么方法可以让我们根据这些文档和源代码,让 AI 自动进行代码编写和修改呢?

这是我们长久以来的期盼,而从前确实没有什么好办法来实现。不过自从有了 ChatGPT 为代表的 AI 大语言模型,我们就看到了希望 —— 期盼它能够智能地帮助我们进行代码生成和改进。可惜要解决 AI 自适应编程问题,想单独依靠 ChatGPT 们自身训练获得的知识与能力,无异于痴人说梦。

我们都知道,大语言模型的训练有一个周期。本文写作时(2024 年 6 月)我们看到的 GPT-4o 已经是很新的模型了,可实际上它训练用的知识也截止在 2023 年。即使它包含了大量你需要的 GitHub 项目,GPT-4o 所掌握的知识对你的实际应用来说也不够新。它可能会写出过时的代码,当你运行最新版本框架时,会产生一系列的冲突和错误。

聪明的人们早就开始寻找解决方案。例如,我想要让 ChatGPT 学会某一个函数的调用方法,就可以把它最新的文档和样例提供给 ChatGPT。

只不过,很多框架(例如 fast.ai, CrewAI 等)所包含的文件有许多,且相互依赖。只学会了某个函数的最新样例,不足以让 AI 编出正确的代码。

怎么办呢?

我们于是就需要把某些 Github 项目库的全部内容,都交给 ChatGPT,让它来学习。在《开发文档 RAG 的 GPTs 如何更高效地帮你 AI 编程?》一文中,我给你介绍了用 gpt-crawler 爬取 llamaindex 这个项目的全部文档,然后让 ChatGPT 帮助我们编写程序的例子。

05eab7684b7ec6491fffacd4c1dd94c7.jpeg

只不过,彼时这些工具要么用起来比较麻烦,要么磨合程度还不够,所以效果并不是非常理想。你让 AI 做一些功能单一的程序出来,效果尚可;一旦涉及到框架比较复杂的情况,AI 编写代码能力往往就捉襟见肘了。

c92c5df4af5d5c435725c8ff95e70245.jpeg

好在,随着技术的进步和软件的打磨,现在 AI 自动阅读文档样例编写符合你需求代码的能力,已经显著提升了。咱们这一篇文章,就为你介绍一下具体实现方法。

  • 9
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值