媒介
从打仗到 ChatGPT 到躬身入局开辟 DB-GPT 项目 也已经一年有余,在近来我们的能力渐渐开始规模化应用之际,正好也来谈谈我们在这一段时间的探索与思索。大模型带来的智能化革命,不但打开了专业技术走向大众普惠的大门。同时Transformer(变形金刚),将天门劈开了一条裂缝,让我们看到了曙光。开启了新一轮的技术比赛与科技角逐。
如果说客岁我们还在关注算力的比拼,那实在走到现在。已经渐渐演变成体力、心力、定力、毅力的竞争。我相信大家都已经看到了,近来国内的模型 Qwen2.5 与 DeepSeek V2 已经表现出了 GPT-4 同级别的表现力,而且在推理成本上 DeepSeek V2 只有 GPT-4 的百分之一。随着成本指数级别的骤降,以及更多人渐渐掌握这项革命性的技术,规模化的落地应用也渐渐出现在了我们的视野。
近来业务范畴的应用,也是层出不穷,不但各大模型厂商推出了自己的大模型应用 APP,之前的传统 APP 也都集成了 AI 的能力, 尤其付出宝智能助手的发布,预示着以大模型为核心技术的 AI 应用,开始渐渐渗出到每个人的生活当中。
但饶是如此,截止现在应用层面尚未出现让人持续心动的现象级产品。可能一方面来讲,确实大模型技术从 ChatGPT 出现到今天也仅仅只有一年半时间,我们需要给新的产品一点耐心。但另一方面来讲,这个期间以 Copilot 为重心的业务场景落地,更适合锦上添花。毕竟就现在这一代人在履历过互联网产品的投喂之后,单单搞出点有用高效的东西,已经很难戳中他们的嗨点了。所以要出现现象级的产品,还一定得要风趣、好玩。
所以,以前的应用构建逻辑跟以后的会出现很大的差别。以前的应用是我办个事变,顺便玩个游戏。以后的应用大概率都会是找乐子的时间把事给办了。当前最典型的就是正刷着抖音,然后顺部下单购个物。
Agent 架构
特别阐明: 本文中绝大多数对Agent的思想与构建都来自《A survey on large language model based autonomous agents》这篇综述文章,我们对里面的一些理念做了工程实现与落地应用。
我们言归正传,今天我们要讲的是Agent(智能体),更准确的说,是自主智能体。Agent跟Copilot这两个词相信大家都不生疏了,这一年多的时间里面有非常多的干系产品与技术的演进与讲解,在这里我再从架构思索、源码实现、应用以及遇到的挑衅出发,将我们对智能体思索与探索做一个分享。
1、 什么是自主智能体?
An autonomous agent is a system situated within and a part of an environment that senses that environment and acts on it, over time, in pursuit of its own agenda and so as to effect what it senses in the future. ---- Franklin and Graesser (1997)
2、 智能体发展现状
在大模型出现之前,智能体的研究主要用来饰演计谋函数,解决一些具体场景中的问题,而且一样平常都是在隔离的环境中进行。直到大模型发布,智能体开始出现井喷式爆发发展。尤其在2023年随着AutoGPT、BabyAGI、MetaGPT、ChatDev、AutoGen等开辟框架的出现,智能体的研究与应用浪潮被推到了一个崭新的高度。
今天,智能体被认为是实现通用人工智能(AGI)的一种最具潜力的方案,已经在技术圈形成了一定的共识。但对于构建Agent与大规模应用来讲,还有很长的路要走,由于Agent的构建需要像人一样,需要具备持续自我进化的能力。为了补充LLM和自主智能体之间的差距,一个关键的步骤是设计Agent的架构来缩小大语言模型与人类的差距。沿着这个思路,先前的开辟者们已经开辟了许多模块化的工具来补充这些工作,典型的如Langchain、Llama-index等。但这些早期的框架主要是聚焦在工具链的使用,缺少从Agent架构层面体系的设计。
那么 Agent 的架构长什么样?需要具备哪些特性跟能力?
3、Agent架构
经过对一系列的Agent框架与理论的研究,根据《A survey on large language model based autonomous agents》智能体综述文章我们总结出Agent核心具备的几个核心特性与模块。
- Profile模块: Profile模块,Profile模块的目的主要是做Agent角色认定,回答的核心问题有: 我是谁?我在哪?我该干什么?无论是在当前的人与人之间的协同,照旧人与智能体的协同,亦或是智能体与智能体间的协同。
- Memory模块: Memory即记忆模块,主要用来存储、获取、检索信息。
- Planning模块: 制定计划,可以根据过去的行为与目标动态规划下一步的行动
- Action模块: 实行模块,实行智能体的具体决策。
Profile模块
自主智能体通常是通过假定特别的角色来进行解决问题。比如编程专家、老师、范畴专家。Profile模块目的就是设定智能体的角色,做角色认定。通常通过Prompt来进行指定,通过角色认定可以影响大模型的行为。智能体的Profile通常会阐明其年龄、职业、心理、社会关系等信息。
角色认定是一种紧张的社会和组织机制,通过明确个体在特定体系或环境中的地位和职责,有助于维护秩序、提拔效率和促进合作。固然在实际应用中,形貌代理信息取决于具体的业务场景。
下面是一个确认Profile的例子, 主要分为以下几个方面:
- 命名,即每个智能体都有一个名称作为代号,如Visionary
- 角色, 设定智能体的角色定义,比如Reporter
- 目标, 设定智能体的目标: Read the provided historical messages, collect various analysis SQLs, from them, and assemble them into professional reports.
- 性格、社会关系等约束条件设定。You are only responsible for collecting and sorting out the analysis SQL that already exists in historical messages, and do not generate any analysis sql yourself. etc
- profile: ProfileConfig = ProfileConfig(
- name=DynConfig(
- "Visionary",
- category="agent",
- key="dbgpt_agent_expand_dashboard_assistant_agent_profile_name",
- ),
- role=DynConfig(
- "Reporter",
- category="agent",
- key="dbgpt_agent_expand_dashboard_assistant_agent_profile_role",
- ),
- goal=DynConfig(
- "Read the provided historical messages, collect various analysis SQLs "
- "from them, and assemble them into professional reports.",
- category="agent",
- key="dbgpt_agent_expand_dashboard_assistant_agent_profile_goal",
- ),
- constraints=DynConfig(
- [
- "You are only responsible for collecting and sorting out the analysis "
- "SQL that already exists in historical messages, and do not generate "
- "any analysis sql yourself.",
- "In order to build a report with rich display types, you can "
- "appropriately adjust the display type of the charts you collect so "
- "that you can build a better report. Of course, you can choose from "
- "the following available display types: {{ display_type }}",
- "Please read and completely collect all analysis sql in the "
- "historical conversation, and do not omit or modify the content of "
- "the analysis sql.",
- ],
- category="agent",
- key="dbgpt_agent_expand_dashboard_assistant_agent_profile_constraints",
- ),
- desc=DynConfig(
- "Observe and organize various analysis results and construct "
- "professional reports",
- category="agent",
- key="dbgpt_agent_expand_dashboard_assistant_agent_profile_desc",
- ),
- )
复制代码 固然完成上述工作才是自主Agent构建的开始,后续我们需要持续给Agent构建档案,让其具备完备的"人格"与角色认定。为什么一定要构建档案与角色认定,大家不妨回首一下。我们人类的培养与发展,陪同一生的一个核心命题就是做角色认定,而档案是角色认定非常紧张的一环。档案的构建是一个持续的过程,一样平常会用到如下一些方法:
- 手工制作法: eg: “你是一个外向的人”,“你是一个数据库专家”。
- 大模型生成法: 给定一些关键词,让大模型辅助生成。
- 数据集对齐法: 在这种方法下,智能体的Profile通过真实天下的数据集来持续构建。
Memory模块
Memory模块在Agent架构中,饰演非常紧张的角色。它存储环境以及先前对话记忆,并指导下一步的行动。记忆模块可以资助智能体积累经验,自进化,变成一个更一致、更具逻辑、更高效的"人"。
下面我们从记忆模块结构、格式以及操作几个层面先容。
记忆结构:基于大模型的自主代理通常结合源自人类记忆过程,基于人类对认知科学研究的原理和机制。
人类记忆遵循从记录知觉输出的感觉——短期记忆,在到恒久信息巩固的恒久记忆。
- 短期记忆: 受限于大语言模型上下文窗口的制约。
- 恒久记忆:类似于外部向量存储,智能体可以根据需要快速查询和检索。
- Unified Memory: 类似人类的短期记忆,,通常通过上下文来学习,一样平常直接写在Prompt里面。
- Hybrid Memory: 混合记忆基于人类的短期记忆和恒久记忆进行建模。短期记忆记录近来的信息,恒久记忆记录整个生命周期里面最紧张的信息。比如短期记忆包罗Agent当前情况下上下文的信息,恒久记忆存储过去的行为和思索,恒久记忆可以通过当前的事件进行检索。
记忆格式:自然语言记忆与Embedding记忆
- 自然语言:在这种格式下,记忆直接通过自然语言形貌。
- Embedding: 在这种格式下,记忆直接通过Embedding向量来存储。
- 数据库:记忆信息被存储在数据库中,允许智能体更高效、全面操纵记忆。
- 链式结构:链表、树
记忆操作: 记忆模块通过与环境的交互来获取、积累、利用紧张知识。
- 记忆读: 从记忆中抽取有用的信息。抽取维度有Recent、Relevance、Importance
- 记忆写: 将感知环境的信息写入到记忆存储中。
- 记忆反思:记忆反思模仿人类见证评估自己认知、情绪和行为过程的能力。
Planning 模块
劈面临复杂任务时,人类倾向于将其构造为简朴的子任务而且独立进行解决。计划模块的目的是通过类人的能力,让Agent的行为更具逻辑性、更强盛、更可信。我们可以根据是否需要人类反馈对计划过程进行分析。
没有反馈的计划制定
在此方法中,agent不会接收反馈对未来的行动做出调整。
- 单路径推理: 此计谋中,终极的任务被分解为几个步骤,这些步骤被级链方式进行连接。每一步只有一个子步骤,LLM遵循这些步骤完成终极的目标。
- 多路径推理:此方法中,推理步骤生成的终极计划是一棵数结构,其中每一步可能会有多个子步骤,这个方法类似于人类的思索,在每一步上会有多个选择。CoT(Chain Of Thoughts认为每个复杂问题都有多种思维方式来推导出终极答案。因此通过CoT的方式生成一系列的推理步骤。多路径推理中常用的方法有CoT(Chain Of Thoughts)、ToT(Tree Of Thoughts)、GoT(Graph Of Thoughts)、AoT(Algorithm of thoughts)等。在每个步骤中,他们起首生成多个可能的后续步骤,然后根据可接收的行动的距离来确定终极步骤。
有反馈的计划制定
在许多真实场景中,Agent需要制定长远的计划解决复杂问题。面临这些任务时,没有反馈的计划模块由于下面的原因很难制定精确的计划。
- 起首从一开始制定一个完美的计划非常困难,由于它需要各种复杂的条件条件,所以仅仅简朴遵循初始计划大概率会导致失败。
- 计划的实行也会遇到非预期的行为与输出。
- 外部真实环境与人类的反馈能够及时纠正Agent可能的犯错。
Action 模块
Action模块负责将智能体的决策转化为具体的结果。该模块一样平常直接与环境交互。会受到profile、memory和计划模块的影响。
- Action的目标:动作的意图?
- 完成任务
- 互换
- 环境探测
- Action的生成:Action是怎样生成的?
- 通过记忆,该Action是通过从Memory中抽取信息来生成的。
- 通过计划遵循
- Action的行动空间:哪些action可用?
- 拓展工具: APIs、Database & KBQA、拓展模型
- LLMs内在知识
基于预练习的知识,LLMs自己具备规划能力
- Action的影响: -> before action, in-action, after-action
Agent能力的获取
- 通过微调(Capability acquisition with fine-tuning)
- Prompt工程
- 设计适当的agent进化机制. (机制工程)
- 反复试验
- 群众智慧
- 经验积累
- 自我驱动进化
4、 编排与 AWEL
为什么需要编排
大语言模型已经在特定范畴具备了生成有效计划的能力,为什么还需要编排?在技术理念上,我们认为智能体的应用主要有两种场景。1. 比较开放性的问题,比如制定一个观光计划,这类问题的编排可以用智能体AutoPlan 2.但绝大多数场景是有固定流水线的,尤其在工业尤为明显。这类确定性的范畴,需要有智能体简直定性编排。
此外计划与编排是人类协作与管理的底子。智能体要参与到人类生产、生活当中,必然需要遵循人类社会的规则, 需要有一套统一的架构管理编排。
什么是AWEL(智能体编排语言)?
AWEL(Agentic Workflow Expression Language)是一套专为大模型应用开辟设计的智能体工作流表达语言,它提供了强盛的功能和灵活性。AWEL通过设计尺度输入、输出来定义Agent之间的交互协议,通过编排让Agent之间的协作更加高效。
通过 AWEL API 您可以专注于大模型应用业务逻辑的开辟,而不需要关注繁琐的模型和环境细节,AWEL 采取分层 API 的设计, AWEL 的分层 API 设计架构如下图所示:
AWEL分层设计
AWEL在设计上分为三个层次,依次为算子层、AgentFrame层以及DSL层,以下对三个层次做简要先容。
算子层是指LLM应用开辟过程中一个个最根本的操作原子,比如在一个RAG应用开辟时。检索、向量化、模型交互、Prompt处理等都是一个个底子算子。在后续的发展中,框架会进一步对算子进行抽象与尺度化设计。可以根据尺度API快速实现一组算子。
AgentFrame层将算子做进一步封装,可以基于算子做链式计算。这一层链式计算也支持分布式,支持如filter、join、map、reduce等一套链式计算操作。后续也将支持更多的计算逻辑。
DSL层提供一套尺度的结构化表现语言,可以通过写DSL语句完成AgentFrame与算子的操作,让围绕数据编写大模型应用更具确定性,避免通过自然语言编写的不确定性,使得围绕数据与大模型的应用编程变为确定性应用编程。
Agent 在 DB-GPT 项目中的定位
如下图所示, 在DB-GPT项目中,Agent是一等公民。其他如SMMF(多模型管理)、RAGs、数据源、插件、工具、可视化组件等都是Agent所依靠的资源。
Agent 代码实现
针对上述形貌的Agent架构,我们在DB-GPT开源项目中,做了完备的实现。具体的代码实现路径在dbgpt/agent包里面。接下来我们对源码做个简要的先容。
如图所示,为整个Agent的代码目录组织, 其中core包里面包含了我们前面提到的Agent的全部核心模块,包罗profile、memory、plan、action等模块。
resource目录下主要实现了一组资源加载逻辑,可以将DB-GPT中提供的模型、RAGs、数据源和工具等资源无缝加载到Agent中提供使用。
expand包下面主要是具体的Agent的实现,DB-GPT默认内置了代码助手、数据分析助手、SQL助手、插件助手、图表助手、知识库助手等智能体。
1、 Agent 定义
在Core包下agent.py文件中,对Agent做的接口做了定义与抽象。一个Agent主要包含以下核心方法:
- Agent: 基类,用来表征Agent
- send: 发送消息
- receive: 接收消息
- generate_reply: 生成响应
- thinking: 思索&反思
- review: 结果审查
- act: 实行
- verify: 校验
- name: 名称
- role: 角色认定
- desc: 形貌
- AgentContext:Agent依靠的上下文
- AgentGenerateContext: Agent依靠的上下文
- AgentReviewInfo: Agent审查信息
- AgentMessage: Agent消息处理
- AgentManage: 对Agent进行管理,主要是Agent的注册与发现。
base_agent.py文件中实现了ConversableAgent,ConversableAgent继承了Agent、Role两个父类,并对通用方法做了实现。后续在具体Agent实现上,可以直接继承ConversableAgent
Thinking方法
Thinking方法基于历史的消息与记忆来推理完成当前目标需要做的具体行动,会根据上一次实行的错误信息进行反思重试,一样平常会重试3次。
资源bind
bind方法会绑定Agent所依靠的资源,包罗模型、记忆、知识库、插件、数据源和工具等。
Agent构建
build方法会完成一个Agent的构建工作,会前置检查Agent的可用性,并做资源的预加载与初始化。
2、Profile
Profile核心是做Agent的角色认定,所以在实现上比较简便。重心是怎样持续围绕大模型构建好Prompt以及Agent档案。
- VALID_TEMPLATE_KEYS = {
- "role",
- "name",
- "goal",
- "resource_prompt",
- "expand_prompt",
- "language",
- "constraints",
- "examples",
- "out_schema",
- "most_recent_memories",
- "question",
- }
- _DEFAULT_SYSTEM_TEMPLATE = """
- You are a {{ role }}, {% if name %}named {{ name }}, {% endif %}your goal is {{ goal }}.
- Please think step by step to achieve the goal. You can use the resources given below.
- At the same time, please strictly abide by the constraints and specifications in IMPORTANT REMINDER.
- {% if resource_prompt %} {{ resource_prompt }} {% endif %}
- {% if expand_prompt %} {{ expand_prompt }} {% endif %}
- *** IMPORTANT REMINDER ***
- {% if language == 'zh' %}
- Please answer in simplified Chinese.
- {% else %}
- Please answer in English.
- {% endif %}
- {% if constraints %}
- {% for constraint in constraints %}
- {{ loop.index }}. {{ constraint }}
- {% endfor %}
- {% endif %}
- {% if examples %}
- You can refer to the following examples:
- {{ examples }}
- {% endif %}
- {% if out_schema %} {{ out_schema }} {% endif %}
- """ # noqa
- _DEFAULT_USER_TEMPLATE = """
- {% if most_recent_memories %}
- Most recent observations:
- {{ most_recent_memories }}
- {% endif %}
- {% if question %}
- Question: {{ question }}
- {% endif %}
- """
- _DEFAULT_SAVE_MEMORY_TEMPLATE = """
- {% if question %}Question: {{ question }} {% endif %}
- {% if thought %}Thought: {{ thought }} {% endif %}
- {% if action %}Action: {{ action }} {% endif %}
- {% if observation %}Observation: {{ observation }} {% endif %}
- """
复制代码 3、 Memory
如下图目录结构所示,Memory模块里面,我们实现了前面提到的短记忆、长记忆、混合记忆等多种方式。同时也实现了Memory的核心操作接口,比如存储、读、写、裁剪、清算、紧张性计算等。
写混合Memory
这里我们以混合记忆为例,先容一下记忆的读写操作,如下图所示是写的过程。
起首会将感知记忆写入到存储当中,然后获取并写短期记忆,最后写恒久记忆。在这个过程中,会同时更新记忆的紧张性指标。
读混合Memory
读的过程也类似,起首读恒久记忆,然后读短期记忆。
4、 Planning
计划与编排,主要实现了三种方式的编排。
- single_agent,即完成单一的目标。
- auto-plan: 根据一个目标进行拆分,然后分发给多Agent协作完成。
- AWEL: 基于工作流的人为编排。
5、Action
Action是一个智能体决策的具体实行,一样平常需要根据具体的场景来进行具体实现。代码中我们定义了通用的接口与方法,结合场景的实现需要根据实际情况进行编写。
6、实现案例
这里我们来先容一个简朴的SQL-Agent的实现,主要具备根据RAG + 数据源 + Text2SQL能力实现SQL生成、翻译、优化等工作。
实现数据SQL-Agent
这里我们实现了一个简朴的SQL助手,由于我们的目的主要是SQL生成、翻译、优化,所以我们制定的Action是一个空Action。
- """SQL Assistant Agent.
- Use RAG and Schema-Linking, which can generate,translate,
- and correct SQL based on user questions.
- """
- import asyncio
- from dbgpt.agent import BlankAction, ConversableAgent, DynConfig, ProfileConfig
- class SQLAssistantAgent(ConversableAgent):
- """SQL Agent Use RAG and Schema-Linking."""
- profile: ProfileConfig = ProfileConfig(
- name=DynConfig(
- "kevin",
- category="agent",
- key="dbgpt_agent_expand_sql_expert_name",
- ),
- role=DynConfig(
- "SQLExpert", category="agent", key="dbgpt_agent_expand_sql_expert_name_role"
- ),
- goal=DynConfig(
- "SQL generation, SQL translate, SQL diagnostics",
- category="agent",
- key="dbgpt_agent_expand_sql_expert_name_goal",
- ),
- constraints=DynConfig(
- [
- """You are a SQL expert who can generate, translate,
- and correct SQL based on user questions.
- If the user's input is not related to SQL,
- you need to prompt the user to output SQL-related content."""
- ],
- category="agent",
- key="dbgpt_agent_expand_sql_expert_profile_constraints",
- ),
- desc=DynConfig(
- """You are a SQL expert who can generate, translate,
- and correct SQL based on user questions.""",
- category="agent",
- key="dbgpt_agent_expand_sql_expert_profile_desc",
- ),
- )
- def __init__(self, **kwargs):
- """Create a new SQLAssistantAgent."""
- super().__init__(**kwargs)
- self._init_actions([BlankAction])
复制代码 SQL Agent 还需要一个数据库连接作为依靠的资源,这里我们创建一个SQLite表:
- def _create_temporary_connector():
- """Create a temporary database connector for testing."""
- from dbgpt.datasource.rdbms.conn_sqlite import SQLiteTempConnector
- connector = SQLiteTempConnector.create_temporary_db()
- connector.create_temp_tables(
- {
- "user": {
- "columns": {
- "id": "INTEGER PRIMARY KEY",
- "name": "TEXT",
- "age": "INTEGER",
- },
- "data": [
- (1, "Tom", 10),
- (2, "Jerry", 16),
- (3, "Jack", 18),
- (4, "Alice", 20),
- (5, "Bob", 22),
- ],
- }
- }
- )
- return connector
复制代码 构建Agent,绑定资源并做初始化。
- async def main():
- from dbgpt.agent import AgentContext, AgentMemory, UserProxyAgent, LLMConfig
- from dbgpt.agent.resource import RDBMSConnectorResource
- from dbgpt.model.proxy import OpenAILLMClient
- agent_memory = AgentMemory()
- llm_client = OpenAILLMClient(model_alias="gpt-3.5-turbo")
- context: AgentContext = AgentContext(conv_id="sql_agent")
- connector = _create_temporary_connector()
- sqlite_resource = RDBMSConnectorResource("SQLite Database", connector=connector)
- user_proxy = await UserProxyAgent().bind(agent_memory).bind(context).build()
- sql_agent = (
- await SQLAssistantAgent()
- .bind(context)
- .bind(LLMConfig(llm_client=llm_client))
- .bind(sqlite_resource)
- .bind(agent_memory)
- .build()
- )
- await user_proxy.initiate_chat(
- recipient=sql_agent,
- reviewer=user_proxy,
- message="What is the name and age of the user with age less than 18",
- )
- print(await agent_memory.gpts_memory.one_chat_completions("sql_agent"))
- if __name__ == "__main__":
- asyncio.run(main())
复制代码 本Agent中,我们准备了两类资源。1. 知识库 2. 数据库。知识库里面主要对一些字段与上下文进行形貌。
Agent 应用与挑衅
在Agent的应用方面,我们主要聚焦在数据底子办法、数据分析与底子办法运维等范畴。涉及的Agent主要有智能问答Agent、SQL-Agent、数据分析Agent、诊断Agent、风险分析Agent、运维Agent等场景。固然也包罗一些完全基于Multi-Agent Auto-plan的智能体实现。
有许多风趣的实验,但也遇到非常多的挑衅。包罗但不限于
- 意图识别: 怎样准确理解用户的意图,并匹配到对应的Agent
- Agent-Linking: 多Agent怎样提供一个统一的入口,回答多个范畴专业问题的同时,还可以自由对话。如一个对话智能体Kevin后面,可以进行多种任务对话,比如智能问答,SQL-生成、诊断、运维&API调用、自由对话等。
- 召回准确率:怎样准备高质量的问答与知识库,结合多种RAG检索技术,准确召回干系内容。
- 多轮对话进行参数补充: 比如在意图识别中,用户单次的对话无法满足场景的参数需求,需要智能体反问用户到达槽位添补的目的。
Agent 评测
Agent的评估分为两种方式。1. 主观评估 2. 客观评估
1、 主观评测
主观评估Agent能力主要是基于人类的判断。一样平常实用于没有评测数据集大概很难设计高质量的指标的场景。比如说评估Agent的智力与用户友爱性。下面我们先容两种平凡的主观评估计谋
- 人工标注: 与人类的直接评分和排序干系。
- 图灵测试
由于自主Agent是被人类设计满足人类需求的,因此人类的主观测试非常紧张。同时也会面临非常多的问题,比如高成本、低效、私见。为相识决这些问题,越来越多的研究职员正在研究试用LLM自己进行主观评价。
2、客观评测
指标
协议&Benchmarks
- 真实天下的评估
- 社会评估
- 多任务评估:人类使用一组来自差别范畴的任务来进行评估。
- 软件测试
小结
随着模型结果越来越强,自主智能体的实现越来越成为可能。但是面向未来,随着模型结果每半年一次的大迭代,设计Agent架构以及构建Agent应用时,需要充实考虑Agent进化与迭代的机制。同时,虽然当下在Agent的构建中,大家更多关注的是Plan,但角色认定、恒久记忆等在人类交互中最根本的要求,或许应该花更多的精力。别的,当下关于Agent开辟的框架跟平台许多,但观察整个演变的趋势,很难由一套架构大概平台统一全部的应用。因此统一架构理念,设计合理的注册与交互协议,也是框架跟平台需要重点考虑的。
总之自主智能体这场冒险刚刚开始,对未来必然会面临的新物种,特别盼望大家能够躬身入局,一起探索,一起实验。
最后的最后
感谢你们的阅读和喜欢,作为一位在一线互联网行业奋斗多年的老兵,我深知在这个瞬息万变的技术范畴中,持续学习和进步的紧张性。
为了资助更多热爱技术、渴望发展的朋侪,我特别整理了一份涵盖大模型范畴的宝贵资料集。
这些资料不但是我多年积累的心血结晶,也是我在行业一线实战经验的总结。
这些学习资料不但深入浅出,而且非常实用,让大家体系而高效地掌握AI大模型的各个知识点。如果你乐意花时间沉下心来学习,相信它们一定能为你提供实质性的资助。
这份完备版的大模型 AI 学习资料已经上传CSDN,朋侪们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【包管100%免费】
大模型知识脑图
为了成为更好的 AI大模型 开辟者,这里为大家提供了总的门路图。它的用处就在于,你可以按照上面的知识点去找对应的学习资源,包管自己学得较为全面。
经典册本阅读
阅读AI大模型经典册本可以资助读者进步技术程度,开拓视野,掌握核心技术,进步解决问题的能力,同时也可以借鉴他人的经验。对于想要深入学习AI大模型开辟的读者来说,阅读经典册本是非常有须要的。
实战案例
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时间可以搞点实战案例来学习。
面试资料
我们学习AI大模型必然是想找到高薪的工作,下面这些面试题都是总结当前最新、最热、最高频的面试题,而且每道题都有详细的答案,面试前刷完这套面试题资料,小小offer,不在话下
640套AI大模型报告合集
这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研职员、工程师,照旧对AI大模型感爱好的爱好者,这套报告合集都将为您提供宝贵的信息和启示。
这份完备版的大模型 AI 学习资料已经上传CSDN,朋侪们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【包管100%免费】
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |