简介基于多层感知器MLP的互联网虚假新闻检测器是华中科技大学机器学习课程的一份完整大作业面向掌握Python基础、希望深入理解深度学习文本分类流程的高校学生与自学者。资源围绕虚假新闻二分类任务提供了从文本清洗、分词、TF-IDF/词嵌入特征提取到MLP模型定义、激活函数选择、反向传播训练、验证集早停与测试集评估的整套代码与配套说明可直接运行也可作为课程设计、毕业设计的参考模板。压缩包共21个文件约92.71MB包含py脚本、训练好的model模型、pkl与csv数据文件、xml配置文件以及docx实验报告、md说明文档等目录结构清晰便于按模块学习与二次开发。已有158人浏览学习适合需要对照完整实现理解神经网络文本分类原理、调参思路与工程组织方式的读者是一份兼具完整性与教学价值的机器学习作业资源。1. 基于 MLP 的互联网虚假新闻检测器一门大作业如何逼出真实的机器学习落地能力用 MLP 训练一个互联网虚假新闻检测器是华中科技大学机器学习课程大作业里的热门选题。你可能会觉得这类题目已经被人做烂了但我的体验恰恰相反正因为它看似简单才最能暴露你对机器学习项目的真实掌握程度——数据清洗、特征构建、训练评估每一步都会出幺蛾子。这篇文章就顺着这条主线把基于 MLP 的虚假新闻检测器从选型、实现到排错完整拆一遍适合正在为机器学习大作业发愁、或者想找一个能落地的机器学习入门实战项目的读者。结论先放在这儿决定这个项目成败的不是 MLP 的层数而是你对数据与评估的把控。2. 选型逻辑先立住MLP 凭什么适合做虚假新闻检测2.1 虚假新闻检测到底在检测什么互联网虚假新闻检测器本质上是一个二分类文本分类任务输入一条新闻文本标题、正文或者两者拼接输出一个标签——真实或虚假。但“虚假”这个标签本身是模糊的有的新闻是完全捏造有的是部分篡改有的是旧闻重发有的只是标题夸张。在大作业场景里我们一般直接使用带标签的公开数据集把问题简化成“学习从文本特征到标签的映射”。这个简化很重要它决定了后面所有步骤的走向。既然是监督分类核心工作就变成三件事构造文本特征、训练分类器、评估泛化能力。MLP 在这套流程里扮演的是分类器角色它不负责理解语义只负责从特征里拟合决策边界。很多同学把注意力全放在模型上去调层数、调 dropout结果忽略了前面特征工程的问题。我见过一个翻车案例有人用 MLP 训练到训练集准确率 98%测试集却只有 55%最后定位到分词和特征构造上模型本身没多大毛病。这也是为什么我坚持先把任务定义讲清楚——你连在检测什么都说不清后面的参数调得再花哨也是空中楼阁。2.2 MLP 的结构假设它要求输入必须是什么MLP全称多层感知机Multilayer Perceptron是神经网络里最朴素的一类结构。它由输入层、若干隐藏层和输出层组成层与层之间全连接每个神经元先做线性加权求和再过非线性激活函数把结果传给下一层。用公式表示就是 z W·x ba activation(z)。这里的 W 是权重矩阵b 是偏置activation 一般用 ReLU 或 tanh。输出层做二分类时用 sigmoid多分类用 softmax。注意这个结构背后的“机器学习假设”它假设输入 x 是一个固定长度的实数向量。文本进来不能直接喂给 MLP必须先变成等长的数值向量这一步叫向量化是整个流程里第一个容易出错的地方。MLP 本身不关心你的向量是 TF-IDF 还是词向量它只关心维度是否固定、数值分布是否合理。这就是为什么很多教程把“文本 → 向量”叫作 MLP 的前置条件没有向量化后面全是空谈。对大作业来说你不需要把反向传播的每个偏导推导都背下来但要能说清楚损失函数在做什么。二分类常用二元交叉熵BCELoss损失小意味着模型对真实样本输出的概率高、对虚假样本输出的概率低。训练时盯着训练集 loss 曲线能看出模型有没有在学、学习率是不是太大这是最基本的调试手段。2.3 特征工程选 TF-IDF 还是词向量大作业场景的取舍既然 MLP 要求固定长度输入文本向量化就分成两条路传统统计特征和神经网络嵌入。大作业场景我一般建议先走 TF-IDF有三个理由。第一TF-IDF 的每一维都有明确含义某个词在当前文本中的相对重要性。这对错误分析很有帮助——你可以把权重最高的词打印出来直观看到模型在依赖哪些词判断真伪写报告时也能拿出具体例子。第二TF-IDF 配合 MLP 在小规模数据上训练极快CPU 就能跑完不需要排队等 GPU。第三词向量Word2Vec、GloVe需要额外加载预训练资源短文本上词向量平均池化会把关键信息抹掉效果可能反而不如 TF-IDF 的稀疏特征。用 TF-IDF 也有代价词表一大维度可能到几万维MLP 第一层的参数量跟着暴涨。所以通常要加一步特征截断常见做法是在 TfidfVectorizer 里设 max_features取 TF-IDF 权重总和最高的 5000 到 10000 个词。这个参数直接影响训练速度和过拟合程度后面讲超参数时我会专门展开。如果你坚持用词向量我建议加载公开预训练好的中文词向量而不是自己拿小语料训练——自己训练的嵌入质量在大作业规模的语料上几乎必然翻车。但对这门课的大作业来说TF-IDF MLP 已经是稳妥且能拿高分的组合下面按这条主线展开。2.4 从逻辑回归到 MLP非线性增强是唯一区别如果去掉隐藏层MLP 就退化成逻辑回归——输出层直接接输入层。很多机器学习教材把逻辑回归当作神经网络的特例两者的“机器学习假设”是线性可分。加入一个隐藏层后模型能拟合非线性决策面。举例来说当“某个词出现频率低”和“出现频率高到极端”分别指向相反结论时线性模型只能找一条直线硬切MLP 却可以切出一条弯曲的边界。大作业答辩时经常被问一个问题为什么不用逻辑回归答案不是“逻辑回归效果差”而是课程考察目标就是要你实现神经网络。从工程角度逻辑回归在短文本分类上常常和单隐层 MLP 打平但 MLP 能让你亲手体验反向传播、过拟合、正则化这些概念。我的建议是把逻辑回归当 baselineMLP 当主模型两者对比写进报告分数会明显好看。这个对比实验需要控制变量同一份 TF-IDF 特征、同一个训练测试划分、同一个随机种子。种子不固定每次跑出来结果都不一样报告里没法解释。我习惯把 random_state 统一设成 42并在报告里写一句“固定随机种子以保证结果可复现”——这句话在答辩时非常加分它说明你不是在碰运气。3. 数据清洗、特征构建与 MLP 训练全流程3.1 数据集选择与标签判断标准大作业数据集不能自己爬。第一爬下来的数据没有标签没法做监督学习第二课程通常要求使用公开数据集方便横向对比。常见做法是用 Kaggle 的 Fake News 数据集或 ISOT Fake News Dataset前者是英文新闻标题与正文后者包含真实与虚假两类新闻规模在几千到几万条之间非常适合跑通全流程。中文方面可以用清华大学开源的中文谣言数据集或者微博谣言数据集。注意别选只有几十条样本的玩具数据集整个报告会失去说服力也别选上百万条的大语料训练时间长且内存容易爆。几千到几万条是黄金区间。数据集选定后要写清楚标签定义。Fake News 数据集的 label 列是 0/10 表示真实1 表示虚假。这个映射关系必须在报告里明确写出来否则后面分析混淆矩阵时方向搞反答辩时被老师一句话问住。如果你用的数据集本身不分训练测试记得用 train_test_split 自己划分通常按 80/20 或 70/30。3.2 清洗与分词顺序顺序错了后面全是坑文本清洗的顺序很关键我一般按这个顺序走去 HTML 标签与 URL → 全角转半角 → 统一小写 → 去停用词 → 分词 → 词干化英文或保留原词中文。为什么要这个顺序因为分词器对特殊符号敏感先去噪再切分切出来的 token 质量更高。中文分词用 jieba英文用 nltk 的 word_tokenize。停用词表用公开的哈工大停用词表即可注意中英文要分开用不要把英文停用词表套在中文上。清洗后做特征构建用 sklearn 的 TfidfVectorizer。我常用的参数组合是 sublinear_tfTrue、min_df2、max_features8000。sublinear_tf 用 1ln(tf) 替换原始词频缓解长文本里高频词的压制效应min_df2 去掉只出现一次的词减少噪声max_features8000 控制维度防止 MLP 第一层参数过多。这三个参数每一个都有明确理由写进报告能体现你是理解后调节的不是照抄教程。如果你在头歌机器学习这类实训平台上做过类似的分步练习对这个流程应该不陌生平台往往把清洗、特征、训练拆成关卡但那只是单元测试真实数据上要处理的问题远多得多。清理时机也要注意分词必须在去停用词之后。先分词再去停用词每个停用词都要在词表里查一遍浪费计算更重要的问题是jieba 的分词结果受标点影响标点没清干净句子会切出大量空 token。清洗函数的完整逻辑我放在后面代码里一起给。3.3 用 PyTorch 实现 MLP 的最小训练代码下面这份代码是能直接跑通的最小流程我用 PyTorch 实现。它包含了数据划分、向量化、模型定义、训练循环四件事没有多余封装适合大作业里照着改。import pandas as pd import torch import torch.nn as nn from sklearn.feature_extraction.text import TfidfVectorizer from sklearn.model_selection import train_test_split # 1. 读取数据text 是新闻文本label 是 0/1 df pd.read_csv(fake_news.csv) X_train_raw, X_test_raw, y_train, y_test train_test_split( df[text], df[label], test_size0.2, random_state42 ) # 2. 文本向量化只对训练集 fit测试集 transform vectorizer TfidfVectorizer(sublinear_tfTrue, min_df2, max_features8000) X_train vectorizer.fit_transform(X_train_raw).toarray() X_test vectorizer.transform(X_test_raw).toarray() # 3. 转成 PyTorch Tensor X_train_t torch.tensor(X_train, dtypetorch.float32) y_train_t torch.tensor(y_train.values, dtypetorch.float32) X_test_t torch.tensor(X_test, dtypetorch.float32) y_test_t torch.tensor(y_test.values, dtypetorch.float32) # 4. 定义 MLP输入 8000 维一个隐藏层 128 维输出 1 维做二分类 class MLP(nn.Module): def __init__(self, input_dim8000, hidden_dim128): super().__init__() self.fc1 nn.Linear(input_dim, hidden_dim) self.fc2 nn.Linear(hidden_dim, 1) self.relu nn.ReLU() def forward(self, x): x self.relu(self.fc1(x)) return torch.sigmoid(self.fc2(x)) # 输出 0~1 的概率 model MLP() loss_fn nn.BCELoss() # 二分类交叉熵 optimizer torch.optim.Adam(model.parameters(), lr1e-3) # 5. 训练循环 epochs 10 batch_size 64 n_samples X_train_t.shape[0] for epoch in range(epochs): model.train() permutation torch.randperm(n_samples) # 每个 epoch 打乱样本顺序 epoch_loss 0.0 for i in range(0, n_samples, batch_size): idx permutation[i:i batch_size] batch_x X_train_t[idx] batch_y y_train_t[idx].unsqueeze(1) # 形状对齐到 (batch, 1) pred model(batch_x) loss loss_fn(pred, batch_y) optimizer.zero_grad() loss.backward() optimizer.step() epoch_loss loss.item() * len(idx) print(fepoch {epoch1}, loss {epoch_loss / n_samples:.4f})逻辑说明整个流程分五段。第一段划分训练测试集第二段做 TF-IDF 向量化第三段转成 Tensor第四段定义网络第五段训练。几个细节必须强调vectorizer 只能对训练集 fit测试集直接用 transform防止测试集信息泄漏进特征统计这是评估结果虚高的头号原因MLP 只有一个隐藏层、128 个神经元对短文本分类足够输出层接 sigmoid 得到概率配 BCELoss 计算交叉熵这两者是配套使用的。参数说明input_dim 必须和 max_features 保持一致否则 nn.Linear 构造时报维度不匹配学习率 1e-3 是 Adam 的安全起点loss 震荡不降时往下调batch_size 64 在样本量小于 1 万时训练很快epochs 设 10 是因为小数据集上 MLP 收敛本来就快后面可根据 loss 曲线增减。如果你的机器只有 CPU这个规模跑完 10 个 epoch 通常不超过两分钟完全可以多试几组参数。训练完成后评估代码同样简洁。用 model.eval() 切到推理模式关闭梯度计算把测试集过一遍模型得到预测概率再按 0.5 阈值转成标签from sklearn.metrics import classification_report, confusion_matrix model.eval() with torch.no_grad(): prob model(X_test_t).squeeze() # 预测概率 pred (prob 0.5).float() # 阈值 0.5 转标签 print(classification_report(y_test_t, pred, target_names[real, fake])) print(confusion_matrix(y_test_t, pred))这段代码输出精确率、召回率、F1 和混淆矩阵。注意 model.eval() 不能省如果模型里有 Dropout 或 BatchNorm不切模式会让评估结果带随机性这是个非常隐蔽的坑。3.4 训练超参数隐藏层宽度、学习率与 batch 的设定依据隐藏层宽度128 是经验起点。宽度过小欠拟合过大在几千条样本上容易过拟合。建议做一组对比实验hidden_dim 取 64、128、256固定其他条件在验证集上画 F1 折线报告里直接引用。隐藏层层数单隐层 MLP 已经是通用逼近器大作业不建议堆三层以上。深度增加在短文本分类上没有明显收益反而让训练不稳定、过拟合风险更高。学习率Adam 优化器下 1e-3 是默认起点。如果 loss 曲线在 0.7 附近震荡不降把学习率降到 1e-4如果 loss 下降很快但测试集指标没有同步提升考虑过拟合而不是学习率问题。batch_size 没有太多玄学64 到 128 之间都行太小比如 8梯度噪声大太大比如 512单轮更新次数少、收敛慢。还有一个必须强调的点固定随机种子。train_test_split 的 random_state、torch.manual_seed(42)、numpy 的 seed 都要固定否则每次运行划分不同结果无法复现。写报告时把 seed 放第一章的实验设置里一句话带过即可。4. 评估与调优别被准确率骗了4.1 准确率的陷阱与 F1、混淆矩阵的正确用法虚假新闻数据集里最常见的情况是真实新闻占多数。假设真实样本占 92%一个把所有样本都预测为真实的模型准确率是 92%。这个数字看起来很美但虚假新闻一条都没有被识别出来——检测器彻底失去意义。所以大作业评估至少要看三个指标精确率、召回率、F1外加混淆矩阵。精确率 TP / (TP FP)回答的问题是“模型判为虚假的新闻里有多少确实是假”召回率 TP / (TP FN)回答的是“所有真实的虚假新闻里模型抓住了多少”。F1 是两者的调和平均在类别不平衡时比准确率可靠得多。大作业报告里应该统一用 F1 作为主指标附混淆矩阵可视化这是稳妥写法。我一般直接打印 classification_report它把 precision、recall、f1 全部输出省去手写公式的麻烦。如果数据集本身就是不平衡的宏平均macro avg和加权平均weighted avg要区分开。宏平均对每个类别单独算 F1 再求平均少数类的表现会被放大适合你想强调“检测器能抓住假新闻”的时候加权平均按样本量加权更贴近整体表现。报告里我会两个都写然后说明采用宏平均的理由是“少数类召回率才是本任务的核心价值”。4.2 类别不平衡的硬处理加权损失与阈值移动处理类别不平衡常见做法有四种对少数类过采样、对多数类欠采样、损失函数加权、阈值移动。大作业里最省事且效果稳定的是给损失函数加权重对虚假新闻类给予更高惩罚。n_pos (y_train 1).sum() # 虚假新闻样本数 n_neg (y_train 0).sum() # 真实新闻样本数 pos_weight torch.tensor([n_neg / n_pos], dtypetorch.float32) loss_fn nn.BCEWithLogitsLoss(pos_weightpos_weight)这段代码把多数类与少数类的比值作为 pos_weight 传入 BCEWithLogitsLoss。它的效果是放大少数类样本的梯度贡献让模型更倾向于把样本预测为少数类。逻辑上等价于对少数类样本复制了 n_neg/n_pos 份。注意使用 BCEWithLogitsLoss 后模型输出层不能再加 sigmoid因为该损失函数内部已经做了 sigmoid 加交叉熵的数值稳定合并直接算 logits 即可。阈值移动更简单不加权训练完统计预测概率的分布把判断阈值从 0.5 下调到 0.3 或 0.25让更多潜在虚假新闻被召回。这个操作可以在验证集上搜索最优阈值方法是从 0.1 到 0.9 每隔 0.05 试一次取 F1 最高的点。搜索代码可写在 Jupyter 里画一条“阈值 vs F1”的折线报告里用这张图说明你的阈值选择有依据不是拍脑袋。4.3 横向对比MLP 与逻辑回归、朴素贝叶斯的边界大作业报告里加一组 baseline 对比会显得完整。逻辑回归用 sklearn 的 LogisticRegression 直接跑同一份 TF-IDF 特征朴素贝叶斯用 MultinomialNB。控制变量同一数据集、同一划分、同一特征维度。常见结果是朴素贝叶斯在短文本上准确率不低但召回率偏低——它容易被高频词主导逻辑回归与单隐层 MLP 效果接近MLP 略好 1 到 3 个百分点的 F1。这个差幅本身值得写进分析。它说明 TF-IDF 特征已经捕捉了大部分词频判别信息MLP 的非线性增益在这个特征空间里有限。如果后面想追求更高的 F1换特征工程往往比加深网络更有效比如加入 n-gram 特征、标题长度、标点符号比例、情绪词数量等手工特征。能在报告里写出这个洞察老师会觉得你有全局观而不是只会调参。5. 避坑清单五个翻车现场与排查路径5.1 现象一loss 一直在降测试准确率纹丝不动现象训练 loss 从 0.69 降到 0.2测试集准确率始终在 0.55 上下。原因最常见的是数据泄漏特征是拿全量数据拟合后再划分训练测试集。另一个可能是文本对齐错位——pandas 在清洗后索引没有 reset导致标签和文本错一行模型学到的是错位样本的噪声。第三个可能是特征与标签本身相关性极弱训练集 loss 下降只是模型在硬记训练样本。解决先检查代码里是否对全量数据调用了 fit_transform是的话改成对训练集 fit、测试集 transform。再检查 df 清洗后是否 reset_index(dropTrue)。最后打印预测概率分布如果大部分输出集中在 0.5 附近说明特征没学到东西回到数据清洗环节找原因。5.2 现象二训练集 99%测试集 60%过拟合的边界在哪现象训练集准确率接近 99%测试集只有六成出头。原因模型容量过大、样本量小、缺少正则化。TF-IDF 维度 8000、隐藏层 256在几千条样本上完全可以死记训练集。解决三个方向一起做。把隐藏层宽度从 128 降到 64在 fc1 和 fc2 之间加 Dropout(0.3)加早停——监控验证集 loss连续 3 个 epoch 不下降就停止训练。Dropout 在 PyTorch 里加一行 nn.Dropout(p0.3)调参时注意评估阶段必须 model.eval()否则测试结果带随机性这是新手最容易踩的坑。5.3 现象三全部预测为多数类一条假新闻都没认出来现象混淆矩阵里第一行真实类基本全对第二行虚假类全错召回率是 0。原因类别不平衡且没有做任何处理。模型在加权损失缺失时把所有样本判为多数类就能拿到很低的 loss于是走了捷径。解决用 4.2 里的 pos_weight 加权或者训练后做阈值移动。注意处理顺序先做类别统计再设置权重。如果数据集极度不平衡多数类占 95% 以上一个方法不够可以过采样少数类配合阈值移动一起用。文本数据不能用图像领域的翻转、裁剪做增强那会改变语义别在这上面浪费精力。5.4 现象四中文文本预处理后变成乱码现象读入 CSV 后中文显示为方框或问号分词结果全是空串。原因文件编码指定错误。很多中文数据集是 gbk 编码用 pandas 默认的 utf-8 读进来就乱码。解决读文件时显式指定编码先试 encodingutf-8乱码再换 encodinggbk还不行就用 encodinggb18030。另外 jieba 分词后检查切出来的词有没有意义比如“不/是/假/新/闻”这种切分会让特征丢失词组信息可以考虑加载自定义词典把“虚假新闻”“标题党”这类词设成不可切分的整体。5.5 现象五评估结果虚高换了数据就不灵现象测试集 F1 高达 0.97但在新抓取的新闻上一测就崩。原因测试集在预处理阶段泄漏了训练信息。典型操作包括对全量数据做 TF-IDF 拟合后再划分或者用全量数据计算某个统计量比如均值归一化后再划分。还有一种隐蔽泄漏先用全量数据做特征选择比如卡方检验选 top K 词再划分训练测试——特征选择本身就看到了测试集信息。解决把 train_test_split 放在整个流程的第一步之后所有 fit 操作都只在训练集上执行。写报告时专门加一句“所有特征统计均只基于训练集”这句话在答辩时能直接堵住老师的追问。检查泄漏有一个笨办法把测试集指标和训练集指标对比如果测试集几乎和训练集一样高先怀疑泄漏而不是高兴。6. 把大作业做成作品置信度阈值、错误样本复盘与模型交付训练完模型只是开始真正能让大作业从“跑通”变成“作品”的是后面这三个动作。第一个动作是输出概率而非标签并且自己搜索最优阈值。模型输出的 0.78 和 0.51 差别很大前者是模型很确定后者是边缘判断。在验证集上从 0.1 到 0.9 每隔 0.05 搜一遍阈值选出 F1 最高点把它写进报告。这个细节会让老师觉得你理解了“分类阈值是业务决策参数”而不是固定 0.5。第二个动作是错误样本复盘。把预测错误的样本单独抽出来看两类把假新闻判成真的漏报把真新闻判成假的误报。统计这些样本里的高频词你往往会发现漏报的假新闻里经常出现“据外媒”“知情人士”“震惊”这类词说明模型学到了表面信号而不是深层语义。把这个发现写进报告“未来工作”一节比空谈“用 BERT 会更好”有说服力得多。我自己的习惯是每次训练完必做这一步它能告诉你模型在依赖什么而不是黑匣子里瞎猜。第三个动作是做一个最小可用的交互脚本。用 input() 循环读入新闻文本输出预测概率和判断结果十行代码。这样答辩时能现场演示而不是只丢出一张训练曲线图。现场演示的冲击力远大于静态报告。我之前做类似项目时吃过最大的亏是太早开始调模型结构把时间花在增加层数、调激活函数上最后发现 F1 的提升还不如把 TF-IDF 的 n-gram 范围从 (1,1) 改成 (1,2) 来得大。机器学习项目里数据与特征的可信度永远排在模型复杂度前面这是经历几次翻车之后才真正信服的规律。希望这篇笔记能帮你少走这几段弯路做完一个拿得出手的虚假新闻检测器。本文还有配套的精品资源点击获取
企业数字化 ERP 产品动态
相关推荐
UVM覆盖率收集全解析:从covergroup设计到收敛实战 每次回归跑完,最怕看到的是“测试全绿但心里没底”。UVM覆盖率收集(coverage)的价值就在这儿:它不是锦上添花的统计工具,而是验证收敛的判断依据。这篇继续UVM验证入门系列的第14篇,我们把coverage这件事从… · 2026/9/26 7:09:45
Java多线程异步调用全解析:从线程池到CompletableFuture实战 做Java开发这么多年,多线程异步调用始终是我最喜欢聊、也最怕聊崩的一个话题。面试问它,能问出一整套JVM内存模型和操作系统的线程调度机制;生产环境踩它,又能踩出各种令人头皮发麻的资源耗尽、数据错乱和“任务莫名消失”。如果你… · 2026/9/26 7:09:33
软考物联网四层架构详解:感知层、网络层、平台层、应用层高频考点与实战避坑 1. 软考视角下的物联网四层架构:为什么这个知识点年年考软考里但凡涉及物联网的题目,不管是中级系统集成、还是高级信息系统项目管理师,四层架构几乎是绕不开的送分题——但也是很多人丢分的题。原因很简单:教材上给的定义太抽象&… · 2026/9/26 7:09:33
深入解析虚拟DOM与Diffing算法:原理、优化与面试要点 “虚拟DOM和diff算法”这两个词,前端圈子里但凡准备过面试的同学都不陌生。带新人的时候,十个人里至少有七八个能把“虚拟DOM就是用一个JS对象来描述真实DOM”这句话背出来,但再往下问一层——diff到底怎么比、为什么这么比、Vue3为了少做dif… · 2026/9/26 7:46:44
Agent工程化落地:任务编排与长周期状态管理实战 1. 这不是述职报告,是Agent落地现场的“血泪笔记”我在一家头部互联网公司做Agent方向,从2022年Q4开始接手第一个生产级对话式任务编排项目,到今年年中刚完成第三期架构升级,实打实干满一年半。这期间没写过PPT版“战略展望”&… · 2026/9/26 7:46:44
占位符文本完全指南:历史、工具与防泄漏实战 这篇文章是从一个随手敲出来的标题引发的思考。刚开始看到"asdfasdf"这四个字母,我第一反应是某位同行懒得打字,随手在键盘上滚了一下。但转念一想,这四个看似毫无意义的字符,恰好代表了一个极少被正经讨论、却每天都发… · 2026/9/26 7:46:44
真空焊接炉技术拆解:10⁻³帕热场工艺与石家庄产业 在功率半导体、微波器件与高端散热部件的制造链条上,真空焊接炉是绕不开的核心热工装备。行业里常把石家庄与这类设备联系在一起,原因不在某一家企业,而是当地多年沉淀的半导体与电子信息产业基础,孵化出一批专注真空热工装备的厂… · 2026/9/26 7:46:44
Agent落地实战:从通用框架到场景化原子能力 1. 项目概述:一个真实Agent工程师的18个月现场手记 “阶段性总结,在大厂做了一年半Agent后”——这句话不是述职报告的标题,也不是知乎体爆款文案,而是我上个月在工位上敲完最后一个测试用例、合上笔记本时,顺手发在内… · 2026/9/26 7:46:44
Claude Code中AGENTS.md加载依赖遥测开关的机制解析 1. 项目概述:一个被忽略的配置逻辑陷阱Claude Code 这个工具,最近在开发者圈子里热度很高。很多人装完就用,写代码、查文档、生成测试用例,顺手得很。但如果你仔细翻过它的源码或者配置目录,会发现一个特别容易被忽略的… · 2026/9/26 7:46:38
数据库课后习题答案别硬背:当测试用例集刷,效率翻倍 简介:万常选版《数据库原理与设计》课后习题答案资源,覆盖第2至6章及第9章,适合正在学习关系模型、数据库建模、关系数据理论与模式求精的本科生、自学者作为复习与自测材料。压缩包共7个文件,含3个doc参考答案、2个sql示例脚本、… · 2026/9/26 0:00:21
OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 0:00:40
向下兼容与向上兼容:接口设计中的兼容性策略与工程实践 一次版本升级事故,是很多团队绕不过去的坎。线上环境里,服务端明明已经上线了新版接口,老的移动端还在照着旧文档传参数。请求一到网关,校验直接拒绝,用户操作失败,客服群炸了锅,开发群里开始互… · 2026/9/26 0:00:46