还在手写Agent代码?别傻了!主流开发框架横评,让你效率提升10倍!

AutoGen,LangChain,LangGraph,Google ADK,OpenAI Agents,AgentScope使用对比 你的身份推荐框架科研人员 / 探索多 Agent 协作AutoGen初创公司 / 快速验证 AI 产品企业开发者 / 构建可靠业务流程LangGraphAndroid 开发者 / 多模态应用Google ADK政企 / 信创 / 中文场景AgentScope需要最大灵活性与生态LangChain(作为基础组件库)🔑核心原则简单任务→ 用 OpenAI Agents 或 LangChain复杂流程→ 用 LangGraph多角色自动协作→ 用 AutoGen 或 AgentScope国产化刚需。 阅读详情

一、业务逻辑编排对比

业务流程:

接下来分别使用手写代码和几种框架来实现这个业务流程逻辑,看看差异所在。

1、手写代码

纯编码时,我们直接根据业务逻辑来串联工作流:

# sql agentdef sql_agent(user_query):    # 1. 语义匹配    table = semanticService.hybrid_search(user_query, 1)    if not table:        print(f"未匹配到字段")        return Result.error()    table_struct = [t["table_info"] for t in table]    prompt = f"""            你是一个MySQL专家。根据以下表结构信息:            {table_struct}            历史问答(仅供参考):"{mm.get_messages(session_id)}"                        用户查询:"{user_query}"            生成标准MYSQL查询语句。            要求:            1. 只输出MYSQL语句,不要额外解释            2. 根据语义和字段类型,使用COUNT/SUM/AVG等聚合函数进行计算,非必须            3. 给生成的字段取一个简短的中文名称            输出格式:使用[]包含sql文本即可,不需要其他输出,便于解析,例如:[select 1 from dual]        """    print(f"SQL AGENT PROMPT={prompt}")    # 2. 大模型生成SQL    str1 = analysisService.analysis(prompt)    sql = re.search(r'\[(.*?)\]', str1, re.DOTALL).group(1).strip()    # 3. 执行查询    if not sql:        print("\nSQL生成失败")        return Result.error()    resultSet = queryService.query_with_column(sql)    if not resultSet:        print("\nSQL查询失败")        return Result.error()    return Result.success(data={ "tableStruct": table_struct, "resultSet": resultSet, "sql": sql })# analysis agentdef analysis_agent(user_query, data):    # 基础分析    prompt = f"""                根据以下表结构信息:                {data['tableStruct']}                                查询SQL:                {data['sql']}                                和以下数据信息:                {data['resultSet']}                历史问答(仅供参考):"{mm.get_messages(session_id)}"                                用户查询:"{user_query}"                生成一段简要分析,加上一些预测总结的内容            """    print(f"ANALYSIS AGENT PROMPT={prompt}")    return Result.success(analysisService.analysis(prompt))def workflow(user_input):    # 1 - SQL Agent    result = sql_agent(user_input)    if not result.success:        returnNone    # 2 - Analysis Agent    return analysis_agent(user_input, result.data)
2、LangChain框架

使用LangChain框架的Chain模式时,可以手动串联业务流程逻辑:

# 构建顺序链overall_chain = SequentialChain(    chains=[        TransformChain(            input_variables=["user_query"],            output_variables=["table_schema"],            transform=get_table_schema        ),        TransformChain(            input_variables=["user_query", "table_schema"],            output_variables=["sql_result", "generated_sql"],            transform=execute_sql        ),        analysis_chain    ],    input_variables=["user_query"],    output_variables=["analysis_result"],    verbose=True)

LangChain 已经发展出丰富的 Chain 类型,用于构建复杂、模块化的 LLM 应用,这里就不一一介绍了。

LangChain框架除了提供Chain模式外,还可以使用的Agent模式来实现,通过提示词来指定业务流程逻辑,然后直接调用工具,如下:

# 初始化Agentagent = initialize_agent(    tools=[semantic_tool, sql_tool],    llm=llm,    agent=AgentType.STRUCTURED_CHAT_ZERO_SHOT_REACT_DESCRIPTION,    verbose=True,    handle_parsing_errors=True,    max_iterations=10,  # 增加最大迭代次数以支持多步查询    early_stopping_method="generate")def chat(user_query):    print("执行方法chat")    # 更明确的指令    enhanced_query = f"""    问题:{user_query}    请特别注意:这个问题可能需要从多个表中查询数据。    1. 首先确定需要查询哪些数据    2. 使用match_metadata工具分别匹配包含这些数据的表结构    3. 对每个表生成相应的SQL查询语句    4. 执行查询并汇总结果    5. 最后计算并给出答案    请确保逐步执行,不要跳过任何步骤。    """    try:        result = agent.run(enhanced_query)        print(f"\n最终结果: {result}")    except Exception as e:        print(f"执行过程中出错: {str(e)}")        # 这里可以添加重试或更详细的错误处理逻辑
3、QwenAgent框架

QwenAgent框架则只能通过提示词方式指定业务流程逻辑,然后直接调用Assistant等待用户输入:

# 创建Agent实例agent = Assistant(    name='ai_agent_assistant',    llm={        'model': 'qwen3:32b',        'model_server': 'http://localhost:11434/v1',    },    system_message="""        你是一个数据分析助手,负责帮助用户查询数据库信息。        请特别注意:用户的问题可能需要从多个表中查询数据。        1. 首先确定需要查询哪些数据        2. 使用match_metadata工具分别匹配包含这些数据的表结构        3. 对每个表生成相应的SQL查询语句        4. 执行查询并汇总结果        5. 最后计算并给出答案        请确保逐步执行,不要跳过任何步骤。    """,    function_list=[MatchMetadataTool(), ExecuteSQLTool()],)
4、AgentScope框架

AgentScope框架中支持单体Agent模式,将工具提供给框架,再通过提示词来指定业务流程逻辑:

async def interactive_react_agent() -> None:    """创建一个支持多轮对话的ReAct智能体。"""    # 准备工具    toolkit = Toolkit()    toolkit.register_tool_function(match_metadata)    toolkit.register_tool_function(execute_sql)    jarvis = ReActAgent(        name="Jarvis",        sys_prompt="""            你是一个数据分析助手,负责帮助用户查询数据库信息。            请特别注意:用户的问题可能需要从多个表中查询数据。            1. 首先确定需要查询哪些数据            2. 使用match_metadata工具分别匹配包含这些数据的表结构            3. 对每个表生成相应的SQL查询语句            4. 执行查询并汇总结果            5. 最后计算并给出答案            请确保逐步执行,不要跳过任何步骤。        """,        model=OllamaChatModel(            model_name="qwen3:32b",  # 指定模型名称            stream=True,  # 根据需要设置是否流式输出            enable_thinking=True,  # 为Qwen3启用思考功能(可选)            # host="http://localhost:11434" # 如果Ollama不在默认地址,需指定        ),        formatter=OllamaChatFormatter(),        toolkit=toolkit,        memory=InMemoryMemory(),    )
小结

手写代码需人工串联各个步骤,灵活但开发成本高,维护复杂。各框架则提供了丰富的链(Chain)或Agent模式,支持流程模块化、工具调用自动化,极大提升开发效率和可维护性。

二、模型调用对比

接下来看看手写代码和使用开发框架,都是如何调用大模型的,如何处理大模型的流式输出的。

1、手写代码

通过HTTP方式调用外部大模型示例:

import requests# Analysis APIclass AnalysisService:    def __init__(self):        self.ollama_host = "http://localhost:11434/api/chat"    def analysis(self, prompt, model="deepseek-r1:32b", messages=None):        # 发送POST请求        if messages isNone:            messages = []        str = ""        newMessages = messages[:]        newMessages.append({"role": "user", "content": prompt})        # 请求数据        data = {            "model": model,            "messages": newMessages,            "stream": True        }        isThinking = False        with requests.post(self.ollama_host, json=data, stream=True) as response:            # 处理流式响应            for line in response.iter_lines():                if line:                    decoded_line = line.decode('utf-8')                    try:                        # 解析JSON数据                        chunk = json.loads(decoded_line)                        content = chunk['message']['content']                        if"<think>"in content:                            isThinking = True                        if"</think>"in content:                            isThinking = False                        ifnot isThinking and"</think>"notin content:                            str += chunk['message']['content']                        # 打印消息内容                        print(chunk['message']['content'], end='', flush=True)                    except json.JSONDecodeError:                        print(f"无法解析JSON: {decoded_line}")        return str

使用官方或社区封装的 Python 包(如 ollama 包)调用示例:

import ollama# 调用模型生成回复,流式输出for chunk in ollama.chat(    model='deepseek-r1:32b',    messages=[{'role': 'user', 'content': '讲一个笑话'}],    stream=True):    print(chunk['message']['content'], end='', flush=True)
2、LangChain框架

LangChain内部集成支持多种类型的模型调用,以下列举部分:

3、QwenAgent框架

QwenAgent内部集成支持通用HTTP方式调用大模型:

...# 创建Agent实例agent = Assistant(    name='ai_agent_assistant',    llm={        'model': 'qwen3:32b',        'model_server': 'http://localhost:11434/v1',    },    ...
4、AgentScope框架

AgentScope内部集成多模型支持:

小结

手写代码通常直接调用HTTP接口或使用官方SDK,需自行处理流式输出的循环响应和异常。而几种开发框架都内置对多种模型的统一封装,只要简单配置即可,简化了调用过程,提升了稳定性和扩展性。

三、工具调用对比

现在AI Agent中调用工具Tools已经是典型场景了,所以接下来对这块做个对比分析。

1、手写代码

需要手动调用外部工具:

...# sql agentdef sql_agent(user_query):    # 1. 语义匹配    table = semanticService.hybrid_search(user_query, 1)    ...    # 3. 执行查询    if not sql:        print("\nSQL生成失败")        return Result.error()        resultSet = queryService.query_with_column(sql)    ...
2、LangChain框架

Agent模式初始化传入tools即可:

# 初始化Agentagent = initialize_agent(    tools=[semantic_tool, sql_tool],    llm=llm,    agent=AgentType.CONVERSATIONAL_REACT_DESCRIPTION,    verbose=True,    handle_parsing_errors=True,    max_iterations=10,  # 增加最大迭代次数以支持多步查询    early_stopping_method="generate",    memory=memory)
3、QwenAgent框架

Agent模式初始化传入tools即可:

# 创建Agent实例agent = Assistant(    name='ai_agent_assistant',    llm={        'model': 'qwen3:32b',        'model_server': 'http://localhost:11434/v1',    },    system_message="""        你是一个数据分析助手,负责帮助用户查询数据库信息。        请特别注意:用户的问题可能需要从多个表中查询数据。        1. 首先确定需要查询哪些数据        2. 使用match_metadata工具分别匹配包含这些数据的表结构        3. 对每个表生成相应的SQL查询语句        4. 执行查询并汇总结果        5. 最后计算并给出答案        请确保逐步执行,不要跳过任何步骤。    """,    function_list=[MatchMetadataTool(), ExecuteSQLTool()],)

需要处理一下流式输出结果,获取文本内容:

def read_steam_response(response_generator):    # 处理生成器响应    full_response = ''    start = 0    end = 0    for response in response_generator:        # 检查响应类型并适当处理        if isinstance(response, list):            # 如果是列表,提取内容            for item in response:                ifisinstance(item, dict) and'content'in item:                    full_response = item['content']                    end = full_response.__len__()                elifisinstance(item, str):                    full_response = item                    end = full_response.__len__()        elif isinstance(response, dict) and'content'in response:            full_response = response['content']            end = full_response.__len__()        elif isinstance(response, str):            full_response = response            end = full_response.__len__()        print(f"{full_response[start:end]}", end="")        start = end    return full_response
4、AgentScope框架

Agent模式初始化传入tools即可:

# 准备工具toolkit = Toolkit()toolkit.register_tool_function(match_metadata)toolkit.register_tool_function(execute_sql)jarvis = ReActAgent(    name="Jarvis",    sys_prompt="""        你是一个数据分析助手,负责帮助用户查询数据库信息。        请特别注意:用户的问题可能需要从多个表中查询数据。        1. 首先确定需要查询哪些数据        2. 使用match_metadata工具分别匹配包含这些数据的表结构        3. 对每个表生成相应的SQL查询语句        4. 执行查询并汇总结果        5. 最后计算并给出答案        请确保逐步执行,不要跳过任何步骤。    """,    model=OllamaChatModel(        model_name="qwen3:32b",  # 指定模型名称        stream=True,  # 根据需要设置是否流式输出        enable_thinking=True,  # 为Qwen3启用思考功能(可选)        # host="http://localhost:11434" # 如果Ollama不在默认地址,需指定    ),    formatter=OllamaChatFormatter(),    toolkit=toolkit,    memory=InMemoryMemory(),)
小结

手写开发中需显式调用语义检索、SQL查询等工具,几种框架都支持通过工具注册机制自动完成调用与路由,降低耦合并增强复用。

四、上下文记忆对比

在AI Agent实践过程中,如果需要实现多轮对话,就会碰到上下文记忆的处理,所以接下来对这块做个对比。

1、手写代码

这种模式需要手写代码来管理上下文消息:

import threadingfrom dataclasses import dataclassfrom typing importList, Dict, Any@dataclassclass Message:    role: str# "system", "user", "assistant"    content: str    def to_dict(self) -> Dict[str, str]:        return {"role": self.role, "content": self.content}class MessageManager:    def __init__(self, max_history: int = 10):        """        初始化消息管理器        :param max_history: 每个 session 最多保留的历史消息数量(不包括 system 消息)        """        self.max_history = max_history        self._sessions: Dict[str, Dict[str, Any]] = {}        self._lock = threading.Lock()  # 保证线程安全    def set_system_message(self, session_id: str, content: str) -> None:        """为指定 session 设置 system 消息(会覆盖旧的)"""        with self._lock:            if session_id notinself._sessions:                self._sessions[session_id] = {                    "system": None,                    "history": []  # 只存 user/assistant 对话                }            self._sessions[session_id]["system"] = Message(role="system", content=content)    def add_user_message(self, session_id: str, content: str) -> None:        """添加用户消息"""        self._add_message(session_id, "user", content)    def add_assistant_message(self, session_id: str, content: str) -> None:        """添加助手回复"""        self._add_message(session_id, "assistant", content)    def _add_message(self, session_id: str, role: str, content: str) -> None:        with self._lock:            if session_id notin self._sessions:                self._sessions[session_id] = {                    "system": None,                    "history": []                }            history = self._sessions[session_id]["history"]            history.append(Message(role=role, content=content))            # 限制历史长度(只保留最近的 max_history 条 user/assistant 消息)            if len(history) > self.max_history * 2:  # 每轮对话含 user + assistant                # 保留最后 max_history * 2 条                self._sessions[session_id]["history"] = history[-(self.max_history * 2):]    def get_messages(self, session_id: str) -> List[Dict[str, str]]:        """获取可用于 Ollama /api/chat 的 messages 列表"""        with self._lock:            session = self._sessions.get(session_id)            if not session:                return []            messages = []            # 添加 system 消息(如果有)            if session["system"]:                messages.append(session["system"].to_dict())            # 添加历史对话            for msg in session["history"]:                messages.append(msg.to_dict())            return messages    def clear_session(self, session_id: str) -> None:        """清除指定 session 的所有消息"""        with self._lock:            self._sessions.pop(session_id, None)    def list_sessions(self) -> List[str]:        """列出所有 session ID"""        with self._lock:            returnlist(self._sessions.keys())    def delete_session(self, session_id: str) -> bool:        """删除 session,返回是否删除成功"""        with self._lock:            if session_id inself._sessions:                del self._sessions[session_id]                return True            return False

调用时手动传入:

# sql agentdef sql_agent(user_query):    # 1. 语义匹配    table = semanticService.hybrid_search(user_query, 1)    if not table:        print(f"未匹配到字段")        return Result.error()    table_struct = [t["table_info"] for t in table]    prompt = f"""            你是一个MySQL专家。根据以下表结构信息:            {table_struct}            历史问答(仅供参考):"{mm.get_messages(session_id)}"                        用户查询:"{user_query}"            生成标准MYSQL查询语句。            要求:            1. 只输出MYSQL语句,不要额外解释            2. 根据语义和字段类型,使用COUNT/SUM/AVG等聚合函数进行计算,非必须            3. 给生成的字段取一个简短的中文名称            输出格式:使用[]包含sql文本即可,不需要其他输出,便于解析,例如:[select 1 from dual]        """    print(f"SQL AGENT PROMPT={prompt}")    # 2. 大模型生成SQL    str1 = analysisService.analysis(prompt)    sql = re.search(r'\[(.*?)\]', str1, re.DOTALL).group(1).strip()    # 3. 执行查询    if not sql:        print("\nSQL生成失败")        return Result.error()    resultSet = queryService.query_with_column(sql)    if not resultSet:        print("\nSQL查询失败")        return Result.error()    return Result.success(data={ "tableStruct": table_struct, "resultSet": resultSet, "sql": sql })# analysis agentdef analysis_agent(user_query, data):    # 基础分析    prompt = f"""                根据以下表结构信息:                {data['tableStruct']}                                查询SQL:                {data['sql']}                                和以下数据信息:                {data['resultSet']}                历史问答(仅供参考):"{mm.get_messages(session_id)}"                                用户查询:"{user_query}"                生成一段简要分析,加上一些预测总结的内容            """    print(f"ANALYSIS AGENT PROMPT={prompt}")    return Result.success(analysisService.analysis(prompt))
2、LangChain框架

Agent模式指定:

# 记忆memory = ConversationBufferMemory(memory_key="chat_history", return_messages=True)# 初始化Agentagent = initialize_agent(    tools=[semantic_tool, sql_tool],    llm=llm,    agent=AgentType.CONVERSATIONAL_REACT_DESCRIPTION,    verbose=True,    handle_parsing_errors=True,    max_iterations=10,  # 增加最大迭代次数以支持多步查询    early_stopping_method="generate",    memory=memory)

除了上面用到的 ConversationBufferMemory,LangChain还提供了多种Memory组件,以适应不同场景的需求。可以根据具体情况选择:

注意确认Agent类型兼容性:在选用Memory前,请确认你使用的AgentType 支持Memory功能。例如,ZERO_SHOT_REACT_DESCRIPTION 默认不支持记忆,而CONVERSATIONAL_REACT_DESCRIPTION则专为多轮对话设计。

注意上下文长度:为Agent添加记忆会占用模型的上下文窗口。如果对话很长,考虑使用Conversation Summary Memory或Conversation Buffer Window Memory来避免超出限制。

调试工具:将 verbose 参数设为 True,可以在控制台看到详细的决策过程,有助于观察Memory是否正常工作。

3、QwenAgent框架

Agent模式的Assistant类不支持,需要手动管理:

def analysis(user_query):    try:        # 运行Agent        messages = mm.get_messages(session_id) + [{'role': 'user', 'content': user_query}]        response_generator = agent.run(messages=messages)        # 处理生成器响应        full_response = ''        start = 0        end = 0        for response in response_generator:            # 检查响应类型并适当处理            ifisinstance(response, list):                # 如果是列表,提取内容                for item in response:                    ifisinstance(item, dict) and'content'in item:                        full_response = item['content']                        end = full_response.__len__()                    elifisinstance(item, str):                        full_response = item                        end = full_response.__len__()            elifisinstance(response, dict) and'content'in response:                full_response = response['content']                end = full_response.__len__()            elifisinstance(response, str):                full_response = response                end = full_response.__len__()            print(f"{full_response[start:end]}", end="")            start = end        print(f"最终结果: {full_response}")        # 缓存历史对话        if full_response:            mm.add_user_message(session_id, user_query)            mm.add_assistant_message(session_id, full_response)        return full_response    except Exception as e:        print(f"执行过程中出错: {str(e)}")        # 这里可以添加重试或更详细的错误处理逻辑        return f"错误: {str(e)}"
4、AgentScope框架

Agent初始化指定对应类型即可:

jarvis = ReActAgent(    name="Jarvis",    sys_prompt="""        你是一个数据分析助手,负责帮助用户查询数据库信息。        请特别注意:用户的问题可能需要从多个表中查询数据。        1. 首先确定需要查询哪些数据        2. 使用match_metadata工具分别匹配包含这些数据的表结构        3. 对每个表生成相应的SQL查询语句        4. 执行查询并汇总结果        5. 最后计算并给出答案        请确保逐步执行,不要跳过任何步骤。    """,    model=OllamaChatModel(        model_name="qwen3:32b",  # 指定模型名称        stream=True,  # 根据需要设置是否流式输出        enable_thinking=True,  # 为Qwen3启用思考功能(可选)        # host="http://localhost:11434" # 如果Ollama不在默认地址,需指定    ),    formatter=OllamaChatFormatter(),    toolkit=toolkit,    memory=InMemoryMemory(),)
小结

手写代码需自行实现消息管理和上下文传递,工作量大且需要手动维护。框架提供多样化记忆组件,支持对话上下文的灵活管理,适配不同对话场景,有效提升对话质量。

五、多智能体协作对比

自从Google提出A2A协议,多智能体协作已经成为业界实践过程的热点,为进一步对比手写代码和开发框架在多Agent协作上的区别,我们将本案例的程序设计拆分为以下两个Agent:

  • 1、SQL Agent
    -调用外部语义检索(RAG)API匹配元数据
    -调用大模型根据元数据和用户提问生成查数SQL
    -调用查数API查询数据
  • 2、Analysis Agent
    -调用大模型分析数据回答问题
1、手写代码

需要手动串联多个Agent调用,消息格式自定义传递:

...def workflow(user_input):    # 1 - SQL Agent    result = sql_agent(user_input)    if not result.success:        return None    # 2 - Analysis Agent    return analysis_agent(user_input, result.data)    ...
2、LangChain框架

原生仅支持单体Agent,多Agent需要手动串联,实现类似手写代码。

3、QwenAgent框架

原生仅支持单体Agent,多Agent需要手动串联,实现类似同手写代码。

4、AgentScope框架
基于AgentScope框架,我们可以把 SQLAgent 和 AnalysisAgent 封装为 两个智能体(均继承 AgentBase),然后两个智能体的协作使用顺序管道sequential_pipeline来串联,实现“多智能体任务流转”。

AgentScope 中的主要管道类型包括:

这几种管道协作模式,具体实践敬请期待下篇文章分享。

小结

手写代码多为线性调用,缺乏并行和复杂调度能力。AgentScope框架支持多Agent并行、条件分支、消息广播等复杂管道模式,适合构建复杂的多智能体协作系统。其他框架都需要手动组合实现。

六、对比总结

通过以上对比来看,在日常智能体开发中,尤其是需要多轮对话、实现多工具调用和多智能体协作时,几种开发框架确实提供了极大的便利和扩展能力,大幅降低开发门槛和维护成本,而手写代码则适合高度定制化需求,灵活性最高。

选型建议

🔹 LangChain:适合你搭建任何单体智能体系统(RAG、SQL、工具调用)。

🔹 Qwen-Agent:适合快速构建“基于 Qwen 模型”的问答或助手。

🔹 AgentScope:适合研究或实现多智能体协作系统(Planner、Coder、Critic 等角色联动)。

🔹 手写代码:高度定制化开发,当我们的手写代码逐步抽象完善,使用的频率多了,就成了框架!

本文总结:本文通过设计高考信息查询智能助手的业务场景,分别采用手写代码和主流智能体框架(LangChain、QwenAgent、AgentScope)进行了实现与比较。我们从业务流程编排、模型调用、工具集成、上下文记忆管理以及多智能体协作等多个维度进行深入分析,对比手写代码与框架调用的异同。

如何学习大模型 AI ?

我国在AI大模型领域面临人才短缺,数量与质量均落后于发达国家。2023年,人才缺口已超百万,凸显培养不足。随着Al技术飞速发展,预计到2025年,这一缺口将急剧扩大至400万,严重制约我国Al产业的创新步伐。加强人才培养,优化教育体系,国际合作并进,是破解困局、推动AI发展的关键。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

2025最新大模型学习路线

明确的学习路线至关重要。它能指引新人起点、规划学习顺序、明确核心知识点。大模型领域涉及的知识点非常广泛,没有明确的学习路线可能会导致新人感到迷茫,不知道应该专注于哪些内容。

对于从来没有接触过AI大模型的同学,我帮大家准备了从零基础到精通学习成长路线图以及学习规划。可以说是最科学最系统的学习路线。

在这里插入图片描述

针对以上大模型的学习路线我们也整理了对应的学习视频教程,和配套的学习资料。

大模型经典PDF书籍

新手必备的大模型学习PDF书单来了!全是硬核知识,帮你少走弯路!

在这里插入图片描述

配套大模型项目实战

所有视频教程所涉及的实战项目和项目源码等
在这里插入图片描述

博主介绍+AI项目案例集锦

MoPaaS专注于Al技术能力建设与应用场景开发,与智学优课联合孵化,培养适合未来发展需求的技术性人才和应用型领袖。

在这里插入图片描述

在这里插入图片描述

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

在这里插入图片描述

为什么要学习大模型?

2025人工智能大模型的技术岗位与能力培养随着人工智能技术的迅速发展和应用 , 大模型作为其中的重要组成部分 , 正逐渐成为推动人工智能发展的重要引擎 。大模型以其强大的数据处理和模式识别能力, 广泛应用于自然语言处理 、计算机视觉 、 智能推荐等领域 ,为各行各业带来了革命性的改变和机遇 。

在这里插入图片描述

适合人群

  • 在校学生:包括专科、本科、硕士和博士研究生。学生应具备扎实的编程基础和一定的数学基础,有志于深入AGI大模型行业,希望开展相关的研究和开发工作。
  • IT行业从业人员:包括在职或失业者,涵盖开发、测试、运维、产品经理等职务。拥有一定的IT从业经验,至少1年以上的编程工作经验,对大模型技术感兴趣或有业务需求,希望通过课程提升自身在IT领域的竞争力。
  • IT管理及技术研究领域人员:包括技术经理、技术负责人、CTO、架构师、研究员等角色。这些人员需要跟随技术发展趋势,主导技术创新,推动大模型技术在企业业务中的应用与改造。
  • 传统AI从业人员:包括算法工程师、机器视觉工程师、深度学习工程师等。这些AI技术人才原先从事机器视觉、自然语言处理、推荐系统等领域工作,现需要快速补充大模型技术能力,获得大模型训练微调的实操技能,以适应新的技术发展趋势。
    在这里插入图片描述

课程精彩瞬间

大模型核心原理与Prompt:掌握大语言模型的核心知识,了解行业应用与趋势;熟练Python编程,提升提示工程技能,为Al应用开发打下坚实基础。

在这里插入图片描述

RAG应用开发工程:掌握RAG应用开发全流程,理解前沿技术,提升商业化分析与优化能力,通过实战项目加深理解与应用。 在这里插入图片描述

Agent应用架构进阶实践:掌握大模型Agent技术的核心原理与实践应用,能够独立完成Agent系统的设计与开发,提升多智能体协同与复杂任务处理的能力,为AI产品的创新与优化提供有力支持。
在这里插入图片描述

模型微调与私有化大模型:掌握大模型微调与私有化部署技能,提升模型优化与部署能力,为大模型项目落地打下坚实基础。 在这里插入图片描述

顶尖师资,深耕AI大模型前沿技术

实战专家亲授,让你少走弯路
在这里插入图片描述

一对一学习规划,职业生涯指导

  • 真实商业项目实训
  • 大厂绿色直通车

人才库优秀学员参与真实商业项目实训

以商业交付标准作为学习标准,具备真实大模型项目实践操作经验可写入简历,支持项目背调

在这里插入图片描述
大厂绿色直通车,冲击行业高薪岗位
在这里插入图片描述

文中涉及到的完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

在这里插入图片描述

2026年六大终端AI编码Agent深度横评:从理论到实战的全面解析 AI编码助手正从代码补全工具演进为能自主规划任务、调用工具链的智能体,深刻改变开发者工作流。其核心原理在于结合大语言模型的自然语言理解与代码生成能力,通过上下文感知和工具调用实现自动化开发。技术价值在于大幅提升开发效率、降低重复劳动,并辅助代码质量与架构设计。应用场景涵盖从快速原型搭建、复杂逻辑重构到自动化测试部署的全流程。本次横评聚焦终端AI编码Agent这一细分领域,选取Claude for Terminal、Cursor Agent、Windsurf AI等六款代表工具,通过统一测试场景,在上下文理解 阅读详情

相关推荐

MCP协议与OpenClaw框架:AI Agent工具集成新范式与10倍效率提升实践

在AI Agent开发领域,工具调用(Tool Calling)是连接大语言模型(LLM)与现实世界能力的关键技术。其核心原理在于通过标准化的接口描述,使LLM能够发现、理解并执行外部函数或API,从而扩展其功能边界。这项技术的价值在于将LLM的认知与推理能力与精准、可靠的外部工具相结合,解决了纯文本模型的幻觉问题与执行能力局限。典型的应用场景包括自动化办公、智能客服、数据分析与代码生成等。本文聚焦于实现这一价值的最新工程实践:通过MCP(Model Context Protocol)协议标准化工具生态,并

weixin_30902251的博客 385

AgentScope、LangChain、AutoGen 全方位对比 + 混用可行性指南

2. AutoGen定义多智能体角色,调用LangChain工具# 配置模型(AutoGen支持多模型)# 定义分析智能体(调用LangChain工具)# 触发LangChain工具调用if "解析AIS" in message["content"]:# 2. AutoGen定义多智能体角色,调用LangChain工具 import autogen # 配置模型(AutoGen支持多模型) config_list = [ {

lusa1314的博客 2517

【阿里AgentScope框架】多框架组合:AgentScope加LangChain,让你的开发效率直线上升

本文以一个例子来看下AgentScope框架和LangChain如何实现融合使用,真的超级简单,一看就懂。这是一种思路,为多种框架的融合使用提供借鉴。

同学小张的博客 3472

收藏!AI基础入门(应用开发篇)——从零手写实现一个Agent

清晰列出大模型可调用的动作,包括动作名、格式要求、功能说明和示例。这一步的核心是“约束性”——通过严格的格式要求(比如动作名和参数的分隔符、示例样式),让我们后续能用正则表达式轻松提取动作和参数,降低代码解析难度。这里我们故意简化了动作列表(仅2个动作),目的是让新手聚焦于ReAct的核心逻辑;实际应用中,你可以扩展动作列表,比如添加“search_web(网页搜索)”“read_file(读取文件)”“call_api(调用外部API)”等动作。提示词定义规则 + 代码执行动作 + 上下文循环传递。

ytt0523_com的博客 1162

Zynq7000双核裸机开发实战:如何安全实现共享内存与乒乓RAM设计

本文深入探讨了Zynq7000双核裸机开发中的共享内存与乒乓RAM设计,重点解析了核间通信的Cache一致性处理机制和硬件级实现方案。通过实战代码示例和性能优化技巧,帮助开发者解决双核运行中的访问冲突问题,提升嵌入式系统开发效率。

weixin_29191669的博客 375

kettle多表数据迁移

点击 文件——新建——作业,在左侧的 核心对象 标签下选择 通用,双击添加一个 start ,一个 转换 ,一个 作业 和一个 成功 到右侧的作业面板,这些作业项都可以改名字。点击文件—新建—转换,在左侧的 核心对象 标签下选择 输入 下的 表输入,双击添加到右侧的转换面板,再选择 作业 下的 复制记录到结果 ,双击添加到右侧的转换面板。新建转换,在左侧的 核心对象 标签下选择 作业 下的 从结果获取记录,双击添加到右侧的转换面板,再选择 作业 下的 设置变量 ,双击添加到右侧的转换面板。

u014061745的博客 1342

AI Agent开发框架全解析:手写代码vs主流框架对比,收藏必备的技术指南

AI Agent开发框架比较指南 本文通过高考信息查询助手案例,对比了手写代码与主流框架(LangChain、QwenAgent、AgentScope)在Agent开发中的差异: 手写代码方式需要手动编排业务逻辑、处理工具调用和记忆管理,适合高度定制化场景 主流框架提供三类开发模式: LangChain支持Chain式编程和Agent提示词两种方式 QwenAgent仅支持提示词驱动方式 AgentScope提供单体Agent模式 核心差异体现在: 业务编排:手动控制 vs 框架自动管理 工具调用:显式编码

优快云_430422的博客 1206

嵌入式Linux Qt应用程序卡死问题分析记录

根据应用和系统层面的分析,软件功能异常和卡死现象的原因是系统控制台/dev/console阻塞导致依赖其的相关应用和命令异常。系统控制台/dev/console阻塞的原因还未确定,最近的软件版本和其他测试同事未出现该问题,所以很大可能是串口线的问题,待后续有进展了继续更新。

V10_x的博客 1645

主流Agent开发框架全解析

本文介绍了当前主流的AI Agent开发框架,包括LangChain、MetaGPT和AutoGen等工具。这些框架通过封装任务规划、工具调用等核心功能,大幅降低了AI Agent的开发门槛。文章详细解析了每个框架的核心特性、适用场景,并提供了可直接运行的Python代码示例。其中,LangChain适合入门级单Agent开发,MetaGPT擅长多角色协作的复杂任务,而AutoGen则以对话驱动实现极简的多Agent协同。这些框架覆盖了从简单问答到项目开发的全场景需求,为开发者提供了高效构建自主AI Age

weixin_69359007的博客 1788

Halcon VariableInspect (变量检查拓展)安装指南

网址2;

T 964

CAD制图

CAD制图可以提高设计效率和准确性,并方便文档的存档和交流,是现代工程设计中不可或缺的一部分。·CAD三维开发是指使用计算机程序和工具来创建、编辑和操作三维模型、图形和设计的过程。它在工程、建筑、制造和游戏等领域广泛应用。CAD三维开发可能涉及到复杂的图形算法、性能优化、并行计算等方面的内容,因此需要深入学习和实践,以提高开发的效率和质量。

RZer的博客 1652

AI Agent开发框架对比:是否比手写代码更高效?

本文对比了手写代码与主流智能体开发框架(LangChain、QwenAgent、AgentScope)在智能体开发中的差异。从业务逻辑编排、大模型调用、工具调用、上下文记忆和多智能体协作等维度分析显示:手写代码灵活但开发维护成本高;框架提供了模块化流程、自动化工具调用等优势,显著提升开发效率和可维护性。其中,LangChain适合单体智能体系统,Qwen-Agent适合基于Qwen模型的快速构建,AgentScope则擅长多智能体协作场景。框架化开发降低了技术门槛,而手写代码适用于高度定制化需求。文章最后还

2401_84204207的博客 1010

Keil5保姆级安装指南:从破解到STM32开发环境配置(附常见错误解决方案)

本文提供Keil5从安装到STM32开发环境配置的完整指南,包含破解步骤、常见错误解决方案及多芯片支持配置。详细讲解环境预检、核心安装、许可证管理及高效开发环境设置,帮助开发者快速搭建嵌入式开发平台。特别针对安装和卸载过程中的关键问题提供专业解决方案。

weixin_30369041的博客 124

7大主流AI Agent开发框架全解析,看这篇就够了!

AI Agent开发框架综述:主流工具与核心特性 本文梳理了当前主流的AI Agent开发框架,包括LangGraph、AutoGen、CrewAI等7种解决方案。分析显示,各框架在架构设计上呈现差异化特点:LangGraph侧重有状态工作流管理,AutoGen专攻多智能体协作,CrewAI强调轻量化与高性能。特别值得注意的是,MetaGPT创新性地采用软件公司SOP模拟机制,实现复杂任务自动化。这些框架普遍具备持久化执行、人在回路、全维度记忆等核心功能,反映了AI Agent开发领域向模块化、可观测性、生

javatiange的博客 4106

一步到位解决Docker拉取镜像失败的问题!超详细的Docker代理设置教程!(使用代理解决群晖Docker获取注册表失败的问题)

一步到位解决Docker拉取镜像失败的问题!超详细的Docker代理设置教程!(使用代理解决群晖Docker获取注册表失败的问题)

XiaoqiangClub的博客 1万+

控制算法研发工程师(博士)职位深度解析与面试指南

摘要:广东万和新电气股份有限公司招聘控制算法研发工程师(博士),工作地点佛山顺德。职位要求2026届博士学历,电子信息工程或控制科学与工程专业。主要职责包括:1)燃气热水、热泵等系统的电控软件设计与优化;2)开发PID、模糊控制、ADRC、MPC等智能算法,应用于恒温控制、变频调节等场景。重点考察算法研发能力、系统稳定性优化及嵌入式实现经验。该职位提供三年资深工程师培养计划,需具备扎实的控制理论基础和工程实践能力,能够处理非线性系统、多工况自适应等复杂控制问题。

郑伟强dev的专栏 139

2026年AI编程工具排行榜:10款主流产品深度横评,谁才是真正的提效之王

三个月实测10款AI编程工具,从代码生成质量、Agent能力、过程可控性、性价比、IDE兼容性五个维度打分排名。文心快码以SPEC规范驱动+Multi-Agent矩阵在可控性上拉满,附完整对比表和选型建议。

weixin_42959937的博客 1768

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

2025主流大语言模型横评:合规、成本、开源,谁是企业最佳选择?

本文从企业最关注的六大维度出发,对全球主流大模型展开深度横评,为您的选型提供硬核参考。

DEVELOPERAA的博客 1741

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

几种AI Agent开发框架对比:相比手写代码是否更便捷?

通过以上对比来看,在日常智能体开发中,尤其是需要多轮对话、实现多工具调用和多智能体协作时,几种开发框架确实提供了极大的便利和扩展能力,大幅降低开发门槛和维护成本,而手写代码则适合高度定制化需求,灵活性最高。

h1453586413的博客 836

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

主流的 AI Agent 开发框架

​:模块化设计(Chain/Prompt/Tool/Memory),支持 200+ 工具集成(搜索、数据库、API)和多模型路由(OpenAI/Claude/本地模型)。​:端到端自主任务闭环(目标→规划→执行→反馈),内置长期记忆(向量数据库)和动态上下文管理。​:可视化控制台 + 插件市场(Notion/SQL 集成),支持任务监控和日志追踪。​:模拟公司角色分工(如产品经理、工程师),通过任务队列实现层级化协作。​:复现软件公司工作流(需求→设计→编码→测试),自动生成文档和代码。

thesky123456的博客 763

个人开发者终极指南:如何用Awesome Agent Skills提升10倍开发效率与项目质量

Awesome Agent Skills是一个精心整理的1000+智能体技能集合,专为个人开发者设计,能够显著提升开发效率和项目质量。这个开源项目汇集了来自Anthropic、Google、Microsoft、Stripe、Vercel等顶尖开发团队的官方技能,兼容Claude Code、Codex、Gemini CLI、Cursor等主流AI编程助手,帮助开发者快速构建高质量应用。 ## 🚀

gitblog_00407的博客 917

一文读懂 10 大主流大模型 Agent 构建框架:从特性到场景,新手入门必看

一文读懂 10 大主流大模型 Agent 构建框架:从特性到场景,新手入门必看

ytt0523_com的博客 1943

【Agent Orchestrator】LangGraph vs CrewAI vs OpenAI Agents SDK:2026 多 Agent 编排框架横评与选型指南

LangGraph :先想清楚「流程」,再让 Agent 跑。CrewAI :先想清楚「团队」,框架帮你协调。Agents SDK :先想清楚「边界」,Handoff 还是当工具。

求知若渴、虚心若愚 596

2026六款AI编程助手横评:效率优先,我最终只留下这两个

当AI编程助手从稀缺走向泛滥,开发者面临的不是选择困难,而是效率陷阱——装得越多,卡顿和上下文冲突反而拖慢交付。效率优先的核心并非补全速度,而是从需求到代码提交的完整链路时间,其中多文件重构能力与代码库理解深度成为分水岭。在真实TypeScript项目中,通过对补全准确率、上下文理解、智能体重构、工具链集成、资源占用与合规性六个维度的加权实测,六款主流工具表现出显著差异:AI IDE凭借常驻索引与Agent模式在跨文件任务上碾压传统插件,而轻量级插件则在资源控制与风格对齐上更胜一筹。最终一套“重活归AI I

weixin_33805992的博客 419

AG-UI协议:解决AI Agent与前端交互难题,开发效率提升10倍!

AG-UI协议是专为解决前端应用与AI Agent通信交互而设计的轻量级、事件驱动协议。它支持SSE、WebSocket等多种传输方式,提供16种标准事件,实现双向实时交互。AG-UI完善了AI协议栈,与LangGraph、CrewAI等框架兼容,无需绑定特定模型或框架,一套协议满足所有交互需求。通过提供TypeScript和Python SDK,AG-UI让开发者能够轻松在网页、APP或嵌入式设备中集成AI助手、客服和智能问答UI,大幅降低开发成本和复杂度。

Android23333的博客 1603

AI Agent 实战:让AI帮你搞定前端布局,效率提升10倍

传统前端能力手写CSS选择器记忆Flexbox/Grid属性手动调试浏览器兼容性编写重复的响应式代码AI时代新能力⭐布局描述能力:用自然语言准确描述想要的布局⭐设计审美:能判断AI生成的布局是否美观⭐性能意识:识别并优化AI生成的性能问题⭐架构思维:将AI生成的代码组织成可维护的系统💡核心理念:AI负责80%的重复劳动,你专注于20%的创造性工作——交互细节、品牌特色、用户体验。

528
上一篇: 多模态大模型瘦身终极指南(超详细),HoloV如何剪掉90%Token?看这篇就够了!
下一篇: (保姆级教程)语义端点检测入门:Phoenix-VAD从原理到实战,收藏这篇就够了!
Python_金钱豹
博客等级 码龄5年 1万+粉丝 2835原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值