首页
友链
Search
1
本网站搭建
24 阅读
2
原神!启动!0v0
22 阅读
3
25/26大模型面试经典题
13 阅读
4
常用代码模板4——数学知识
6 阅读
5
LLM
5 阅读
经验贴
从零开始系列
学生时代
工作
claude code
C++
登录
/
注册
Search
标签搜索
0-1
web
justu
Wxb
累计撰写
40
篇文章
累计收到
0
条评论
首页
栏目
经验贴
从零开始系列
学生时代
工作
claude code
C++
页面
友链
搜索到
40
篇与
的结果
常用代码模板1——基础算法
快速排序算法模板 —— 模板题 AcWing 785. 快速排序void quick_sort(int q[], int l, int r) { if (l >= r) return; int i = l - 1, j = r + 1, x = q[l + r >> 1]; while (i < j) { do i ++ ; while (q[i] < x); do j -- ; while (q[j] > x); if (i < j) swap(q[i], q[j]); } quick_sort(q, l, j), quick_sort(q, j + 1, r); }归并排序算法模板 —— 模板题 AcWing 787. 归并排序void merge_sort(int q[], int l, int r) { if (l >= r) return; int mid = l + r >> 1; merge_sort(q, l, mid); merge_sort(q, mid + 1, r); int k = 0, i = l, j = mid + 1; while (i <= mid && j <= r) if (q[i] <= q[j]) tmp[k ++ ] = q[i ++ ]; else tmp[k ++ ] = q[j ++ ]; while (i <= mid) tmp[k ++ ] = q[i ++ ]; while (j <= r) tmp[k ++ ] = q[j ++ ]; for (i = l, j = 0; i <= r; i ++, j ++ ) q[i] = tmp[j]; }整数二分算法模板 —— 模板题 AcWing 789. 数的范围bool check(int x) {/* ... */} // 检查x是否满足某种性质 // 区间[l, r]被划分成[l, mid]和[mid + 1, r]时使用: int bsearch_1(int l, int r) { while (l < r) { int mid = l + r >> 1; if (check(mid)) r = mid; // check()判断mid是否满足性质 else l = mid + 1; } return l; } // 区间[l, r]被划分成[l, mid - 1]和[mid, r]时使用: int bsearch_2(int l, int r) { while (l < r) { int mid = l + r + 1 >> 1; if (check(mid)) l = mid; else r = mid - 1; } return l; }浮点数二分算法模板 —— 模板题 AcWing 790. 数的三次方根bool check(double x) {/* ... */} // 检查x是否满足某种性质 double bsearch_3(double l, double r) { const double eps = 1e-6; // eps 表示精度,取决于题目对精度的要求 while (r - l > eps) { double mid = (l + r) / 2; if (check(mid)) r = mid; else l = mid; } return l; }高精度加法 —— 模板题 AcWing 791. 高精度加法// C = A + B, A >= 0, B >= 0 vector<int> add(vector<int> &A, vector<int> &B) { if (A.size() < B.size()) return add(B, A); vector<int> C; int t = 0; for (int i = 0; i < A.size(); i ++ ) { t += A[i]; if (i < B.size()) t += B[i]; C.push_back(t % 10); t /= 10; } if (t) C.push_back(t); return C; }高精度减法 —— 模板题 AcWing 792. 高精度减法// C = A - B, 满足A >= B, A >= 0, B >= 0 vector<int> sub(vector<int> &A, vector<int> &B) { vector<int> C; for (int i = 0, t = 0; i < A.size(); i ++ ) { t = A[i] - t; if (i < B.size()) t -= B[i]; C.push_back((t + 10) % 10); if (t < 0) t = 1; else t = 0; } while (C.size() > 1 && C.back() == 0) C.pop_back(); return C; }高精度乘低精度 —— 模板题 AcWing 793. 高精度乘法// C = A * b, A >= 0, b >= 0 vector<int> mul(vector<int> &A, int b) { vector<int> C; int t = 0; for (int i = 0; i < A.size() || t; i ++ ) { if (i < A.size()) t += A[i] * b; C.push_back(t % 10); t /= 10; } while (C.size() > 1 && C.back() == 0) C.pop_back(); return C; }高精度除以低精度 —— 模板题 AcWing 794. 高精度除法// A / b = C ... r, A >= 0, b > 0 vector<int> div(vector<int> &A, int b, int &r) { vector<int> C; r = 0; for (int i = A.size() - 1; i >= 0; i -- ) { r = r * 10 + A[i]; C.push_back(r / b); r %= b; } reverse(C.begin(), C.end()); while (C.size() > 1 && C.back() == 0) C.pop_back(); return C; }一维前缀和 —— 模板题 AcWing 795. 前缀和S[i] = a[1] + a[2] + ... a[i] a[l] + ... + a[r] = S[r] - S[l - 1]二维前缀和 —— 模板题 AcWing 796. 子矩阵的和S[i, j] = 第i行j列格子左上部分所有元素的和 以(x1, y1)为左上角,(x2, y2)为右下角的子矩阵的和为: S[x2, y2] - S[x1 - 1, y2] - S[x2, y1 - 1] + S[x1 - 1, y1 - 1]一维差分 —— 模板题 AcWing 797. 差分给区间[l, r]中的每个数加上c:B[l] += c, B[r + 1] -= c二维差分 —— 模板题 AcWing 798. 差分矩阵给以(x1, y1)为左上角,(x2, y2)为右下角的子矩阵中的所有元素加上c: S[x1, y1] += c, S[x2 + 1, y1] -= c, S[x1, y2 + 1] -= c, S[x2 + 1, y2 + 1] += c位运算 —— 模板题 AcWing 801. 二进制中1的个数求n的第k位数字: n >> k & 1 返回n的最后一位1:lowbit(n) = n & -n双指针算法 —— 模板题 AcWIng 799. 最长连续不重复子序列, AcWing 800. 数组元素的目标和for (int i = 0, j = 0; i < n; i ++ ) { while (j < i && check(i, j)) j ++ ; // 具体问题的逻辑 }常见问题分类:(1) 对于一个序列,用两个指针维护一段区间(2) 对于两个序列,维护某种次序,比如归并排序中合并两个有序序列的操作离散化 —— 模板题 AcWing 802. 区间和vector<int> alls; // 存储所有待离散化的值 sort(alls.begin(), alls.end()); // 将所有值排序 alls.erase(unique(alls.begin(), alls.end()), alls.end()); // 去掉重复元素 // 二分求出x对应的离散化的值 int find(int x) // 找到第一个大于等于x的位置 { int l = 0, r = alls.size() - 1; while (l < r) { int mid = l + r >> 1; if (alls[mid] >= x) r = mid; else l = mid + 1; } return r + 1; // 映射到1, 2, ...n }区间合并 —— 模板题 AcWing 803. 区间合并// 将所有存在交集的区间合并 void merge(vector<PII> &segs) { vector<PII> res; sort(segs.begin(), segs.end()); int st = -2e9, ed = -2e9; for (auto seg : segs) if (ed < seg.first) { if (st != -2e9) res.push_back({st, ed}); st = seg.first, ed = seg.second; } else ed = max(ed, seg.second); if (st != -2e9) res.push_back({st, ed}); segs = res; }
2026年04月17日
3 阅读
0 评论
0 点赞
学习AI
大模型学习与 AI 辅助编程:从入门到工业级实践指南文档概述本文档系统化整理了一场关于"如何高效学习大模型知识"以及"如何正确使用 AI 辅助编程(Vibe Coding)"的深度对话。对话从学习路径规划开始,逐步深入到工业级工程实践、AI 协作技巧,最终沉淀为一套完整的人机协作认知框架。第一章:大模型知识的高效学习路径1.1 核心学习理念:应用驱动原理,自顶向下不要从枯燥的数学推导开始,而应该从应用层倒推底层原理。1.2 三阶段学习规划第一阶段:API 与上下文工程(1-2 周)学习目标具体内容关键感悟理解参数机理Temperature、Top-P、System Prompt、Function Calling 的底层作用机理不要死记硬背参数动手实践写一个简单的 RAG 问答机器人理解"幻觉"的本质——模型是在概率预测下一个词,而非检索数据库第二阶段:训练与微调的黑盒透视(3-4 周)学习目标具体内容工业级视角理解 LoRA理解 LoRA 到底在训什么-理解显存理解显存是如何爆的-必做实验用 Unsloth 或 LLaMA-Factory 在 7B 模型上微调反常识数据(如让模型认为"1+1=3")观察 Loss 曲线和灾难性遗忘现象,理解为什么工业界偏好 RAG 多于频繁微调第三阶段:推理优化(进阶)重点内容说明vLLM 的 PagedAttention 原理理解 KV Cache 的高效管理量化技术GPTQ / AWQ 对模型逻辑能力的具体损伤程度第二章:AI 辅助编程的工作流(对抗 Vibe Coding)2.1 核心问题诊断问题现象根本原因AI 改很久不如懂语言规则的人看一眼AI 缺乏对项目私有架构的"心智模型"改着改着代码越来越烂Vibe Coding 边际效用递减,AI 记忆只有 7 秒,项目上下文有 7 天2.2 三大核心流程流程 1:建立"项目宪法"(Rules for AI)在项目根目录创建 .cursorrules 或 .github/copilot-instructions.md:# 项目宪法示例 (针对 Python/FastAPI) - 严禁使用 Any 类型,必须使用 Pydantic 模型定义 - 数据库操作必须通过 Repository 层,严禁在 Service 层直接写 SQL - 错误处理必须抛出自定义异常,由全局中间件捕获,严禁直接 return {"error": "..."}效果:AI 的 Vibe Coding 收敛 80% 的离谱错误。流程 2:强制"规划模式"(Plan Mode)禁止 AI 直接输出代码,使用以下 Prompt 模板:"我遇到了一个 Bug:[粘贴终端报错日志]。请仔细阅读 @filename.py 的上下文。不要写代码,先分析以下三点:这个错误的根因是语言特性/框架生命周期/还是异步竞态问题?如果要修复,会影响到哪些其他模块(请列出文件路径)?给出 3 个修复方案,并对比它们的副作用。"为什么重要:逼迫 AI 调用推理算力而非代码补全算力。人类架构师做决策审批。流程 3:Just-In-Time Compilation Learning针对陌生语言规则的学习策略:把报错信息喂给 Perplexity 或 DeepSeek提问格式:Rust 中为什么不能把 &str 直接赋值给 String?用类比 Python 的字符串行为解释用类比法建立心智模型2.3 每日高效循环建议时间段动作核心目标早上 30min读源码:transformers 库中 modeling_llama.py 的 forward 函数建立对底层 Tensor 流动的直觉工作时执行流程 2:AI 做方案分析,人做决策审批把 AI 当高级搜索引擎,不当代码生成器晚上 1h破坏性实验:故意写爆显存、让 vLLM 乱序返回后修复理解工业级容错代码的存在意义第三章:被忽视的学习维度与常见陷阱3.1 计算机体系结构直觉(针对大模型)3.1.1 Transformer 的内存墙感知概念说明KV Cache 显存占用公式$2 \times \text{batch} \times \text{seq\_len} \times \text{layers} \times \text{hidden} \times \text{dtype}$实践任务写脚本,给定模型参数,不加载模型即算出推理 4k 长文本所需显存实用价值当 AI 把 max_length 改成 8192 导致 OOM 时,能立刻定位是 KV Cache 问题3.1.2 NCCL 与分布式通信的隐形杀手问题真相报错 NCCL Watchdog TimeoutAI 只会让你重装驱动真实原因某个 Rank 在做 CPU 密集计算时未及时参与通信同步需要理解PyTorch DDP 的 find_unused_parameters 陷阱,以及为什么大模型训练代码中常有 torch.cuda.synchronize()3.2 对抗 AI 带来的技能腐蚀陷阱表现解决方案死记硬背能力下降AI 改 5 次跑通后,完全不记得改动区别建立"五问法"复盘机制五问法 Prompt 示例:"刚才那个 Rust 的 borrow checker 错误,请用最底层的内存模型解释为什么第三个修复方案才生效,前两个方案错在哪里?画个 ASCII 图说明。"目的:把 AI 的黑盒修补转化为人的白盒认知。3.3 工业级代码的"暗物质":配置与可观测性这是 AI 最不擅长的领域。AI 生成代码工业级要求timeout = 30(硬编码)timeout = config_service.get("api.v2.timeout", default=30, min=5, max=120)拿到 AI 代码后的三问:这个参数凭什么写死?如果上游流量突增,怎么动态降级?这段代码失败时,Metric 打点了吗?是 Counter 还是 Histogram?日志级别是 Info 还是 Debug?打印敏感字段会被截断吗?3.4 RAG 系统的失效模式分析工业真相:大部分 RAG 系统在生产环境跑一个月后,准确率断崖式下跌。主动寻找失效案例:攻击测试目的问"苹果公司成立于哪一年?"但在上下文中混入"水果苹果种植"文章观察 RAG 是否被语义噪音带偏问"给我最新的财报"观察 RAG 是否固执返回已过时的向量理解的价值:明白工业界为什么需要 Re-ranking、HyDE 和 Self-Query 这些重型补丁。3.5 跨语言学习的策略方法说明角色扮演 Prompt"假装你是 Python 解释器的 GIL 锁。解释为什么这段多线程代码在 CPU 密集型任务上反而变慢?对比 Go 语言的 GMP 模型。"对照表笔记法左边 Python 写法,右边 Rust 写法,中间标注内存所有权转移时刻3.6 补充:去 AI 化纯手工日建议:每周一次,关掉 Copilot 和 Cursor Tab,用纯 VS Code(无插件)或 Vim,手撕 LeetCode 中等题或手写 attention 矩阵乘法。目的:防止代码嗅觉被 AI 驯化成条件反射,保持 Bare Metal Coding 能力。第四章:工业级工程实践(鲁棒性、并发、安全、运维)4.1 系统韧性的"三板斧"4.1.1 依赖地狱与依赖锁死意识学生习惯工业灾难必须养成的习惯pip install some-lib依赖库悄悄更新小版本,默认参数行为改变,半夜服务崩溃requirements.txt 必须带具体版本号;pip freeze > requirements.lock;写 Dockerfile4.1.2 配置管理:区分代码与环境学生习惯工业灾难必须执行的动作数据库密码硬编码在 config.py 并 git commit推公开 GitHub 后 5 分钟被爬虫扫走,收到 6 万美元账单检查 git log -p 搜 password、secret、key;强制使用 .env + python-dotenv4.1.3 日志的艺术:从 print 到结构化日志学生习惯工业需求针对性训练插满 print("here 111"),肉眼在终端滚屏找错误服务跑在 20 个 K8s Pod 里,需要通过 trace_id 串起 Redis、数据库、大模型 API 的耗时换成 loguru 或 structlog;强制每行日志包含 request_id4.2 并发与一致性:AI 代码中的隐形竞态4.2.1 缓存与数据库双写不一致场景隐藏的雷解决方案AI 写的接口:先更新数据库,再删除 Redis 缓存删 Redis 时网络抖动失败 → 缓存旧数据,数据库新数据,用户看到的数据永久错乱延迟双删;订阅 Binlog(Canal / Debezium)4.2.2 Python GIL 与异步陷阱AI 典型错误后果正确做法async def 内调用同步 requests.get()FastAPI 并发从 1000 QPS 掉到 10 QPS使用 httpx.AsyncClient4.3 安全与加密4.3.1 敏感数据脱敏与掩码学生习惯工业违规强制规则日志里打印用户手机号、完整 API Response违反 GDPR / 个人信息保护法loguru 配置 patcher,字段名含 phone、email、password 的自动替换为 ***MASKED***4.3.2 加密算法选择的肌肉记忆AI 可能给出的垃圾代码正确选择用 MD5 做密码哈希,用 base64 做加密哈希密码用 bcrypt 或 argon2;对称加密用 AES-256-GCM看见 ECB 模式、DES 算法直接标记为不安全4.4 运维与备份4.4.1 数据备份的 3-2-1 原则类型建议代码备份别只依赖 GitHub,用 git bundle 定期打包导出加密存云盘数据库备份写 crontab 脚本每天凌晨 mysqldump 发到邮箱附件(压缩加密)4.4.2 回滚与逃生舱门纪律说明让 AI 动刀前,手动打 Tag 或 git stash防止改 5 个文件后分不清哪步是好的Feature Flag 思维代码里写 if config.enable_new_feature:,出问题改配置中心开关即可恢复,无需重新发布4.5 性能与优化4.5.1 压测的错觉学生想法工业真相ab -n 1000 -c 100 没报错 = 性能很好压测接口没带数据库查询?本地 SSD vs 线上 EBS 云盘 IOPS 差 10 倍训练方法:装 wrk 或 locust,写一个 time.sleep(0.5) 的慢接口 + 10 连接的数据库连接池,用 50 并发压,观察 TimeoutError 的潮水效应。4.5.2 AI 生成代码的 N+1 查询问题AI 99% 会生成的代码后果必须会的审查循环内调用 get_items_by_order_id()100 个订单 = 101 次数据库查询扫一眼循环内有没有数据库调用,有就改成 JOIN 或 IN 批量查询4.6 工业级恶习纠正清单维度检查问题学生环境(无感)工业环境(现世报)并发这里用 requests.get 是不是阻塞了事件循环?用户就你一个用户几百个,全卡住一致性先删缓存还是先更数据库?失败了怎么补偿?数据错了刷新页面用户下单成功但看不到订单安全日志里打印 User Object 了吗?密码字段遮住了吗?自己看无所谓被安全部门通报,记过容灾调大模型 API 有重试机制吗?失败一次就 500?报错重来一次上游抖动 1 秒,全线告警成本这个循环里查数据库多少次?开发库数据 10 条生产库数据 1000 万行,锁表忠告:作为学生不必为学工业标准把自己累死,但要知道红线在哪。让 AI 写增删改查时,在 Prompt 加一句:"请同时给出生产环境下的注意事项,包括并发竞态、连接池配置、异常重试策略。"第五章:Vibe Coding 高效使用最佳实践5.1 核心认知误区正解让 AI 写得更快建立防止 AI 把代码改烂的护栏机制5.2 四步控制法(基础)第一步:原子化修改(One Task, One Commit)操作步骤具体指令原因1. 锁定现状git add . && git commit -m "checkpoint: before refactor"后悔药,千万别信 AI 的"小改动"2. 单一职责提问@order_service.py 只看 process_payment 函数。只改这一个函数,不要动其他代码。限制修改范围3. 审查差异git diff 仔细看红绿行视觉确认是防止退化的唯一防线4. 原子提交git commit -m "feat: add retry to payment http call"精准回滚的安全点第二步:给 AI 戴紧箍咒(系统指令约束)每次长对话开始粘贴的 Prompt 模板:# Role & Context 你是一个资深后端工程师,正在协助维护一个 [Python/FastAPI] 生产级项目。 # Constraint (最高优先级,违反即为错误) 1. 严禁改变现有函数签名和返回值类型,除非我明确要求。 2. 严禁删除或注释掉现有的日志、异常捕获、Metrics 埋点代码。 3. 修改时,必须先分析该段代码被哪些其他模块调用,列出潜在影响面。 4. 优先给出最小改动方案,而不是重写整个模块。 # Output Format - 第一步:分析现有逻辑和副作用。 - 第二步:给出具体的 Diff 级别修改建议(仅需改动的行)。 - 第三步:解释为什么这么改不会引入新 Bug。第三步:双 AI 审查制步骤操作1复制修改前和修改后的代码块2新开会话(换模型),设定为 Code Reviewer3输入:"这是修改前后的 Python 异步代码,意图是增加超时控制。请以代码审查员身份找出并发隐患、内存泄漏或异常丢失问题。"真实案例:Cursor 加 Redis 超时控制,第二 AI 审查发现 asyncio.wait_for 超时会导致连接池泄漏。第四步:伪代码法错误做法正确做法自然语言描述:"帮我把缓存改成先查缓存,没有就查库,然后存缓存"直接写伪代码骨架,让 AI 做语法填充伪代码模板:def get_data(key): val = cache.get(key) if val: return val with lock(key): # 关键:分布式锁 val = cache.get(key) # 双重检查 if val: return val val = db.query(...) cache.set(key, val, ttl=600) return val好处:AI 只是编译器,逻辑大脑仍是你的。第五步:接受 Vibe 的半衰期对话轮次代码状态第 1 轮结构清晰,像应届生写的第 3 轮出现 # TODO: fix this later第 5 轮充满 try-except pass 和硬编码退出信号:开始大量手动删除 AI 生成的多余代码时,立刻执行:git stash git reset --hard HEAD~1 # 拆成更小子任务,新开会话重来5.3 Vibe Coding 高效使用口诀改前先 Commit:没有后悔药不上手术台一次只改一个点:别让 AI 搞全家桶重构伪代码先行:把逻辑控制权留在人脑换 AI 做 Review:用魔法打败魔法3 轮不改好就推倒重来:死磕沉没成本不如重开一局第六章:进阶最佳实践(前 5 条 + 后 10 条)6.1 前 5 条核心实践(最小可行精华集)实践 1:原子化 Git 防崩护栏alias vibe-save='git add . && git commit -m "vibe checkpoint: $(date +%H:%M:%S)"'铁律:AI 每完成一个单一功能点立刻 vibe-save。发现代码出现 # TODO 或奇怪 try-except pass,立刻 git reset --hard HEAD~1,新开会话重述需求。排第一的原因:解决 Vibe Coding 90% 挫败感来源——不可逆的代码腐化。实践 2:伪代码控制权前置一句话:你来写逻辑骨架,AI 做语法填充机。# 你写: def fetch_with_retry(url, max_tries=3): for i in range(max_tries): try: resp = http_get(url) # <-- AI 实现这里 if resp.status == 200: return resp except Timeout: if i == max_tries - 1: raise sleep(2**i)然后告诉 AI:"按上面伪代码实现,补齐类型注解和日志,不要改控制流。"效果:从验收员变建筑师,AI 跑偏概率趋近于零。实践 3:测试驱动 Vibe工作流:定义空函数签名 def process(order: Order) -> Result:Prompt:请写出 10 个 pytest 用例覆盖边界条件AI 生成测试,运行——全红Prompt:实现 process 函数,让上面所有测试变绿隐藏收益:AI 替你穷举了生产环境会遇到的脏数据。实践 4:上下文锚点注入法操作:AI 还在用 Pydantic V2,你需要 V3 → 复制 V3 Migration Guide 全文粘贴遇到诡异的库冲突 Bug → 复制 GitHub Issue 里确认的 Workaround 评论模板:"Here is the latest official documentation / relevant GitHub issue thread: [粘贴内容] ... Based strictly on this new context, fix my code."实践 5:反向文档驱动设计命令:@folder/src 请只读分析,生成 ARCHITECTURE.md,必须包含 Mermaid 流程图和副作用清单。后续使用:@ARCHITECTURE.md 基于这份架构文档,请帮我重构 order_service 中的事务逻辑。哲学:把 AI 当每隔 5 分钟就失忆的天才实习生,每次对话开始先甩给他"项目宪法"和"架构地图"。6.2 后 10 条进阶实践(元技能)实践 6:多模型陪审团裁决法操作:复杂逻辑修改同时给两个不同模型(如 Claude 4.0 和 DeepSeek Coder),要求仅输出设计方案对比表格,人类做最终仲裁。有效性:单一模型易陷入局部最优或幻觉。两模型方案不同时,被迫思考更深层权衡。实践 7:时间胶囊快照法(Commit Message 生成术)操作:git diff --staged | vibe "根据这个 diff,用中文写一段提交信息。格式:<type>(<scope>): <subject> 然后空一行写详细 body,重点说明:1. 为什么改 2. 潜在风险。"然后把生成的 Commit Message 读一遍。读不懂?说明改动太乱,应该 reset 重做。效果:Commit Message 变成代码可解释性的强制质检。实践 8:灾难预演指令集(Chaos Prompt)操作:"假设你是 SRE,现在要对这个模块进行破坏性测试。列出 5 个能搞垮它的非功能性场景(如:依赖超时、磁盘满、NTP 时间回拨)。针对每个场景,给出 3 行以内最健壮的防护代码补丁。"价值:在舒适区就提前解决未来半夜 3 点的问题。实践 9:沉默知识蒸馏法(从 Bug 到 Rule)操作:"刚才那个关于 asyncio.gather 的异常丢失问题,请把它总结成一条20 字以内的铁律,加入我的 global_rules.md。"沉淀示例:"asyncio.gather 必须设置 return_exceptions=True 或显式捕获每个 task.exception()"价值:把流血经验固化为 AI 永不再犯的护栏。实践 10:样板代码零容忍指令操作:当要写第 3 个 try: ... except: log... 时:"请为 @file.py 生成一个上下文管理器或装饰器来消灭这 15 行重复的异常处理样板代码。要求保留原有的异常链。"认知升级:AI 能帮你重构代码的 DNA,让你写的代码越来越少,逻辑越来越强。实践 11:语义化回滚指针操作:git tag -a vibe_before_支付模块_v2 -m "此时并发安全"不要用 v1, v2,用业务含义打标签。改崩了直接 git checkout vibe_before_支付模块_v2,比翻 Reflog 快 10 倍。实践 12:低语境的全局站位(System Prompt 中的哲学)操作:在 Cursor Rules 首行写上:"You are a principal engineer who values simplicity and operational excellence. Prefer explicit over implicit. Prefer standard library over external dependency."隐藏作用:100% 的 AI 代码生成中抑制其炫技冲动。得到的是朴实耐用的丰田,而非易抛锚的法拉利。实践 13:依赖脆弱性预筛操作:AI 推荐 pip install some-obscure-lib 时,先问:"列出这个库过去 12 个月的下载量趋势图(若无法联网则说明局限),列出它强依赖的子依赖数量,并检查是否有 CVE 警告。如果通过,用 importlib.metadata 写一段运行时检查版本兼容性的启动代码。"目的:防止项目因过气库在未来彻底跑不起来。实践 14:三明治反馈法(让 AI 自我纠错)不要问:"这里有 Bug 吗?"(AI 会嘴硬说没有)要问:(正面)这段代码在处理正常流程时表现很好。(负面)但是,如果 response.json() 解析失败抛异常,conn 这个连接对象会被正确回收吗?(引导)请只针对资源泄露风险做一次极简审计。实践 15:变体演化实验室操作:功能做完后闲着时:"把这段逻辑用纯函数式风格重写一版,但不替换原文件。对比两版的圈复杂度和内存占用预期。"价值:利用碎片时间提升架构审美的最低成本方式。看 AI 写函数式代码,慢慢就真会了。第七章:认知框架总结7.1 核心跃迁对照表维度初始误区最终认知学习大模型想通读论文、系统学框架应用驱动原理,破坏性实验建立体感AI 辅助编程把 AI 当代码生成器,按 Tab 就行把 AI 当资深结对者:先分析、写测试、画架构,最后才写代码项目鲁棒性代码能跑通就等于完成工业代码要能"死得起":备份、降级、限流、可观测缺一不可Vibe Coding连续对话一直改,直到报错消失3 轮不改好立刻推倒重来,一次只改一个原子任务个人成长担心被 AI 替代,依赖补全每周设"去 AI 纯手工日",保持裸写能力,防止代码嗅觉退化7.2 15 条实践的三元闭环闭环层级包含实践目标防御6, 7, 8, 11, 13确保代码不死、不烂、不背债进攻9, 10, 12提升代码表达力和简洁度进化14, 15提升工程师的品味与直觉7.3 可打印便签🔴 动刀前:vibe-save 了吗?🟡 改逻辑:你写伪代码了吗?🟢 跑偏了:满 3 轮对话还没好,立刻 git reset + 新会话。🔵 防退化:今天有没有 30 分钟关掉 AI 纯手写?附录:快速索引想解决的问题跳转章节如何系统学习大模型?第一章AI 改代码越来越烂怎么办?第二章、第五章工业级代码应该注意什么?第四章有哪些具体可执行的 AI 协作技巧?第六章整体认知框架是什么?第七章文档生成日期:2026年4月11日
2026年04月11日
3 阅读
0 评论
0 点赞
此内容被密码保护
加密文章,请前往内页查看详情
2026年04月11日
3 阅读
0 评论
0 点赞
此内容被密码保护
加密文章,请前往内页查看详情
2026年04月11日
1 阅读
0 评论
0 点赞
此内容被密码保护
加密文章,请前往内页查看详情
2026年04月11日
1 阅读
0 评论
0 点赞
此内容被密码保护
加密文章,请前往内页查看详情
2026年04月11日
1 阅读
0 评论
0 点赞
此内容被密码保护
加密文章,请前往内页查看详情
2026年04月11日
1 阅读
0 评论
0 点赞
此内容被密码保护
加密文章,请前往内页查看详情
2026年04月11日
2 阅读
0 评论
0 点赞
1
2
3
...
5