第一次接触 agent 概念分享

之前做 ae 插件, 想让应用表达式的时候调参数更方便.

代码是 ai 写的, ai 直接把表达式写上了, 于是我就想是不是可以在这里直接调用 ai, 让 ai 直接应用表达式, 才接触到了 agent 开发.

我看了一些被推送的视频, 和 langchain 文档, 了解了下 agent.

agent是什么

agent 就是程序化地 llm。我觉得用龟兔赛跑来比喻特别贴切:在引入 agent 流程后,原本性能稍差的模型,可能会比那些看似更优秀的模型取得更好的结果。

根据每个 agent 的需求都不一样,我们根据具体需求来编写系统提示词、设计对应的工具调用逻辑,进行流程编排。比如有的 agent 可以先调用 llm 生成执行步骤,再一步步去执行;有的则可以直接根据用户需求自主决策行动路径。

agent编排llm的常见模式

agent 程序编排 llm 的一般模式:

Reflection(反思)

Reflection 就像是让LLM照镜子,对自己返回的结果进行反思和评估。这个评估过程可以结合具体业务来做,我们可以自己写评估函数,也可以让 llm 自己评估,甚至还能让另一个 agent 来帮忙评估。比如让AI写一篇文案后,再让它自己检查有没有错别字、逻辑是否通顺,或者让专门的评估 agent 从专业角度打分。

Tool Use(工具调用)

Tool Use 就是让 llm 调用外部工具。调用的过程是:先告诉 llm 有哪些工具可用, llm 根据需求决定调用哪些工具,然后执行工具调用,最后把结果返回给 llm。当然,这里面需要和 llm 约定好工具定义和调用的规则,但好在有 LangChain 这样的框架,我们不用纠结到底是用特殊字符串、JSON还是其他格式,框架会帮我们处理这些细节。

Planning(规划)

Planning 就是让 llm 先制定执行步骤,再按照步骤去执行。可以通过系统提示词直接要求 llm 先规划,或是 agent 根据用户的提示先询问 llm 执行步骤。比如让AI写一篇论文,它可以先规划好大纲,确定每个部分要写什么,再开始动笔,这样写出来的内容逻辑会更清晰。

Multi-agent Collaboration(多Agent协作)

Multi-agent Collaboration 就像是模拟真实社会的分工,我认为就是一种编排手法, 其实就是 planing + evals + 独立 context 管理。像是项目中,产品 agent 提出需求、拆分步骤,开发 agent 负责写代码,测试 agent 进行验证,测试过程中发现问题还能和开发 agent 交互修改,最后再交给产品 agent 验证。不同的 agent 有自己独立的上下文,这样一方面可以节约 token,另一方面也不容易让上下文变得混乱,其实本质就是把规划和评估的工作拆分给了不同的 agent 来完成。

工程上的那些协议

在实际开发中,我发现工具调用需要和 llm 进行很多约定,不同的 llm 约定还不一样,这就给开发带来了不少麻烦。所以我觉得行业里制定统一的协议是个很好的方向,就像不同的浏览器都遵守相同的网页标准一样。以后说不定会出现 agent 协议社区,让不同的 agent 之间能更顺畅地协作。

现在行业里已经有了一些相关的概念,比如调用工具被称为 Function Calling,为了避免应用侧重复开发出现了MCP(Model Context Protocol),还有为了满足用户对场景关联提示词的需求产生了 Skill。这些都是为了让 agent 开发更标准化、更高效。

自由度与准确性的权衡

在开发Agent的过程中,我觉得目前最需要权衡的就是自由度和准确性。比如我们可以把执行代码作为一个工具,用它来替代多个工具;在 eval 的时候,也可以用另一个 agent 来代替自己写评估函数,甚至还能自己写 agent 的代码。这些做法能带来更多的自由度,交换出更多可能性,但同时也意味着我们需要在评估上投入更多的精力。

这里的"harness"(管控)很有意思,字面意思是"紧",但实际效果却是"松"。如果我们一句一句地和 agent 对话、反馈,其实管控得更紧,但给 agent 更多自由度后,人类确实能省不少事。不过这也要求我们预先考虑到更多的情况,不然如果花了大量 token,结果却和预期相差甚远,那就太浪费了。

关于扣子(Coze)的一点想法

最近听朋友提到了扣子(Coze),我去了解了一下,它的目标是做一个又大又全的开发工具,自定义程度高,功能也很全,还能 agent 生成 agent。不得不说,它的优点很明显,比如不需要切换 ide,也不用熟悉复杂的部署流程,还有资产管理能力。

不过我现在还没有用 coze,主要有两个原因:一是现在的 ide 还能免费使用,二是自己管理代码更有安全感。当然,以后如果 ide 的免费福利没有了,说不定我会考虑试试 Coze,毕竟它的功能确实很吸引人。

相关推荐
怪祝浙1 小时前
AI实战之地dify应用-nlp数据库查询agent助手的搭建与发布
人工智能
2301_780943841 小时前
第五阶段:高级主题
人工智能
knight_9___1 小时前
大模型project面试6
人工智能·python·agent·rag·mcp
Wilber的技术分享2 小时前
【大模型面试八股 2】Function Call、MCP、Skill的区别
人工智能·面试·职场和发展·大模型·llm·agent·智能体开发
OidEncoder2 小时前
工况适配:光电 / 磁电 / 电感编码器选型攻略
人工智能·机器人·自动化·电机
数据皮皮侠AI2 小时前
基于经济学季刊方法测算的中国城市蔓延指数
大数据·人工智能·笔记·数据挖掘·回归
QuestLab2 小时前
本地大模型部署工具实战手册②:Ollama实战——RTX 4060上从安装到跑起来
人工智能
石小石Orz2 小时前
给Claude增加状态栏显示:claude-hud保姆级教程
前端·人工智能·后端
2601_958352902 小时前
从模拟到数字全接口打通:A-59P 为通话设备提供灵活音频升级方案
人工智能·语音识别·嵌入式开发·ai降噪·回音消除