微信扫码
与创始人交个朋友
我要投稿
成本问题:工具描述会占用LLM的上下文窗口,增加推理时间和成本。
注意力和工具限制:从大量工具中选择合适工具对LLM来说是一个挑战,类似于“大海捞针”。
静态性问题:工具使用是静态的,仅限于预先定义的工具,限制了自主智能体的适应性和应用范围。
Tulip Agent(郁金香智能体)架构:允许LLM通过具有创建、读取、更新和删除(CRUD)权限的工具库来解决任务,工作流程:
初始化工具库:自动提取工具信息并创建嵌入向量。
接收用户提示:LLM分解任务并搜索工具库以找到合适的工具。
工具搜索:基于子任务描述,使用语义搜索找到最相关的工具。
工具调用:LLM生成工具调用,工具执行器执行工具并返回结果。
结果反馈:LLM根据工具返回的结果进行进一步操作或响应用户。
郁金香智能体被设计为一个拥有大量工具集的LLM支持的自主智能体。
当接收到自然语言查询时,代理需要将任务分解为可使用现有工具解决的子任务序列。
工具定义为可执行的函数,具有特定目的并返回结果或状态消息。
通过代码内省自动提取工具信息,生成嵌入向量并存储在工具库中。
工具库可以是任何支持搜索的数据库,这里使用向量存储来实现语义搜索。
郁金香智能体接收自然语言输入,使用LLM将任务分解为更细粒度的子任务。
通过创建子任务的嵌入向量并匹配工具描述的嵌入向量,来搜索适合的工具。
支持递归分解和搜索工具,如果找不到合适的工具,则进一步细化子任务。
基于子任务和识别的工具,LLM生成工具调用,由工具执行器执行并返回结果。
LLM可以根据前一个调用的返回值来生成后续的工具调用。
提供了AutoTulipAgent变体,具备创建、读取、更新和删除工具库中工具的能力。
使用LLM的代码生成能力来创建或更新工具,确保新工具的有效性,并动态加载到工具库中。
郁金香智能体架构可以与其他LLMznt范式结合使用,例如使用CoT(Chain of Thought)提示来指导LLM按固定方式执行任务。
在数学任务上的评估和多项消融实验得出了一些结论:
1) 工具对于解决复杂任务至关重要;
2) 使用工具库显著降低了成本;
3) 任务分解改善了工具的使用;
4) 语言模型的性能影响智能体设计的适用性;
5) 嵌入模型的性能(在当前OpenAI模型的高水平上)对工具检索影响很小;
6) 更好的规划允许更精确地搜索工具;
7) 郁金香智能体架构适合于不断创建工具和即时构建工具库。
附录:
NaiveToolAgent关于“What is 45342 * 23487 + 32478?”的日志
1 INFO:root:Query: What is 45342 * 23487 + 32478?2 INFO:base_agent:Usage for chatcmpl-94zcjnURFRF2nyTMlcVzhWJmfjdTZ in tokens: 3960 prompt and 19 completion.3 INFO:base_agent:Function multiply returned `1064947554` for arguments {'a': 45342, 'b': 23487}.4 INFO:base_agent:Usage for chatcmpl-94zcliQksrQsOMn72GamhLxiJRqN3 in tokens: 3990 prompt and 21 completion.5 INFO:base_agent:Function add returned `1064980032` for arguments {'a': 1064947554, 'b': 32478}.6 INFO:base_agent:Usage for chatcmpl-94zcyDN3oBC8rh5hzFNZkn1iXakLJ in tokens: 4022 prompt and 25 completion.7 base_res='The result of \\(45342 \\times 23487 + 32478\\) is \\(1064980032\\).'
CotTulipAgent关于“What is 45342 * 23487 + 32478?”的日志
1 INFO:root:Query: What is 45342 * 23487 + 32478?2 INFO:tulip_agent:Usage for chatcmpl-94zjNuHaG36iH6FtEuE4po0gRhTG4 in tokens: 182 prompt and 25 completion.3 INFO:root:actions_response_message=ChatCompletionMessage(content='1. Multiply 45342 by 23487.\n2. Add the result ofstep 1 to 32478.', role='assistant', function_call=None, tool_calls=None)4 INFO:tulip_agent:Usage for chatcmpl-94zjPPlK1ySBo6VZJLFMZhPyE0NJK in tokens: 234 prompt and 13 completion.5 INFO:root:Tool search for: {'action_descriptions': ['multiply two numbers', 'add two numbers']}6 INFO:root:Functions for `multiply two numbers`: [...]7 INFO:root:Functions for `add two numbers`: [...]8 INFO:tulip_agent:Usage for chatcmpl-94zjRk9IrLzy5QKpfNEs5bsrXCGvp in tokens: 413 prompt and 19 completion.9 INFO:tulip_agent:Function multiply returned `1064947554` for arguments {'a': 45342, 'b': 23487}.10 INFO:tulip_agent:Usage for chatcmpl-94zjTXb58ZHJiNYDugqpwpaeffzzB in tokens: 443 prompt and 21 completion.11 INFO:tulip_agent:Function add returned `1064980032` for arguments {'a': 1064947554, 'b': 32478}.12 INFO:tulip_agent:Usage for chatcmpl-94zjVrSx0sLQN9ZqoI8f4z6JW0eVx in tokens: 475 prompt and 25 completion.13 tulip_res='The result of \\(45342 \\times 23487 + 32478\\) is \\(1064980032\\).'
Tulip Agent – Enabling LLM-Based Agents to Solve Tasks Using Large Tool Librarieshttps://hri-eu.github.io/tulip_agent/https://arxiv.org/pdf/2407.21778https://github.com/HRI-EU/tulip_agent
53AI,企业落地应用大模型首选服务商
产品:大模型应用平台+智能体定制开发+落地咨询服务
承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2024-12-18
一站式 LLM 工程观测平台:Langfuse,让所有操作可观测
2024-12-17
LLMs开发者必看!Pydantic AI代理框架震撼登场!
2024-12-16
用LangChain实现一个Agent
2024-12-16
通过阿里云 Milvus 和 LangChain 快速构建 LLM 问答系统
2024-12-16
大模型部署调用(vLLM+LangChain)
2024-12-14
利用 LangGraph 和代理优化工作流程效率:关键功能、用例和集成...
2024-12-09
深度丨LangChain团队基于Agents用户体验设计的研究
2024-12-03
带LangGraph的多智能体工作流
2024-04-08
2024-08-18
2024-06-03
2024-10-10
2024-04-08
2024-04-17
2024-06-24
2024-07-13
2024-04-11
2024-04-12
2024-12-02
2024-11-25
2024-10-30
2024-10-11
2024-08-18
2024-08-16
2024-08-04
2024-07-29