news 2026/8/24 2:50:37

AI Agent实战开发:16个项目从入门到就业,掌握LangChain与多智能体协作

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
AI Agent实战开发:16个项目从入门到就业,掌握LangChain与多智能体协作

这次我们来看一个面向2026年的AI Agent实战项目合集。这个合集的核心不是空谈概念,而是直接提供16个从入门到进阶的实战项目,目标明确:通过动手实践,掌握AI Agent开发的核心技能,达到可就业的水平。对于想进入AI Agent领域,但苦于没有系统学习路径和真实项目经验的开发者来说,这份资源的价值在于它的“可执行性”。

AI Agent(智能体)是当前AI应用开发的热点,它让大语言模型(LLM)具备了感知、规划、决策和行动的能力,能够自主或半自主地完成复杂任务。然而,从理解概念到真正能开发出一个可用的Agent,中间隔着巨大的实践鸿沟。这个项目合集正是为了填补这个鸿沟,它筛选并整合了当前社区中具有代表性的实战案例,覆盖了从简单的工具调用到复杂的多智能体协作等多个维度。

本文将带你快速了解这16个项目的核心价值,分析它们分别锻炼了哪些关键能力,并为你梳理出一条清晰的学习与实践路径。无论你是刚接触Agent概念的新手,还是有一定基础想深化技能的开发者,都能从中找到适合自己的起点和进阶方向。我们会重点关注每个项目的技术栈、解决的问题、以及学完后能达到的就业市场所需的何种能力。

1. 核心能力速览:16个项目的全景地图

这16个项目并非随意堆砌,而是按照难度和技能维度精心编排的。下表为你快速梳理了它们的核心定位与关键技术点,你可以根据自身情况选择切入的起点。

项目类别项目数量核心锻炼能力典型技术栈目标产出
入门基础3-4个Agent基础概念、工具调用、简单任务规划LangChain, LlamaIndex, OpenAI API能完成单一目标的任务自动化,如信息查询、文档总结。
中级应用6-8个记忆管理、复杂流程编排、多工具协同、外部API集成LangGraph, AutoGen, CrewAI能构建处理多步骤复杂任务的Agent,如数据分析助手、自动化客服。
高级系统4-5个多智能体协作、长期记忆与反思、安全与验证、领域定制化自定义Agent框架、向量数据库、强化学习能设计并实现一个接近产品级的智能系统,如交易Agent、研发协作平台。
前沿探索1-2个具身智能、代码生成Agent、与新型硬件/平台交互ROS, Web浏览器自动化、CLI工具了解Agent技术的前沿应用场景和实现思路。

关键特点总结:

  1. 路径清晰:从“Hello World”级别的工具调用,到构建具备商业价值的智能系统,难度阶梯明显。
  2. 技术栈主流:深度覆盖LangChain、LangGraph、AutoGen、CrewAI等当前工业界和社区最流行的Agent开发框架。
  3. 场景驱动:每个项目都解决一个具体的实际问题,如自动交易、代码审查、智能客服、研究助手等,避免纯理论空转。
  4. 就业导向:完成中高级项目后,你将具备解决企业级Agent需求的能力,这正是当前市场急缺的。

2. 适用场景与使用边界

2.1 谁适合学习这个项目合集?

  • AI应用开发者:希望将大模型能力转化为可交互、可执行产品的工程师。
  • 全栈/后端工程师:寻求技术转型,希望切入AI赛道,掌握Agent这一核心落地形态。
  • 学生与研究者:需要通过实践项目来深化对Agent理论(如ReAct、CoT、ToT)的理解。
  • 产品经理与技术负责人:希望通过动手实践,更准确地评估Agent技术的可行性与边界,为产品设计和技术选型提供依据。

2.2 能解决什么问题?

  1. 技能断层:提供一条从零到一的实践路径,让你知道“Agent开发”具体要写什么代码。
  2. 项目经验空白:提供可直接复现、甚至能写入简历的完整项目案例,覆盖多种业务场景。
  3. 技术选型困惑:通过对比不同框架(如LangChain vs AutoGen)在具体项目中的实现,帮你理解各自的优劣和适用场景。
  4. 工程化思维缺失:高级项目会涉及Agent的记忆、安全、效率、监控等工程化问题,而不仅仅是原型验证。

2.3 不适合什么场景?

  • 纯理论研究:本合集侧重工程实现,对于Agent背后的强化学习、博弈论等深度理论涉及较少。
  • 追求“一键生成”:这些项目需要你阅读代码、配置环境、理解逻辑并可能进行调试,是一个主动学习的过程。
  • 替代系统学习:它是最好的实践补充,但不能替代对Python编程、API设计、软件工程等基础知识的系统学习。

2.4 合规与安全边界

在开发和使用Agent时,必须时刻警惕以下边界:

  • 数据安全与隐私:Agent通常会处理用户输入、访问外部API或内部数据库。必须确保数据传输加密、敏感信息脱敏,并遵守相关数据保护法规(如GDPR)。
  • 操作权限管控:赋予Agent的工具(如发送邮件、执行命令、操作数据库)必须有严格的权限控制和操作确认机制,防止越权或恶意操作。
  • 内容安全与审核:对于生成内容的Agent,必须建立审核机制,防止生成违法、违规或有害信息。
  • 依赖服务合规:确保所使用的LLM API(如OpenAI、国内大模型)符合公司政策与地区法律法规。
  • 明确责任归属:Agent的决策和行动应由最终用户或部署方负责,需在设计中考虑人工复核和干预节点。

3. 环境准备与前置条件

在开始跑任何一个项目之前,你需要一个稳定、干净的开发环境。以下是通用要求,具体项目可能有额外依赖。

3.1 硬件与操作系统

  • 操作系统:推荐Linux (Ubuntu 20.04/22.04)macOS,对AI开发环境支持最友好。Windows 10/11 也可行,但可能在某些依赖安装上遇到更多问题,建议使用WSL2。
  • CPU:现代多核处理器即可。
  • 内存建议16GB及以上。运行本地大模型或处理复杂任务时,内存占用会显著上升。
  • GPU(可选但推荐):如果项目涉及运行本地开源模型(如Llama、Qwen),一块具有足够显存的NVIDIA GPU将极大提升体验。入门级(如RTX 3060 12G)即可进行大部分实验
  • 存储:预留至少50GB空间用于安装Python环境、依赖包和可能的模型文件。

3.2 软件基础环境

  1. Python版本 3.9 或 3.10是最兼容的选择。避免使用3.11以上的最新版本,某些库可能尚未适配。使用pyenvconda管理多版本Python环境是最佳实践
  2. 版本控制:安装Git,用于克隆项目代码和进行版本管理。
  3. 包管理工具pip是必须的。强烈建议使用虚拟环境venvconda)为每个项目或同类项目创建独立环境,避免依赖冲突。
    # 使用 venv 创建虚拟环境示例 python -m venv agent_workspace source agent_workspace/bin/activate # Linux/macOS # agent_workspace\Scripts\activate # Windows
  4. CUDA & cuDNN(仅GPU用户):如果你使用NVIDIA GPU运行本地模型,需要安装与你的显卡驱动匹配的CUDA工具包(如CUDA 11.8或12.1)及cuDNN。

3.3 核心账户与API密钥

大多数项目会依赖外部服务,请提前准备:

  • OpenAI API Key:或 Anthropic、Google Gemini 等替代品的API Key。这是调用云端大模型能力的通行证。
  • SerpAPI / Tavily API Key:用于让Agent进行网络搜索,这是很多项目的基础工具。
  • 数据库:某些项目可能需要连接 PostgreSQL、MySQL 或 Chroma / Pinecone 等向量数据库,请提前安装或申请服务。
  • 其他服务:如发送邮件的SMTP配置、访问特定平台(如Twitter、GitHub)的API Token等,根据具体项目准备。

4. 从入门到进阶:项目实战路径拆解

下面我们将这16个项目归类,并选取代表性案例说明其学习目标和实践要点。

4.1 入门级:理解Agent的基本工作流

目标:掌握Agent如何接收指令、调用工具、返回结果。

  • 项目示例1:天气查询助手

    • 核心技能:使用LangChain定义工具(调用天气API),创建Agent,解析用户自然语言请求(如“北京天气怎么样?”)。
    • 技术栈:LangChain (initialize_agent,Tool),requests库。
    • 关键代码片段
      from langchain.agents import initialize_agent, Tool from langchain.llms import OpenAI # 1. 定义工具函数 def get_weather(city: str) -> str: # 调用天气API return f"{city}的天气是..." # 2. 创建工具列表 tools = [Tool(name="Weather", func=get_weather, description="查询城市天气")] # 3. 初始化Agent llm = OpenAI(temperature=0) agent = initialize_agent(tools, llm, agent="zero-shot-react-description", verbose=True) # 4. 运行 result = agent.run("上海今天适合穿短袖吗?") print(result)
    • 验证点:Agent能否正确理解问题中的城市实体,并调用正确的工具返回天气信息。
  • 项目示例2:本地文档问答机器人

    • 核心技能:文档加载、文本分割、向量化存储、检索增强生成(RAG)。
    • 技术栈:LangChain (DocumentLoader,TextSplitter,Chroma), 嵌入模型(OpenAI或开源如bge-small)。
    • 学习收获:理解Agent如何利用外部知识库(非参数化记忆)来回答超出其训练数据范围的问题。

4.2 进阶级:构建复杂任务执行者

目标:让Agent能处理需要多步骤决策、状态管理和工具链协作的任务。

  • 项目示例3:自动化数据分析报告生成

    • 核心技能:任务分解、顺序执行、中间结果传递。
    • 技术栈LangGraphCrewAI。这些框架擅长描述有状态的工作流。
    • 工作流设计
      1. 规划节点:分析用户请求(如“分析上个月销售数据趋势”),拆解为子任务:获取数据、清洗、计算统计量、生成图表、撰写总结。
      2. 执行节点:每个子任务由一个特定的“工具节点”或“Agent节点”完成。
      3. 状态管理:工作流状态(State)随着执行在各个节点间流转,包含原始数据、中间结果、最终报告。
    • 关键挑战:如何设计清晰的状态结构,以及处理节点执行失败时的异常流程。
  • 项目示例4:多智能体协作客服系统

    • 核心技能:角色分工、智能体间通信、竞争与协作。
    • 技术栈AutoGen。它专为多智能体对话而设计。
    • 架构设计
      • 用户代理:代表用户,提出需求。
      • 客服专员:负责通用问题解答和流程引导。
      • 技术专家:当问题涉及技术细节时被客服专员@,提供专业解答。
      • 审核员:在生成最终答复前,检查内容的准确性和合规性。
    • 学习收获:体验如何通过定义不同Agent的system_message和行为模式,来模拟一个组织内的协作流程。

4.3 高级/专家级:实现生产级智能系统

目标:解决记忆、安全、效率、可观测性等工程化问题,让Agent系统可靠、可用。

  • 项目示例5:具备长期记忆与反思能力的个人助手

    • 核心技能:向量数据库存储记忆、记忆检索、基于会话历史的反思与总结。
    • 技术栈:LangChain +ConversationSummaryMemory/VectorStoreRetrieverMemory+ Chroma。
    • 实现要点
      • 记忆存储:将每轮对话的摘要或关键信息存入向量数据库。
      • 记忆检索:根据当前用户问题,从历史记忆中检索最相关的片段,作为上下文提供给LLM。
      • 反思机制:定期(如每10轮对话)触发一个“反思Agent”,总结近期对话主题、用户偏好,并更新长期用户画像。
    • 价值:使助手能进行连贯的、个性化的长程对话,而不是“金鱼记忆”。
  • 项目示例6:安全可控的自动化交易Agent

    • 核心技能:动作验证、风险控制、实时监控、熔断机制。
    • 技术栈:自定义Agent框架 + 风控规则引擎 + 监控告警(如Prometheus, Grafana)。
    • 安全设计
      1. 动作白名单:Agent只能执行预先严格定义和审核过的交易指令(工具)。
      2. 双层验证:任何交易动作生成后,先由一个独立的“风控Agent”根据市场波动、仓位、止损线等规则进行模拟验证,通过后才真正执行。
      3. 人工复核节点:对于大额或高风险操作,设置强制人工审批环节。
      4. 心跳与熔断:监控Agent的运行状态,一旦异常或超过预设风险阈值,立即停止所有自动化操作。
    • 学习收获:这是将Agent从“玩具”升级为“工具”的关键,深刻理解在关键领域应用AI时的责任与谨慎。

5. 核心框架对比与选型建议

在实战中,你会频繁接触到几个主流框架。了解它们的差异,能帮助你为不同项目选择最合适的工具。

框架核心范式优点缺点适用场景
LangChain链式调用 (Chains)生态最丰富,组件最多,文档齐全,社区活跃。对于复杂、有状态的工作流,代码可能变得冗长。快速原型验证,构建基于RAG的问答、简单的多步骤任务。
LangGraph有向图 (State Graphs)清晰描述复杂、有环、有状态的工作流。状态管理强大。学习曲线比LangChain基础部分陡峭。需要精确控制执行流程的多步骤任务,如审批流、复杂数据分析流水线。
AutoGen多智能体对话多Agent对话编程模型非常直观,内置了高效的对话优化。对单个复杂Agent的内部规划控制不如LangGraph精细。模拟团队协作、辩论、评审等社交交互场景的Agent系统。
CrewAI角色化协作基于“角色-任务-工具”的抽象更贴近业务,设计体验好。相对较新,生态和灵活性可能不如前两者。构建具有明确角色分工的协作型AI团队,如市场分析团队、研发团队。

选型建议

  • 新手入门:从LangChain开始,它提供了最全面的学习素材和社区支持。
  • 复杂工作流:当你的任务步骤多、有分支循环时,切换到LangGraph
  • 多Agent社交:当你需要多个Agent通过对话来协作或竞争时,选择AutoGen
  • 业务团队模拟:如果你想快速搭建一个角色清晰的AI团队,CrewAI可能更高效。

6. 功能测试与效果验证方法论

跑通代码只是第一步,更重要的是验证你的Agent是否“智能”且“可靠”。以下是一套通用的测试验证流程。

6.1 基础功能测试

  • 测试目标:确认Agent能正确理解指令并调用工具。
  • 方法
    1. 设计一组覆盖核心工具的测试用例(输入-期望输出)。
    2. 运行Agent,检查其思考过程(打开verbose=True)和最终输出。
    3. 验证工具是否被以正确的参数调用。
  • 示例:对于天气助手,测试“纽约天气”应调用get_weather(“New York”),而不是get_weather(“纽约”)(除非你的工具支持中文城市名)。

6.2 复杂任务分解测试

  • 测试目标:验证Agent能否将复杂问题合理拆解为子任务并顺序执行。
  • 方法
    1. 给定一个复杂请求(如“帮我写一份关于AI安全的行业报告,并列出Top5公司”)。
    2. 观察Agent的规划步骤(在LangGraph或CrewAI中可清晰看到)。
    3. 检查中间结果是否被正确传递,并用于后续步骤。
  • 关键指标:任务分解的合理性、子任务之间的数据依赖是否被满足。

6.3 长上下文与记忆测试

  • 测试目标:验证Agent的长期记忆能力。
  • 方法
    1. 在对话中早期提供一条关键信息(如“我的名字是Alex,我喜欢蓝色”)。
    2. 进行多轮无关对话以干扰。
    3. 在后续对话中询问相关信息(如“还记得我喜欢什么颜色吗?”)。
  • 成功标准:Agent能准确回忆起早期信息。这需要测试向量检索的准确性和记忆摘要的有效性。

6.4 异常处理与鲁棒性测试

  • 测试目标:确保Agent在遇到问题时不会崩溃,并能得体处理。
  • 测试用例
    • 工具失败:模拟调用的外部API返回错误或超时。
    • 模糊指令:输入含义不明确或无法完成的指令(如“预测明天彩票号码”)。
    • 对抗性输入:输入带有误导性或试图让Agent执行危险操作的指令。
  • 期望行为:Agent应能捕获异常,向用户报告友好错误,或拒绝执行危险操作。

7. 部署与集成:从脚本到服务

完成开发测试后,你需要考虑如何让Agent持续运行并被其他系统调用。

7.1 封装为API服务

这是最常见的集成方式。使用FastAPI将你的Agent逻辑包装成HTTP接口。

from fastapi import FastAPI, HTTPException from pydantic import BaseModel from your_agent_module import create_agent_executor # 你的Agent核心逻辑 app = FastAPI(title="AI Agent Service") class AgentRequest(BaseModel): query: str session_id: str = None # 用于区分不同会话 class AgentResponse(BaseModel): result: str session_id: str @app.post("/chat", response_model=AgentResponse) async def chat_with_agent(request: AgentRequest): try: # 根据session_id获取或创建对应的Agent执行器(包含记忆) agent_executor = get_agent_for_session(request.session_id) # 运行Agent result = await agent_executor.arun(input=request.query) return AgentResponse(result=result, session_id=request.session_id) except Exception as e: raise HTTPException(status_code=500, detail=f"Agent execution failed: {str(e)}") # 启动命令:uvicorn main:app --host 0.0.0.0 --port 8000 --reload

7.2 批量任务处理

对于需要处理大量独立任务的场景(如批量分析文档),可以将Agent与任务队列结合。

  • 架构:使用Celery+Redis/RabbitMQ
  • 工作流
    1. 用户提交一批任务到队列。
    2. Celery Worker(运行着Agent环境)从队列取出任务。
    3. Worker调用Agent处理任务,并将结果写入数据库或存储。
    4. 提供另一个API接口供用户查询任务状态和结果。
  • 优势:异步、解耦、可扩展、支持重试。

7.3 前端集成

为你的Agent添加一个简单的聊天界面,方便演示和内部使用。

  • 轻量级方案:使用GradioStreamlit,几行代码就能生成一个Web UI。
  • 生产级方案:使用前端框架(如React/Vue)开发独立应用,通过调用上述的Agent API服务进行交互。

8. 常见问题与排查方法

在实践过程中,你一定会遇到各种问题。下表列出了典型问题及解决思路。

问题现象可能原因排查方式解决方案
Agent陷入循环,不停调用同一个工具1. ReAct提示词设计有缺陷。
2. LLM温度(temperature)过低,缺乏随机性。
3. 工具描述不清晰。
打开verbose=True,观察Agent的思考链(Thought)。看它是否在重复相似的推理。1. 优化system_prompt,明确指示“避免重复”。
2. 适当调高temperature(如0.2)。
3. 重写工具描述,使其功能边界更清晰。
显存/内存溢出(OOM)1. 加载的本地模型过大。
2. 上下文过长,未做截断。
3. 批量处理数据量太大。
使用nvidia-smihtop监控资源使用情况。1. 换用量化模型(如GPTQ, GGUF格式)。
2. 对长文本进行分段处理或摘要。
3. 减少批量大小(batch_size)。
API调用超时或失败1. 网络问题。
2. API密钥无效或额度不足。
3. 请求频率超限。
检查网络连接,在代码中加入重试和异常捕获逻辑,打印错误信息。1. 实现指数退避重试机制。
2. 检查并更新API密钥。
3. 增加请求间隔,遵守API速率限制。
Agent无法正确选择工具1. 工具描述(description)不够准确。
2. LLM能力不足,无法理解任务。
3. 可用工具太多,造成混淆。
测试时提供简单的、单一工具的指令,看是否能正确触发。1. 用更精准的语言重写工具描述,包含关键词和示例。
2. 尝试更强大的LLM(如GPT-4)。
3. 对工具进行分组或分层,采用“规划-分发-执行”的多层Agent结构。
多Agent协作时通信混乱1. Agent角色定义(system_message)不清晰。
2. 对话历史管理不当,导致上下文污染。
打印出每个Agent接收到的完整消息历史。1. 为每个Agent撰写明确、互斥的角色定义和职责范围。
2. 定期清空或总结对话历史,或使用独立的记忆管理。
向量检索返回无关内容1. 文本分割策略不合理(块太大或太小)。
2. 嵌入模型不适合该领域。
3. 检索时相似度阈值设置不当。
检查被检索到的文本块,看是否与问题相关。1. 调整文本分割器(chunk size, overlap)。
2. 尝试领域专用的嵌入模型或微调。
3. 设置相似度分数阈值,过滤低分结果。

9. 最佳实践与就业能力提升建议

完成这些项目后,如何将它们转化为真正的就业竞争力?以下是几点关键建议。

  1. 深度优先于广度:不要满足于“跑通”所有16个项目。选择2-3个与你目标岗位最相关的项目进行深度改造。例如,将“数据分析报告Agent”扩展成能连接你公司真实数据源、并生成符合业务需求报表的系统。
  2. 构建作品集:将你最得意的1-2个Agent项目部署到云端(如Heroku, Railway, 或国内的云服务器),并提供一个可公开访问的演示界面(用Gradio即可)。在简历中附上项目链接和GitHub仓库地址。
  3. 理解底层原理:在会用框架之后,尝试阅读LangChain或AutoGen的部分核心源码,理解AgentExecutorToolMemory等组件是如何实现的。面试中能谈框架的优缺点和设计思想,是巨大的加分项。
  4. 关注工程化与运维:思考如何监控Agent的性能(延迟、准确率)、如何记录它的决策日志用于分析和审计、如何做版本管理和回滚。这些是企业在生产环境中真正关心的问题。
  5. 结合业务场景:AI Agent的价值在于解决实际问题。尝试将项目与一个具体的业务场景结合,比如:
    • 电商:售后自动处理Agent(识别问题、检索订单、生成解决方案)。
    • 金融:智能投研助手(爬取研报、提取观点、生成摘要对比)。
    • 编程:代码审查Agent(结合静态分析、代码风格检查、安全漏洞扫描)。
  6. 保持学习与迭代:Agent技术迭代极快。关注LangChain博客、相关论文(如ReAct, ToT, SwiftSage)和开源社区的新项目(如DSPy, Microsoft Autogen Studio)。保持你的知识库更新。

这16个实战项目是一个强大的起点和工具箱。它们为你铺平了从理论到实践的道路,但最终能走多远,取决于你如何运用这些工具去解决真实世界的问题。现在,选择一个最感兴趣的项目,搭建环境,开始你的第一个Agent吧。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/24 2:50:24

基于4D Gaussian Splatting的单目视频数字人重建:从原理到工程实践

在计算机视觉和图形学领域,从单目视频中重建动态、可驱动的人体模型一直是一个核心挑战。传统方法往往受限于固定的拓扑结构、复杂的多视角采集设备或难以处理复杂动作与衣物的动态变化。4DAnyone 的出现,正是为了解决“如何仅凭一段普通的单目视频&…

作者头像 李华
网站建设 2026/8/24 2:49:34

SSM框架下火车票系统设计:从CRUD到业务状态与并发控制

上周帮一个学弟看他的毕业设计,他选的是“火车票在线预订与退改签管理系统”,用的是经典的SSM框架。他拿着初步的代码问我:“哥,我这个功能都实现了,增删改查都有,但总觉得哪里不对,看起来不像一…

作者头像 李华
网站建设 2026/8/24 2:49:27

Python+Selenium实现招聘信息智能采集与分析系统

1. 项目背景与核心价值在当前的就业市场环境下,招聘信息的实时采集与分析对于求职者、企业HR以及人力资源研究机构都具有重要意义。传统的招聘信息收集方式效率低下,难以满足大数据时代对海量信息快速处理的需求。这个基于PythonSelenium的智能采集系统正…

作者头像 李华
网站建设 2026/8/24 2:48:40

法律专用大模型技术解析:从后训练到应用评估

Harvey 最近发布了名为 Tenet 的法律专用后训练模型,这标志着法律科技领域在利用大语言模型进行专业任务处理方面迈出了新的一步。对于法律从业者、法律科技开发者以及关注 AI 在垂直领域应用的技术人员来说,理解什么是后训练模型、它如何针对法律场景进…

作者头像 李华
网站建设 2026/8/24 2:48:20

自定义数据集微调实战:从数据处理到模型评估的完整指南

1. 先搞清楚“自定义数据集微调”到底要解决什么问题如果你正在看这篇文章,大概率是已经跑通了Hugging Face上的一些示例代码,或者用pipeline快速体验了文本分类、命名实体识别。但当你把自己的业务数据——比如公司内部的工单记录、特定领域的专业文档、…

作者头像 李华
网站建设 2026/8/24 2:48:03

SAP LFB1屏幕增强实战:隐式增强与自建表方案详解

1. 项目概述:为什么要在LFB1上动“手术”?在SAP的日常运维和项目实施中,业务伙伴(Business Partner,简称BP)主数据的维护是财务、销售、采购等多个模块的基石。其中,公司代码视图(LF…

作者头像 李华