链载Ai

标题: 【Agent智能体指北】告别996,LangGraph 打造代编程智能体! [打印本页]

作者: 链载Ai    时间: 1 小时前
标题: 【Agent智能体指北】告别996,LangGraph 打造代编程智能体!


ingFang SC", miui, "Hiragino Sans GB", "Microsoft Yahei", sans-serif;font-size: 14px;letter-spacing: 0.5px;text-align: start;background-color: rgb(255, 255, 255);white-space-collapse: preserve !important;word-break: break-word !important;">代码生成和分析是大型语言模型(LLMs)最重要的应用场景之一,比如我们可以直接让Kimi写一段Python程序。

ingFang SC", miui, "Hiragino Sans GB", "Microsoft Yahei", sans-serif;font-size: 14px;letter-spacing: 0.5px;text-align: start;background-color: rgb(255, 255, 255);white-space-collapse: preserve !important;word-break: break-word !important;">

ingFang SC", miui, "Hiragino Sans GB", "Microsoft Yahei", sans-serif;font-size: 14px;letter-spacing: 0.5px;text-align: start;background-color: rgb(255, 255, 255);white-space-collapse: preserve !important;word-break: break-word !important;">不过对于复杂的程序,有时候效果并不能满足我们的期望。

ingFang SC", miui, "Hiragino Sans GB", "Microsoft Yahei", sans-serif;font-size: 14px;letter-spacing: 0.5px;text-align: start;background-color: rgb(255, 255, 255);white-space-collapse: preserve !important;word-break: break-word !important;">不过现在有了工作流,可以通过LangGraph打造一个编程智能体,通过迭代的方式,让Agent自我进化,实现更好的编程效果,主要包含两个步骤:

ingFang SC", miui, "Hiragino Sans GB", "Microsoft Yahei", sans-serif;font-size: 14px;letter-spacing: 0.5px;text-align: start;background-color: rgb(255, 255, 255);white-space-collapse: preserve !important;word-break: break-word !important;">(1)测试答案

ingFang SC", miui, "Hiragino Sans GB", "Microsoft Yahei", sans-serif;font-size: 14px;letter-spacing: 0.5px;text-align: start;background-color: rgb(255, 255, 255);white-space-collapse: preserve !important;word-break: break-word !important;">(2)反思这些测试的结果,以改进解决方案。

ingFang SC", miui, "Hiragino Sans GB", "Microsoft Yahei", sans-serif;font-size: 14px;letter-spacing: 0.5px;text-align: start;background-color: rgb(255, 255, 255);white-space-collapse: preserve !important;word-break: break-word !important;">

ingFang SC", miui, "Hiragino Sans GB", "Microsoft Yahei", sans-serif;font-size: 14px;letter-spacing: 0.5px;text-align: start;background-color: rgb(255, 255, 255);white-space-collapse: preserve !important;word-break: break-word !important;">但是,通过 LangGraph 打造智能体究竟能带来多大的提升效果?我们想需要对比两种不同的架构:

ingFang SC", miui, "Hiragino Sans GB", "Microsoft Yahei", sans-serif;font-size: 14px;letter-spacing: 0.5px;text-align: start;background-color: rgb(255, 255, 255);white-space-collapse: preserve !important;word-break: break-word !important;">我们实现了一个包含以下组件的代码生成的工作流:

使用 LangSmith 进行评估

作为基线,我们实现了没有 LangGraph 的提示词代码生成,使用 GPT-4 和 128k 令牌上下文窗口对 60k 令牌 LCEL 文档进行内容生产。将一个关于 LCEL 的问题传递给我们填充了上下文的 LCEL 链以生成答案。


使用 LangSmith 进行评估,主要评估两项:import的内容和代码执行是否正确。

在评估集上用 20 个问题对提示词生成的代码进行了四次评估。我们看到 大约98% 的导入测试是正确的,大约 55% 的代码通过了执行测试。

失败的内容主要是它没有意识到 RunnableLambda 函数的输入将是一个 dict 并认为它是一个 string:AttributeError: 'dict' object has no attribute 'upper'

然后我们测试了 提示词 + LangGraph 在导入和代码执行中执行此类错误的检查,然后在执行更新答案生成时反思任何错误。

在相同的评估集上,我们看到 100% 的导入测试是正确的,以及 大约 81% 的代码通过了测试。

使用LangGraph也遇到了相同的错误,但在错误的反思过程中,通过三次反思,最终生成正确处理了 RunnableLambda 函数中的输入 dict。

总体而言,添加这个简单的反思步骤并使用 LangGraph 重试,导致代码执行有了显著改进,大约有 26% 的改进。

结论

LangGraph 可以有效地通过编程智能体解决代码编写过程中的一些问题,通过对失败结果的反思,并自我迭代改进代码结果。

在不远的将来,Agent智能体已经可以替代大部分初级开发的工作,人人都能编程的时代已经到来!

欢迎关注我,获取更多关于 AI 优化的前沿资讯。别忘了将今天的内容分享给你的朋友们,让我们一起见证 AI 技术的飞跃!

觉得我的文章对你有帮助的话,请不要吝啬你的点赞、在看和转发~






欢迎光临 链载Ai (https://www.lianzai.com/) Powered by Discuz! X3.5