news 2026/8/24 13:46:45

2026 Agent应用开发实战:从大模型集成到企业级项目落地

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
2026 Agent应用开发实战:从大模型集成到企业级项目落地

这次我们来看一个面向2026年的Agent应用开发实战教程。这套资源的核心不是空谈概念,而是提供从基础原理到企业级项目实战的完整路径,并配套了可直接落地的大模型学习资源。对于想从零开始掌握智能体开发,并希望将大模型能力集成到实际业务中的开发者来说,这是一个值得深入研究的体系化内容。

教程的重点在于“可落地”。它不仅仅讲解Agent的理论框架,更侧重于如何结合具体的大模型(无论是云端API还是本地部署的模型)来构建具备规划、工具调用、记忆等核心能力的智能应用。随着大模型使用成本的讨论日益增多,掌握一套能够灵活选择、高效部署和集成大模型的开发方法,变得尤为关键。

本文将带你梳理这套教程可能涵盖的核心内容,包括Agent开发的基础组件、与大模型协同的几种典型模式、本地大模型部署的轻量化方案,以及如何将这些技术点串联成一个可运行的企业级项目原型。无论你是关注成本,希望利用免费API或本地模型;还是追求性能,需要微调和优化特定任务,这里都能找到对应的实践思路。

1. 核心能力速览

能力项说明
教程定位Agent应用开发从入门到实战的全栈教程,配套项目代码与学习资源。
核心技术栈大模型(LLM)作为核心大脑,结合规划、工具使用、记忆、知识库(RAG)等模块。
大模型集成方式支持云端API(如OpenAI、国产大模型)和本地部署模型(如通过Ollama、vLLM)。
关键开发技能智能体框架使用(如LangChain、Semantic Kernel)、API调用、工作流编排、向量数据库集成。
实战项目类型可能包含智能客服、数据分析Agent、自动化流程助手、行业垂直应用等。
学习资源配套包含大模型学习路线、微调实战、本地部署指南、项目案例及资料。
硬件门槛依赖所选大模型。云端API无需本地GPU;本地部署需根据模型尺寸(如7B、13B)准备相应显存。
适合人群有一定Python基础的开发者、希望转型AI应用开发的工程师、寻求技术落地的产品经理。

2. 适用场景与使用边界

Agent应用开发的核心是让大模型具备“执行”能力,而不仅仅是“对话”。这套教程瞄准的是需要将AI能力转化为具体工作流或产品的场景。

典型适用场景包括:

  1. 自动化流程助手:自动处理邮件、生成报告、安排会议,连接企业内部系统(如CRM、ERP)。
  2. 智能客服与问答系统:基于企业知识库(RAG)的客服机器人,能准确回答专业问题,并执行查询、工单创建等操作。
  3. 数据分析与洞察Agent:用户用自然语言提出分析需求,Agent自动编写查询代码(SQL、Python)、执行并生成可视化图表和结论。
  4. 垂直行业应用:如教程提到的“农业大模型”应用,Agent可以集成传感器数据、气象模型和专家知识,提供灌溉、施肥的决策建议。
  5. 代码辅助与生成:超越基础补全,能够理解复杂需求,规划实现步骤,调用编译器、测试工具等完成一个小型开发任务。

使用边界与注意事项:

  • 大模型依赖:Agent的性能上限受限于其核心大模型的能力。需关注模型的推理准确性、幻觉问题以及长上下文处理能力。
  • 工具可靠性:Agent调用的外部工具(API、数据库、软件)必须稳定可靠,否则会引发连锁错误。
  • 安全与权限:Agent被授予了执行操作的权限,必须设计严格的权限控制和操作确认机制,防止越权或危险操作。
  • 成本控制:频繁调用云端大模型API或运行本地大模型都会产生计算成本,需要在效果和成本间取得平衡。
  • 合规与伦理:涉及用户数据、内容生成、自动化决策时,需遵守相关法律法规,确保透明和公平。

3. 环境准备与前置条件

开始Agent应用开发前,需要搭建一个灵活且可复现的开发环境。由于涉及大模型,环境配置比传统Web开发稍复杂。

基础软件环境:

  1. 操作系统:Windows 10/11, macOS 或 Linux(推荐Ubuntu)。教程若涉及国产信创(如麒麟OS),会有特定说明。
  2. Python环境:推荐使用Python 3.9或3.10。务必使用venvconda创建独立的虚拟环境,避免包冲突。
    # 创建虚拟环境 python -m venv agent-env # 激活环境 (Windows) agent-env\Scripts\activate # 激活环境 (Linux/macOS) source agent-env/bin/activate
  3. 版本管理:使用git进行代码版本控制。
  4. IDE/编辑器:VSCode、PyCharm等,安装Python和Jupyter插件。

大模型相关环境(二选一或混合):

  • 云端API路线:需要准备相应平台的API Key(如OpenAI、文心一言、通义千问等)。关注网络连通性。
  • 本地模型路线:需要根据模型大小准备硬件资源。
    • GPU(推荐):NVIDIA显卡,显存建议8GB以上,用于运行7B/13B参数模型。需安装CUDA和cuDNN。
    • CPU:可运行量化后的模型(如GGUF格式),但速度较慢,适合轻量级测试。
    • 部署工具:安装Ollama(简单易用)、vLLM(高性能推理)、或Transformers库。

开发框架与工具:

  • Agent框架LangChainLangGraphSemantic KernelAutoGen等。它们是构建Agent的脚手架。
  • 向量数据库:如需RAG能力,需安装ChromaDBMilvusQdrantWeaviate等。
  • 其他常用库requests(HTTP调用)、pydantic(数据验证)、logging(日志记录)、pytest(测试)。

4. Agent核心组件与开发框架选择

一个功能完整的Agent通常由多个核心组件协同工作。理解这些组件是开发的基础。

4.1 Agent的核心构成模块

  1. 大模型(LLM Core):Agent的“大脑”。负责理解用户指令、进行逻辑推理和生成决策。教程会教你如何封装不同来源(API/本地)的LLM调用。
  2. 规划器(Planner):将复杂目标分解为可执行的子任务序列。例如,用户说“分析上周销售数据并做一份PPT”,规划器会将其分解为:1. 获取数据 2. 分析趋势 3. 生成图表 4. 撰写文案 5. 调用PPT生成工具。
  3. 工具集(Tools):Agent的“手和脚”。是一组可供调用的函数或API,如搜索引擎、计算器、数据库查询、发送邮件、执行代码等。Agent需要知道在什么情况下调用哪个工具。
  4. 记忆(Memory):分为短期记忆(会话历史)和长期记忆(向量知识库)。短期记忆让Agent能在多轮对话中保持上下文连贯;长期记忆(通常通过RAG实现)让Agent能访问私有或领域知识。
  5. 执行器(Executor):负责调度规划器产生的任务,调用工具,处理工具返回的结果,并根据结果决定下一步行动(继续、重试或终止)。

4.2 主流开发框架对比

选择一款合适的框架能事半功倍。以下是常见框架的简单对比:

框架特点适合场景
LangChain生态最丰富,组件齐全,文档和社区活跃。学习曲线稍陡。快速构建包含RAG、复杂工具链的原型。研究、教育领域广泛应用。
Semantic Kernel微软出品,与.NET生态集成好,强调“技能(Skills)”和“规划(Planner)”。企业级应用,尤其是已有C#/ .NET技术栈的项目。
AutoGen由微软研究院开发,专注于多智能体对话与协作。需要多个Agent相互对话、辩论、协作完成复杂任务的场景。
自定义框架基于OpenAI Function CallingReAct模式自行构建。对控制力要求极高,或功能非常特定的轻量级应用。

对于初学者,从LangChain开始是一个稳妥的选择,因为其资源最多,遇到问题容易找到解决方案。本教程的后续示例也将主要基于LangChain思想进行阐述。

5. 大模型集成:云端API与本地部署实战

Agent的能力根基在于大模型。教程需要覆盖两种主流的集成方式。

5.1 云端API集成(快速启动)

这是最简单的方式,无需担心硬件和部署。以OpenAI API为例(其他国产大模型API类似):

# 安装OpenAI Python包 # pip install openai import os from langchain_openai import ChatOpenAI # 设置API Key(建议从环境变量读取) os.environ["OPENAI_API_KEY"] = "your-api-key-here" # 初始化LLM llm = ChatOpenAI( model="gpt-4o-mini", # 或 "gpt-4", "gpt-3.5-turbo" temperature=0.1, # 控制创造性,Agent任务通常需要较低随机性 streaming=True, # 支持流式输出 ) # 测试调用 response = llm.invoke("你好,请简单介绍下你自己。") print(response.content)

关键点:成本可控、模型最新、性能稳定,但依赖网络,且存在数据出境风险(使用国外API时)。

5.2 本地大模型部署(成本与隐私控制)

当数据敏感、网络不稳定或需要长期控制成本时,本地部署是必须的。教程应涵盖以下至少一种方案:

方案A:使用Ollama(最易用)Ollama简化了本地大模型的下载、运行和管理。

# 1. 安装Ollama (详见官网) # 2. 拉取并运行一个模型,例如Llama 3.2 7B ollama run llama3.2:7b # 运行后,模型服务通常在 http://localhost:11434
# 3. 在LangChain中集成 from langchain_community.llms import Ollama llm = Ollama(model="llama3.2:7b", base_url="http://localhost:11434") response = llm.invoke("为什么天空是蓝色的?") print(response)

优点:一键部署,支持多平台(包括ARM Mac),模型库丰富。缺点:对显存优化程度可能不如专用推理框架。

方案B:使用vLLM(高性能推理)vLLM以其高效的PagedAttention技术闻名,特别适合高吞吐量的推理场景。

# 1. 安装vLLM pip install vllm # 2. 启动服务(假设已下载好模型文件) python -m vllm.entrypoints.openai.api_server \ --model /path/to/your/model \ --served-model-name my-llm \ --host 0.0.0.0 \ --port 8000
# 3. 像使用OpenAI API一样调用 from openai import OpenAI client = OpenAI( api_key="token-abc123", # vLLM服务不需要真实token,任意非空字符串即可 base_url="http://localhost:8000/v1" ) response = client.chat.completions.create( model="my-llm", messages=[{"role": "user", "content": "Hello!"}] ) print(response.choices[0].message.content)

优点:推理速度快,显存利用率高,兼容OpenAI API协议。缺点:部署稍复杂,对硬件要求严格。

方案C:使用Transformers库(灵活性强)适合需要深度定制模型加载、推理流程的开发者。

from transformers import AutoTokenizer, AutoModelForCausalLM import torch model_name = "Qwen/Qwen2.5-7B-Instruct" tokenizer = AutoTokenizer.from_pretrained(model_name) model = AutoModelForCausalLM.from_pretrained( model_name, torch_dtype=torch.float16, # 半精度节省显存 device_map="auto" # 自动分配模型层到GPU/CPU ) inputs = tokenizer("法国的首都是哪里?", return_tensors="pt").to(model.device) outputs = model.generate(**inputs, max_new_tokens=50) print(tokenizer.decode(outputs[0], skip_special_tokens=True))

优点:完全控制,方便微调和实验。缺点:需要自行处理服务化、批处理等生产级需求。

6. 构建你的第一个智能体:任务规划与工具调用

我们以一个“天气预报查询Agent”为例,串联起核心组件。这个Agent能理解用户关于天气的查询,并调用外部API获取真实数据。

6.1 定义工具(Tool)

首先,我们需要一个能查询天气的工具。这里使用一个模拟的天气API函数。

import requests from langchain.tools import tool from pydantic import BaseModel, Field # 定义工具的输入参数模型 class WeatherInput(BaseModel): location: str = Field(description="城市名称,例如:北京、上海") @tool(args_schema=WeatherInput, return_direct=False) def get_weather(location: str) -> str: """根据城市名称查询实时天气情况。""" # 模拟API调用,真实场景替换为如和风天气、OpenWeatherMap的API # 这里返回模拟数据 weather_data = { "北京": "晴,15°C,西北风2级", "上海": "多云,18°C,东南风1级", "广州": "阵雨,22°C,南风3级", } return weather_data.get(location, f"抱歉,未找到{city}的天气信息。") # 将工具放入列表,供Agent使用 tools = [get_weather]

6.2 创建Agent执行器

使用LangChain的create_react_agent来构建一个基于ReAct模式的Agent。ReAct模式让Agent能够“思考(Reason)”和“行动(Act)”,通过一步步推理来解决问题。

from langchain import hub from langchain.agents import AgentExecutor, create_react_agent from langchain_openai import ChatOpenAI # 1. 初始化LLM(这里用云端API示例,可替换为5.2节的本地LLM) llm = ChatOpenAI(model="gpt-4o-mini", temperature=0) # 2. 获取ReAct提示词模板 prompt = hub.pull("hwchase17/react") # 3. 创建Agent agent = create_react_agent(llm, tools, prompt) # 4. 创建执行器 agent_executor = AgentExecutor( agent=agent, tools=tools, verbose=True, # 开启详细日志,能看到Agent的“思考”过程 handle_parsing_errors=True, # 处理解析错误 max_iterations=5, # 限制最大执行步数,防止死循环 )

6.3 运行与测试

现在,让我们来测试这个Agent。

# 测试查询 result = agent_executor.invoke({ "input": "请问北京和上海的天气怎么样?" }) print(result["output"])

verbose=True时,你会在控制台看到类似以下的输出,这正是Agent的思考链(Chain of Thought):

> Entering new AgentExecutor chain... 我需要查询北京和上海的天气。我应该一个一个来。首先查询北京的天气。 Action: get_weather Action Input: {"location": "北京"} Observation: 晴,15°C,西北风2级 现在查询上海的天气。 Action: get_weather Action Input: {"location": "上海"} Observation: 多云,18°C,东南风1级 我现在有了两个城市的天气信息,可以总结回答了。 Thought: 我有北京和上海的天气信息。 Final Answer: 北京的天气是:晴,15°C,西北风2级。上海的天气是:多云,18°C,东南风1级。 > Finished chain.

这个简单的例子演示了Agent如何理解复杂指令(查询两个城市)、规划行动(依次调用工具)、整合信息并给出最终答案。

7. 增强Agent能力:记忆(Memory)与知识库(RAG)

基础Agent是“健忘”的,每次对话都是独立的。为了让Agent更智能,我们需要赋予它记忆和知识。

7.1 添加会话记忆

LangChain提供了多种记忆后端。ConversationBufferMemory是最简单的一种,它会保存完整的对话历史。

from langchain.memory import ConversationBufferMemory memory = ConversationBufferMemory(memory_key="chat_history", return_messages=True) # 将memory注入到Agent执行器中 agent_executor_with_memory = AgentExecutor( agent=agent, tools=tools, memory=memory, verbose=True, max_iterations=5, ) # 进行多轮对话 result1 = agent_executor_with_memory.invoke({"input": "你好,我叫小明。"}) print(result1["output"]) # 可能回复:你好小明! result2 = agent_executor_with_memory.invoke({"input": "你还记得我的名字吗?"}) # 由于有记忆,Agent能回答:当然,你叫小明。 print(result2["output"])

7.2 集成知识库(RAG)

当Agent需要回答关于特定领域(如公司制度、产品手册)的问题时,需要RAG(检索增强生成)来提供精准知识。步骤简述:

  1. 文档加载与切分:将PDF、Word、TXT等文档加载并切分成语义片段(Chunks)。
  2. 向量化与存储:使用嵌入模型(Embedding Model)将文本片段转换为向量,存入向量数据库。
  3. 检索:当用户提问时,将问题也转换为向量,在数据库中检索最相关的文本片段。
  4. 生成:将检索到的片段作为上下文,连同问题一起发送给大模型,生成最终答案。
# 简化示例,展示核心流程 from langchain_community.document_loaders import TextLoader from langchain_text_splitters import RecursiveCharacterTextSplitter from langchain_openai import OpenAIEmbeddings # 也可用本地嵌入模型 from langchain_community.vectorstores import Chroma from langchain.chains import RetrievalQA # 1. 加载文档 loader = TextLoader("./company_handbook.txt") documents = loader.load() # 2. 分割文档 text_splitter = RecursiveCharacterTextSplitter(chunk_size=500, chunk_overlap=50) texts = text_splitter.split_documents(documents) # 3. 创建向量库 embeddings = OpenAIEmbeddings() vectorstore = Chroma.from_documents(texts, embeddings) # 4. 创建检索链 qa_chain = RetrievalQA.from_chain_type( llm=llm, chain_type="stuff", retriever=vectorstore.as_retriever() ) # 5. 提问 answer = qa_chain.invoke({"query": "公司的年假政策是怎样的?"}) print(answer["result"])

你可以将这个qa_chain封装成一个工具,让你的Agent在需要回答专业知识时,调用这个工具去查询知识库。

8. 企业级项目实战架构与设计思路

教程的终极目标是交付可落地的项目。一个企业级Agent应用通常包含以下层次:

  1. 用户接口层:Web界面(如Gradio、Streamlit)、聊天机器人(如钉钉/飞书/微信机器人)、API接口。
  2. Agent调度层:核心大脑。接收用户请求,管理会话状态,协调规划器、工具、记忆、知识库等组件工作。可以考虑使用LangGraph来构建有状态、可循环的工作流。
  3. 工具服务层:将企业内部系统(OA、CRM、数据库)的能力封装成统一的API,供Agent调用。这是Agent能否“落地”的关键。
  4. 数据与知识层:向量数据库(存储知识)、传统数据库(存储业务数据)、对象存储(存储文件)。
  5. 大模型服务层:提供统一的LLM调用接口,背后可以灵活切换云端API或本地模型,实现降级和成本优化。

一个实战项目示例:智能数据分析助手

  • 目标:用户用自然语言描述分析需求,Agent自动完成数据查询、处理和可视化。
  • 工具集
    • query_database_tool: 根据生成的SQL查询数据库。
    • run_python_analysis_tool: 在安全沙箱中执行Python数据分析代码(如Pandas)。
    • generate_chart_tool: 调用图表库(如Matplotlib、Plotly)生成图片。
    • send_email_tool: 将分析报告通过邮件发送。
  • 工作流程
    1. 用户输入:“帮我分析上个月销售额最高的前五个产品,并生成一个柱状图发到我邮箱。”
    2. Agent规划:a. 生成SQL查询销售额数据。b. 用Python排序取前五。c. 用Matplotlib画图。d. 组装报告并发送邮件。
    3. Agent依次调用工具执行,并将每个工具的输出作为下一步的输入。
    4. 最终给用户反馈:“已分析完成,报告图表已发送至您的邮箱。”

9. 性能优化、监控与问题排查

开发完成后,确保Agent的稳定性和效率至关重要。

9.1 性能优化

  • LLM调用优化
    • 缓存:对相同或相似的LLM请求结果进行缓存,减少重复调用和成本。
    • 批处理:对于可并行的多个独立任务,合并成一个批处理请求发送给LLM。
    • 精简上下文:在发送给LLM的提示词中,只保留最相关的会话历史和检索结果,避免不必要的token消耗。
  • 工具调用优化
    • 异步调用:如果工具是I/O密集型(如网络请求),使用异步模式避免阻塞。
    • 超时与重试:为工具调用设置合理的超时时间,并实现重试机制。
  • RAG优化
    • 检索策略:尝试不同的检索器(如MMR用于多样性),调整检索返回的数量(k值)。
    • 重排序(Re-ranking):使用更精细的模型对检索结果进行重排序,提升上下文质量。

9.2 监控与日志

  • 关键指标
    • 延迟:用户请求到获得最终响应的总时间。
    • Token消耗:每次对话消耗的输入/输出token数,是成本主要来源。
    • 工具调用成功率:工具调用失败的比例。
    • 用户满意度:通过简单的是/否反馈或评分来收集。
  • 结构化日志:记录每个请求的完整链式调用(Chain Trace),包括LLM的输入输出、工具调用参数和结果。这对于调试复杂问题不可或缺。

9.3 常见问题排查

问题现象可能原因排查方式解决方案
Agent陷入循环,不停调用工具规划逻辑有误,或工具返回结果未能满足终止条件。检查verbose日志,看Agent的“Thought”是否陷入重复模式。设置max_iterations限制;优化提示词,明确任务完成条件;改进工具设计,使其返回更明确的状态。
LLM响应慢或超时网络问题、模型负载高、提示词过长导致处理慢。检查网络连通性;监控LLM服务提供商状态;计算提示词token数。增加超时时间;优化提示词,减少冗余;考虑切换模型或服务商。
工具调用失败API接口变更、权限不足、参数格式错误、网络异常。查看工具调用返回的错误信息;单独测试工具函数。更新工具适配层;检查API Key和权限;增加错误处理和重试机制。
RAG回答不准确检索到的文档不相关,或LLM未能正确理解上下文。检查检索环节:输入问题向量与文档向量相似度是否低。优化文档切分策略(chunk size/overlap);尝试不同的嵌入模型;在提示词中强调“严格依据上下文回答”。
显存不足(本地模型)模型太大,或并发请求过多。使用nvidia-smi命令监控显存使用情况。使用量化模型(如GPTQ、GGUF格式);降低并发数;使用vLLM等高效推理框架;升级硬件。

10. 部署上线与持续迭代

将Agent从开发环境推向生产,需要考虑更多工程化因素。

  1. 服务化:使用FastAPI、Flask等框架将Agent封装成HTTP API服务。这便于前端或其他系统集成。
    from fastapi import FastAPI from pydantic import BaseModel app = FastAPI() # 假设agent_executor已在别处初始化 # from my_agent import agent_executor class QueryRequest(BaseModel): question: str session_id: str = None @app.post("/chat") async def chat(request: QueryRequest): result = agent_executor.invoke({"input": request.question}) return {"answer": result["output"]}
  2. 容器化:使用Docker将应用及其所有依赖(Python环境、模型文件等)打包。这保证了环境一致性,便于在云服务器或Kubernetes集群上部署。
  3. 配置管理:将API Key、模型路径、数据库连接等敏感信息通过环境变量或配置中心管理,不要硬编码在代码中。
  4. 版本控制:对Agent的提示词、工具集、工作流进行版本管理。任何改动都可能显著影响Agent行为,需要能快速回滚。
  5. 持续迭代:基于监控数据和用户反馈,持续优化Agent。这可能包括:
    • 提示词工程:微调提示词以获得更稳定、更符合预期的输出。
    • 工具增强:增加新的工具,或优化现有工具的可靠性和效率。
    • 模型微调:如果领域性极强,考虑用业务数据对基础大模型进行轻量级微调(LoRA),以提升特定任务的表现。

这套“2026 Agent应用开发”教程的价值,在于它提供了一条从理论认知到项目上线的完整闭环路径。它让你不仅知道Agent是什么,更清楚如何选择技术栈、如何集成大模型、如何设计工作流、如何解决实际工程问题。真正的挑战和乐趣,始于你动手将第一个简单的天气查询Agent,逐步升级为一个能理解业务、调用系统、创造价值的智能伙伴。建议从一个小而具体的场景开始,快速搭建原型,然后沿着教程提供的路线图,不断迭代和扩展。

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

学 C 语言数组别再混淆:下标、初始化、二维行优先存储详解

数组概述为什么需要数组?用一块连续的内存空间,一次性管理多个相同类型的数据。什么是数组定义:数组是相同类型,有序数据的集合。数组的特征数组中的每个数据称为 元素(也就是匿名的变量空间),所…

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

2026/08/16 AI学习笔记

一 . Ollama学习笔记1. ollama概述Ollama 可以理解成“本地版的 OpenAI API”,可以直接调用,不需要通过互联网。没有部署的:你的电脑│▼ Spring AI│▼ 互联网│▼ DeepSeek / OpenAI / 豆包│▼ 返回结果部署ollama的:你的电脑│▼ Spring AI│▼ Olla…

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

双脉冲开关测试中考虑电路寄生影响的波形分析

参考文献:Performance Comparison of Standalone 4H-SiC JFETs and Cascode Devices at Cryogenic Temperature 在双脉冲测试中,器件开关波形受到功率回路寄生电感、续流二极管结电容、器件非线性结电容、封装键合线和内部栅极网络的共同影响。开通过程中…

作者头像 李华
网站建设 2026/8/24 13:45:38

鱼眼相机标定核心参数解析,可定制开发各种视觉测量算法

鱼眼相机标定旨在确定其独特的内部参数和畸变模型,以校正图像并实现精确的几何测量。其核心在于使用更复杂的模型来描述大视场角镜头引入的严重径向畸变。 一、鱼眼相机模型与标定参数 鱼眼相机模型通常使用等距投影模型,其标定参数与普通透视相机有显…

作者头像 李华
网站建设 2026/8/24 13:43:08

如何向 AI 清楚描述一个编程需求

文章目录一、为什么“帮我写代码”通常不够清楚二、描述需求的第一个要素:背景背景通常包含什么为什么背景很重要背景不要写得过多三、描述需求的第二个要素:目标不够具体的目标更清楚的目标目标最好包含“做什么”和“不做什么”四、描述需求的第三个要…

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

Arteris session 1 — NoC Concept and Architecture- 总结

引言 随着现代片上系统(SoC)的复杂度不断提升,传统的总线互连架构在带宽、延迟和可扩展性方面面临严峻挑战。片上网络(Network on Chip, NoC)作为一种分布式、可扩展的互连解决方案,已成为高性能SoC设计的核心。本文基于Arteris的培训资料,系统梳理NoC的核心概念、架构…

作者头像 李华