news 2026/10/19 3:37:03

Linux命令行查看硬件信息:CPU、内存、磁盘、PCI设备详解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Linux命令行查看硬件信息:CPU、内存、磁盘、PCI设备详解

\t## 1. 内容整体设计与思路拆解

1.1 为什么需要用命令行查硬件信息

在Linux下查硬件信息这件事,很多人第一反应是装一个系统监控工具或者图形化的“系统信息”面板。但真正到了排查问题、配置驱动、规划升级的时候,图形工具往往会漏掉关键字段,甚至直接不显示。比如你想确认主板BIOS版本、内存条的实际频率、PCIe设备所在的插槽号、硬盘的固件版本,图形面板多半只能给你一个笼统的“16GB内存”或者“某某显卡”,再往下就没有了。

命令行工具的优势在于两点:一是信息粒度细,能从总线、设备树、寄存器层面读到最底层的数据;二是可脚本化,几台服务器、几十台机器要批量统计配置,ssh上去跑一条命令就能汇总,比在一台台机器上点鼠标靠谱太多。另外,在最小化安装的服务器、无桌面的容器宿主机、嵌入式开发板上,图形界面本来就不存在,命令行是唯一的选择。

我平时的使用场景大概是这三类:

  • 装机或采购后验证配置:收到一台新机器,确认CPU型号、内存容量、磁盘型号是不是和合同一致;
  • 故障排查:机器启动报错、性能异常,优先确认硬件是否有识别问题、固件版本是否过旧;
  • 驱动适配:安装显卡驱动、网卡驱动、磁盘阵列卡驱动之前,必须先确认硬件型号和PCI ID。

1.2 Linux下获取硬件信息的三大途径

在具体介绍命令之前,我觉得有必要先把Linux获取硬件信息的底层渠道讲清楚,这样你用的时候心里有数,不会只记命令又不知道为什么有时输出对不上。

第一类渠道是“虚拟文件系统”,最典型的就是/proc和/sys。/proc/cpuinfo、/proc/meminfo、/sys/class/net之类的地方,是内核把当前硬件状态以文件形式暴露给用户空间的接口。它们的优势是实时性好,不需要额外的工具就能cat出来看,但缺点是格式比较原始,可读性一般,而且不同内核版本字段略有差异。

第二类渠道是“专用查询命令”。比如lscpu、lsblk、lspci、lsusb这些,它们内部其实还是在读/proc、/sys以及sysfs里的数据,但帮你做了格式化整理,输出很友好。这类命令适合日常查看。

第三类渠道是“系统管理协议/接口直接读取”,代表就是dmidecode和lshw。它们不只读内核暴露的信息,还会直接去解析SMBIOS/DMI表,也就是主板固件里存的那份硬件描述数据,所以能拿到产品序列号、BIOS版本、内存槽位等更接近硬件实体的信息。缺点是通常需要root权限,而且有些虚拟机环境里SMBIOS数据不完整。

把这三类理解透之后,你就不容易把/proc/cpuinfo里看到的“型号”和dmidecode里看到的“处理器信息”弄混了——前者是内核视角,后者是固件视角,这两者有时并不完全一致。

2. 核心细节解析与实操要点

2.1 lscpu 查看CPU信息:字段拆解与会踩的坑

lscpu是util-linux软件包自带的命令,几乎所有发行版默认都有。执行后输出大概长这样:

$ lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 8 On-line CPU(s) list: 0-7 Thread(s) per core: 2 Core(s) per socket: 4 Socket(s): 1 NUMA node(s): 1 Vendor ID: GenuineIntel CPU family: 6 Model: 158 Model name: Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz Stepping: 9 CPU MHz: 800.062 CPU max MHz: 4500.0000 CPU min MHz: 800.0000 BogoMIPS: 8399.93 Virtualization: VT-x L1d cache: 32K L1i cache: 32K L2 cache: 256K L3 cache: 8192K NUMA node0 CPU(s): 0-7

这里有一个很容易看错的字段就是CPU(s)。它在多核多线程的机器上显示的是逻辑处理器数量,而不是物理核心数。上面这台机器有8个逻辑CPU,通过Core(s) per socket和Socket(s)相乘得到物理核心数是4 * 1 = 4,再乘Thread(s) per core = 2才得到8。如果你想快速知道这台机器有几个物理核心,直接看Core(s) per socket乘以Socket(s),而不是看CPU(s)。

另一个容易误导人的地方是CPU MHz。这表示当前瞬时频率,可能是省电状态下的最低频率,比如上面显示的800MHz,并不代表CPU性能不行。要看真正跑负载时的频率,得用watch -n 1 "cat /proc/cpuinfo | grep MHz",或者用top里的MHz列观察。而CPU max MHz才是硬件和固件约定的最高睿频上限。

注意:在部分ARM架构的设备或某些虚拟化环境中,lscpu的CPU max MHz可能显示为空或者不准确,这是正常现象,不代表硬件信息读不到。可以用dmidecode -t processor做交叉验证。

2.2 free 和 dmidecode 查看内存:容量、频率与槽位

内存信息最常遇到的诉求是这几种:总容量多大、还有多少可用、频率是多少、有几个内存插槽、每根条子在哪个槽、最高能扩到多大。不同的命令负责回答不同的问题。

先用free -h看当前使用量和剩余量:

$ free -h total used free shared buff/cache available Mem: 15Gi 2.1Gi 11Gi 12Mi 2.3Gi 12Gi Swap: 2.0Gi 0B 2.0Gi

这里有个概念要先捋清楚:free列显示的是完全空闲的内存,但Linux系统里“用了”和“缓存”是两个概念。buff/cache是内核把磁盘页缓存放在内存里,这部分在应用需要的时候是可以释放的,所以真正"能用"的内存要看available列。很多新手看free列觉得内存不够,其实available才是从应用视角能申请到的内存上限。

如果你买了16GB内存但free只显示15Gi,不要觉得被坑了,这是二进制换算和显卡共享显存的问题。total单位默认是Gi,也就是1024进制,所以16GB标称变成15Gi左右很正常。

再来看内存条本身的硬件信息,这就要用dmidecode了:

$ sudo dmidecode -t memory | grep -E "Size|Type|Speed|Locator|Manufacturer" Size: 16 GB Locator: ChannelA-DIMM0 Type: DDR4 Speed: 3200 MT/s Manufacturer: Samsung Part Number: M378A2K43DB1-CWE

重点看这几项:

  • Size:单条容量,如果显示No Module Installed说明这个槽是空的;
  • Speed:注意这个值是每秒传输速率(MT/s),DDR4-3200就是这么来的,不是真实时钟频率。真实时钟频率是1600MHz,但行业习惯用MT/s表示,因为DDR在时钟上升沿和下降沿各传一次数据;
  • Locator:内存插槽位置,这个对服务器扩展内存非常有用,你知道是哪根槽里的条子有问题,直接拔对应的就行;
  • Manufacturer和Part Number:用来核验颗粒品牌和型号,避免买到假条。

要看系统最多支持多少内存,也就是用dmidecode -t memory时看Maximum Capacity字段,但这个值准确度依赖固件实现,在消费级主板上经常只显示一个笼统的大值,仅供参考。

2.3 主板、BIOS与整机序列号:dmidecode 的隐藏价值

很多人以为查硬件信息就是看“CPU什么型号、显卡什么型号”,但等到你真的要联系售后、查保修、升级BIOS的时候,最需要的是主板厂商、产品名、序列号、BIOS版本。这些信息图形界面里很难找全,但在dmidecode里分分钟能拿到。

$ sudo dmidecode -t baseboard | head -20 Manufacturer: ASUS Product Name: PRIME B360M-A Version: Rev X.0x Serial Number: 1234567890 $ sudo dmidecode -t bios | grep -E "Vendor|Version|Release Date" Vendor: American Megatrends Inc. Version: 1201 Release Date: 12/16/2020

这里特别值得强调两点。

第一,Product Name这行是判断主板型号的权威依据。有时候你拿鲁大师或者其他Windows工具看到的主板名不准,但SMBIOS表里的Product Name基本是厂家自己写的,最靠谱。比如上面这台机器,一看就是ASUS PRIME B360M-A,后续查支持列表、下BIOS更新包都靠这个字符串。

第二,dmidecode也提供整机序列号信息,在-t system下:

$ sudo dmidecode -t system | grep -E "Manufacturer|Product Name|Serial Number" Manufacturer: LENOVO Product Name: 20XWA00LCD Serial Number: PF3XYZ12

这个序列号在报修的时候很有用。有一次我帮朋友处理一台二手笔记本,键盘坏了想走保修,客服第一句话就是问序列号。电源键开机进BIOS里能找到,但如果你已经进不去BIOS了,用Live USB启动Linux敲一下dmidecode -t system就能拿到,省事很多。

提示:dmidecode在部分新机器上可能需要较新的版本才能正确识别SMBIOS 3.x的表结构。遇到“SMBIOS entry point is invalid”之类的报错时,先用dmidecode --version看看版本,老版本在旧机器上反而兼容性更好。

3. 实操过程与核心环节实现

3.1 磁盘与分区信息:lsblk、fdisk、smartctl 的分工

查看磁盘信息的需求也有好几个层次:机器上装了几块盘、每块盘多大、分了几个区、什么文件系统、磁盘健康状态怎么样。不同命令各自擅长一块。

我在新拿到一台机器时,第一个跑的永远是这个:

$ lsblk -o NAME,SIZE,TYPE,FSTYPE,MOUNTPOINT,MODEL NAME SIZE TYPE FSTYPE MOUNTPOINT MODEL sda 476.9G disk WDC WDS500G2B0A ├─sda1 512M part vfat /boot/efi ├─sda2 100G part ext4 / └─sda3 376.4G part ext4 /home nvme0n1 931.5G disk Samsung SSD 980 └─nvme0n1p1 931.5G part ext4 /data

这里MODEL列直接把硬盘型号打出来了,磁盘品牌、是不是SSD一眼看清。而且lsblk能直观展示分区树状结构,用-o指定要看的列可以避免刷屏。

如果要看更底层的分区表细节,比如分区起始扇区、分区类型GUID,那就用fdisk -l:

$ sudo fdisk -l /dev/sda Disk /dev/sda: 476.94 GiB, 512110190592 bytes, 1000215216 sectors Disk model: WDC WDS500G2B0A Disklabel type: gpt Device Start End Sectors Size Type /dev/sda1 2048 1050623 1048576 512M EFI System /dev/sda2 1050624 210554879 209504256 100G Linux filesystem /dev/sda3 210554880 1000215183 789660304 376.4G Linux filesystem

Disklabel type: gpt指的是分区表类型。现在新机器基本都是GPT,老一点的机器可能是dos(也就是MBR)。如果你打算装双系统,或者准备用某些老旧工具做分区备份,这里先确认分区表类型能省掉后面一堆麻烦。

磁盘健康状态排查,我强烈建议你养成定期看smartctl的习惯:

$ sudo smartctl -a /dev/sda SMART overall-health self-assessment test result: PASSED ... 198: Offline_Uncorrectable 0 199: UDMA_CRC_Error_Count 0

重点关注Reallocated_Sector_Ct(重映射扇区数)、Current_Pending_Sector(待重映射扇区数)、UDMA_CRC_Error_Count(接口通信错误计数)。这三项如果出现非零且持续增长,说明盘在走下坡路,及时备份数据才是第一要务。SMART的PASSED只是“当前没到阈值”,并不代表盘一定健康,要结合这几项原始值判断。

3.2 扩展设备一览:lspci 与 lsusb 的组合用法

PCI设备和USB设备是Linux下最容易出现“明明插上了但系统找不到”问题的硬件。排查的第一步,就是先看设备总线层面有没有认到。

lspci输出所有PCI总线上的设备:

$ lspci 00:00.0 Host bridge: Intel Corporation 8th Gen Core Processor Host Bridge/DRAM Registers 00:02.0 VGA compatible controller: Intel Corporation UHD Graphics 630 01:00.0 VGA compatible controller: NVIDIA Corporation GA106 [GeForce RTX 3060] 01:00.1 Audio device: NVIDIA Corporation GA106 High Definition Audio Controller 02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411

这里的01:00.0是PCI域的Bus/Device/Function编号,对驱动绑定和故障定位非常重要。比如安装NVIDIA显卡驱动后跑nvidia-smi看不到卡,先确认lspci | grep -i nvidia能不能看到,如果总线层面就没有,那就不是驱动问题,而是卡没插好或者PCIe通道没认上。

lspci加参数可以看更细致的信息:

# 显示厂商和设备ID,用于驱动匹配 $ lspci -nn 01:00.0 VGA compatible controller [0300]: NVIDIA Corporation Device [10de:2503] [1043:8802] # 显示内核驱动和模块占用情况,排查驱动绑定 $ lspci -k 01:00.0 VGA compatible controller: NVIDIA Corporation GA106 [GeForce RTX 3060] Subsystem: ASUSTeK Computer Inc. Device 8802 Kernel driver in use: nvidia Kernel modules: nvidia, nouveau

Kernel modules那行列出了该设备可以绑定的候选模块,Kernel driver in use告诉我们当前实际用哪个驱动。如果你改过驱动配置,重启后发现GPU没用上nvidia而还在nouveau,这个命令一眼就能看出来。

USB设备用lsusb:

$ lsusb Bus 001 Device 003: ID 046d:c534 Logitech, Inc. Nano Receiver Bus 001 Device 005: ID 05e3:0749 Genesys Logic, Inc. USB 3.0 Card Reader

lsusb不带参数时只显示摘要,如果你想看设备描述符细节(比如支持的USB版本、端点信息),可以用lsusb -v -s 001:003,其中001:003是Bus编号:Device编号。这个方法在排查USB摄像头驱动不识别、U盘读写速度异常时很有用。

3.3 图形界面之外的“硬核方案”:lshw 与 hwinfo

lspci和lsusb分别覆盖PCI和USB,但如果我想一条命令把整机的硬件清单拉出来,用lshw最方便。

$ sudo lshw -short H/W path Device Class Description =============================================================== /0 system Computer /0/0 memory 32GiB System Memory /0/1 processor Intel(R) Core(TM) i7-7700K /0/100 bridge Intel Corporation /0/100/1.1 display NVIDIA Corporation GA106 [GeForce RTX 3060]

lshw -short输出为一个表格,H/W path展示了设备在拓扑树上的路径,这个信息对理解设备挂在哪里很有帮助。我一般是在做完硬件变更后跑一下这个命令,把输出存下来做基线。下次机器出问题,再跑一遍对比差异,能很快发现哪个硬件掉了。

hwinfo也是一个不错的替代品,它的优势是每个硬件类别都有单独的子命令,比如hwinfo --cpu、hwinfo --gfxcard。很多新用户会觉得hwinfo输出太细,所以我更推荐先用lshw -short做概览,再用dmidecode、lspci -k深入查单项。

3.4 内核与操作系统层面的基础信息

有时候别人问“我这个系统是什么版本”,听起来跟硬件没直接关系,但排查驱动兼容性时确确实实需要它。uname和hostnamectl是这里最常用的两个。

$ uname -a Linux localhost 5.15.0-91-generic #101-Ubuntu SMP Fri Nov 2 10:40:38 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux $ hostnamectl Static hostname: localhost Icon name: computer-desktop Chassis: desktop Machine ID: 2c4f0e1f2c7e4f3a9d8c7b6a5e4f3d2c Boot ID: 51a4e37f9d1b4c6f8e0a2d5c7b4f1a3e Operating System: Ubuntu 22.04.3 LTS Kernel: Linux 5.15.0-91-generic Architecture: x86-64

uname -a里最值得注意的其实是内核版本。比如你装某个闭源驱动,安装包通常会要求“内核版本 >= x.y.z”,你一看这个就知道满不满足。此外x86_64表示64位系统,如果是i686或aarch64,很多二进制包根本装不上,那些所谓的“万能驱动包”全是坑。

hostnamectl除了显示发行版名称和内核版本,还能显示Chassis(设备类型),比如笔记本是laptop,服务器是server,这个在远程管理时能帮你快速确认对面到底是什么形态的机器,避免把桌面机的输出误判为服务器。

3.5 网络硬件的查看方法:从网卡型号到链路协商状态

网络硬件这块儿信息的获取容易被忽略,但它恰恰是线上故障排查的高频场景。网卡品牌和型号、驱动名、固件版本、协商速率,每个都对诊断有帮助。

用lspci查网卡型号:

$ lspci | grep -i ethernet 02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 15)

拿到型号后,再确认驱动和协商状态:

$ ethtool eth0 Settings for eth0: Supported ports: [ TP ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Speed: 1000Mb/s Duplex: Full Port: Twisted Pair PHYAD: 0 Transceiver: internal Auto-negotiation: on Link detected: yes

Speed: 1000Mb/s是实际协商出来的速率。如果你觉得网速不对,第一件事就该看这个——如果两条千兆网卡连出来只有100Mb/s,大概率是网线只有四芯通、水晶头没打好,或者对端设备只支持百兆。注意ethtool针对虚拟接口(比如eth0桥接出来的br0)可能不显示物理链路参数,运行时需要小心区分。

4. 常见问题与排查技巧实录

4.1 拍脑袋前先检查权限:Permission Denied 的坑

我在不同的开发板和远程服务器上敲命令时,最常遇到的新手问题就是Permission denied。dmidecode、lshw这些工具在读取SMBIOS信息时,需要对/dev/mem这类内核内存映射设备有读权限,所以普通用户跑会报错。

解决办法无外乎两种:一是sudo提权执行,二是把自己加入能读取对应设备的组。但是我要多说一句,云端很多机器上你拿到的“root”其实是容器内root,并不是宿主机root。在容器里跑dmidecode,哪怕加了sudo也可能读到的是宿主机固件信息,或者直接报“No SMBIOS entry point found”,这不一定是你命令敲错了,而是容器环境的隔离限制。拿到这种输出时先不要慌,去宿主机确认一遍再下结论。

4.2 硬件明明插上了,Linux 却不认识

这是另一个高频痛点。现象是设备在BIOS/固件里能看到,但系统内没反应。排查顺序我一般建议从总线层到系统层逐步缩小范围。

第一步,lspci或lsusb看设备是否在总线上被枚举。如果在,继续走下一步;如果不在,先考虑插槽接触不良、供电不足、设备故障,以及BIOS里对应控制器是否被禁用。

第二步,设备在总线上但系统没有可用驱动,看lspci -k的Kernel modules和Kernel driver in use。如果Kernel driver in use为空,手动加载模块试试;如果模块列表里就没有,可能是内核太老或缺失固件文件。

第三步,设备有驱动但系统不生成设备节点。比如某些USB转串口芯片,要检查/dev/ttyUSB0是否存在,使用dmesg | tail查看内核日志,关注usb 1-1: cp210x converter now attached to ttyUSB0这类信息。

这里有一个特别容易踩的坑:很多人一上来就apt install各种驱动包,其实先看dmesg最关键。内核已经把失败原因写在日志里,大多数情况下你看到的就是“固件文件缺失”或“未知设备ID”等明确原因。

4.3 虚拟化环境里的信息失真:看到的不一定真实

物理机上的信息读取一般是准确的,但虚拟机环境就不一定了。我经常在虚拟化平台下帮人排查问题,发现很多人被虚拟机里显示的“硬件信息”误导。

比如lscpu在虚拟机上显示的Vendor ID可能是GenuineIntel,这并不代表你物理机一定是Intel,它只是Hypervisor透传给虚拟机的值。又比如dmidecode里的“产品名”经常是类似“Virtual Machine”这样的字符串,这并不代表你的物理硬件就是虚拟机品牌,而是虚拟化管理软件模拟出来的SMBIOS数据。

所以如果你要采集物理机的真实硬件信息,最好在宿主机上执行命令,而不是在虚拟机里。反之,如果你只是接了个虚拟机做业务,那虚拟机里看到的CPU核数、内存大小就是业务实际能用的资源,用它来规划应用部署反而更合理。

4.4 硬件信息速查表:日常高频命令汇总

把高频命令整理成一张表,方便快速定位问题。建议收藏起来常备。

查询目标推荐命令补充说明
CPU型号/核数/频率lscpu看Core(s) per socket算物理核心
CPU实时频率watch -n 1 "grep MHz /proc/cpuinfo"适用于观察负载下的频率变化
内存容量/使用率free -h关注available列而非free列
内存条/插槽/频率sudo dmidecode -t memory确认型号与频率用Speed字段
主板型号sudo dmidecode -t baseboard关注Product Name
BIOS版本sudo dmidecode -t bios升级前必查
整机序列号sudo dmidecode -t system保修和资产登记用
磁盘列表/分区挂载lsblk加上-o MODEL可直接看型号
磁盘分区表sudo fdisk -l关注Disklabel type
磁盘健康状态sudo smartctl -a /dev/sdX重点看Reallocated_Sector_Ct等原始值
PCI设备列表lspci加-k查看驱动绑定情况
USB设备列表lsusb加-v -s查看设备描述符详情
设备拓扑汇总sudo lshw -short适合做硬件变更基线
内核版本uname -a安装驱动前必看
发行版信息hostnamectl看Operating System一行
网卡速率/协商状态ethtool 接口名连接速度异常时首选

4.5 与文件系统配合:把硬件信息“快照”保存下来

前面都是临时查看硬件信息,但如果你需要定期巡检或者做资产登记,我更推荐把这套命令包装成一个小脚本,加上时间戳保存到文件里。比如:

#!/bin/bash REPORT_DIR="/var/log/hwinfo" mkdir -p "$REPORT_DIR" REPORT_FILE="$REPORT_DIR/hwinfo-$(date +%Y%m%d).txt" { echo "===== $(date) =====" echo "--- CPU ---" lscpu echo "--- Memory ---" free -h echo "--- Disk ---" lsblk echo "--- PCI ---" lspci -nn echo "--- USB ---" lsusb } > "$REPORT_FILE"

说明一下思路:把查询命令都集中起来,输出到一个带日期的文件里。之后连续跑几次,对比不同日期的hwinfo文件差异,就能很方便地看出哪一天加了一块盘、哪个PCIe设备消失了。脚本里没有涉及任何不安全的操作,只是把lscpu、free、lsblk、lspci、lsusb这些命令的输出汇总保存,所以在日常运维中可以放心使用。

如果你管理的机器比较多,还可以用for循环配合ssh远程执行。比如已知一批机器的IP列表,想批量收集硬件清单,可以写这样一个循环:

for ip in 192.168.1.101 192.168.1.102 192.168.1.103; do ssh "root@$ip" 'lscpu | grep "Model name"; free -h | head -2' > "hwinfo-$ip.txt" done

这种批量收集方式,在几十台机器做配置盘点时比一台台登录要高效得多。但要提醒一句:生产环境执行远程命令前,一定要确认免密登录和账号权限是配置好的,否则中途卡在密码输入会很难受。

4.6 关于硬件信息真伪的最终交叉验证心得

最后写一点我的个人习惯。我不太愿意只用单条命令下结论,尤其是当你准备根据信息去下载驱动、买配件或者判断硬件故障时,强烈建议用两个不同来源的命令交叉验证。

比如lscpu显示CPU型号是i7-7700K,再用dmidecode -t processor核对一遍;lsblk显示磁盘型号是WDC WDS500G2B0A,再用smartctl -i /dev/sda查看Device Model确认一遍。两个来源的信息一致才基本可信,不一致的话就要考虑是否写入了错误的设备信息或者固件表损坏。

这套交叉验证的习惯帮我在排查硬件兼容性时少走了很多弯路。比如之前遇到一台机器,系统里lspci明明显示有一块Intel网卡,但ip link死活起不来这个接口,后来一查dmesg才发现是BIOS里网卡被“禁用但保留设备”模式设成了类似“不初始化”的状态,总线层面还在但系统不会给它分配资源。这种问题不看dmesg没法定位,只看表面命令也容易误判成硬件坏。

希望这篇整理能把你在Linux下查硬件信息时的思路捋顺。工具就那些,关键还是搞清楚每条命令读的是哪个数据源、能回答哪个问题,这样不管换到哪台机器、哪个发行版,都不会找不到方向。

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

小团队9天用Claude打造7个Adobe平替:场景级替代的工程实践

1. 这个项目到底在讲什么第一次看到“一个小团队加上 Claude,9天写出7个 Adobe 平替”这个说法,我的反应是:要么是标题党,要么背后有一套极其克制的工程方法论。因为“Adobe 平替”这四个字太重了,Photoshop、Illustra…

作者头像 李华
网站建设 2026/10/19 3:35:14

文本分类中的算法偏见:检测方法与去偏工程实践

前阵子我在做一个客服投诉分类的模拟项目,测试阶段发现一件很诡异的事:同样的用户反馈,只要对话里出现某些身份词,模型的预测概率就会整体偏一截,哪怕实质内容几乎没差别。我第一反应是标注集标错了,后来把…

作者头像 李华
网站建设 2026/10/19 3:32:54

Memoria开源项目:构建AI会话的三层可控记忆架构

1. 项目概述:为什么“会话失忆”不是AI的缺陷,而是设计必然?你有没有过这种体验:刚跟Claude聊完一个复杂的技术方案,中间切去回了几封邮件,再回来时它已经不记得前文提过的API版本号、测试环境地址&#xf…

作者头像 李华
网站建设 2026/10/19 3:32:25

本地CLI加LLM Agent实现自动化代码审查:open-code-review流程搭建指南

1. 为什么我要自己搭一套 open-code-review 流程团队里代码合并前的 review 环节,长期靠人肉盯。项目一多、提交一频繁,review 就变成了走过场——点个 approve 了事。我试过几种现成的托管平台自带审查功能,要么规则太死,要么对上…

作者头像 李华
网站建设 2026/10/19 3:31:38

中文分词服务原理与实战:词典、动态规划与未登录词识别

1. 项目概述1.1 为什么修仙大陆也需要分词服务说实话,我第一次看到"东方仙盟练气期"和"分词服务"这两个词被塞进同一句话时,第一反应是某个师兄又在拿代码写玄幻段子。但真把幽冥大陆这个项目的需求文档翻完之后,才意识到…

作者头像 李华
网站建设 2026/10/19 3:31:38

Cadence高速电路设计与Sigrity仿真:从叠层阻抗到DDR时序与PDN验证全流程

简介:这份资源面向高速电路设计与信号完整性分析方向的工程师及高年级学生,整合了《高速电路设计与仿真分析:Cadence实例设计详解》与《信号电源完整性仿真分析与实践》两套内容,帮助读者掌握Cadence与Sigrity工具在高速系统设计中…

作者头像 李华