从 Code Agent 视角看:AI 时代该学哪些软件工程、Agent 现有能力与用户要做的事

最近一直在用 Claude Code 写代码,越用越觉得:AI 能力越强,软件工程的价值反而越凸显。这篇是从一个 Code Agent 用户的视角,整理一下我对这个问题的思考。 核心逻辑 LLM 上下文窗口有上限,拉长上下文会带来注意力稀释、输出质量下滑。即便依靠上下文工程(Context Engineering)缓解,随着项目代码体量膨胀,依然会出现代码臃肿、项目难维护、性能失控。 AI 擅长写片段代码,但不会自动产出高质量、可长期维护的工程系统。所以人这一侧需要补上"做正确的系统"这一课。 一、这个背景下,重点要学的软件工程板块 1. 系统架构与模块拆分 不要把大项目全部丢给 LLM。学会合理做模块划分、边界定义、依赖隔离,把大系统拆成多个小的独立单元,刚好适配 LLM 有限上下文,每次只让 Agent 处理局部模块。 重点:高内聚低耦合、接口契约设计、分层设计。 2. 项目工程规范体系 代码规范、目录结构、命名规范、依赖管理、版本控制(Git)、CI/CD 流水线。AI 生成代码风格飘忽,统一规范可以约束 Agent 输出,减少后期整改成本;版本控制更是兜底,防止 AI 大面积改写搞坏项目。 3. 测试工程能力 单元测试、集成测试、契约测试。LLM 很容易写出能跑但暗藏 bug、边界 case 缺失的代码。不能只靠 AI 自测,人要会设计测试用例,用测试去校验 Agent 产出,把测试作为约束 AI 输出质量的手段。 4. 上下文工程(Context Engineering) 属于适配 LLM 开发的新型工程能力: 文件选取策略 提示词编排 知识库检索(RAG) 代码切片 上下文过滤 只把当前任务相关代码喂给模型,而不是整个仓库。用来缓解上下文长度不足、注意力分散问题。 5. 可维护性与技术债务管理 识别 AI 带来的技术债务:AI 快速堆出来的代码常出现重复、硬编码、逻辑混乱。学习重构、解耦、代码评审方法,定期清理 AI 遗留债务,避免项目越迭代越失控。 6. 性能、安全与错误处理 LLM 生成代码经常忽略异常捕获、资源释放、性能损耗、安全漏洞。需要掌握性能分析、异常处理、安全校验,对 Agent 产出做审查把关。 ...

2026年9月6日 · 1 分钟 · 162 字

Hugo 搭建踩坑记录(2026-09-06)

今天第一次搭 Hugo + PaperMod + Cloudflare Pages,照着网上笔记抄,结果踩了 4 个坑。记录下来防自己再踩。 坑 1:hugo.toml 里的连字符不是普通 - 我抄的笔记里写的是 languageCode = "zh‑CN",看着像普通连字符,实际上是 U+2011 non-breaking hyphen。TOML 解析没问题,但语言码识别不对。 解决:全部用 ASCII 普通连字符 "zh-CN"。 类似的,baseURL = "https://xxx.pages.dev" 里的 xxx 占位符没换成本地预览也能跑,但部署后所有相对路径都会指向 xxx.pages.dev,必须换成 Cloudflare 分配的真实地址。 坑 2:Hugo v0.158+ 弃用了 languageCode 我的版本是 0.165,弃用警告: WARN deprecated: project config key languageCode was deprecated in Hugo v0.158.0 解决:用新的 [languages.zh] 配置块: defaultContentLanguage = "zh" [languages.zh] languageName = "中文" weight = 1 ⚠️ 但单语言博客继续用 languageCode 也行(只是有警告),不必为了消除警告折腾。PaperMod 主题本身也还在用旧的 .Language.LanguageDirection 等,新警告都是 cosmetic 的。 ...

2026年9月6日 · 1 分钟 · 142 字

第一篇自我记录笔记

这里写你的记录,普通 Markdown 全部支持: 列表 加粗、斜体、行内代码 链接 代码块 def hello(): print("Hello, Hugo + PaperMod!") 数学公式 行内公式:$E = mc^2$ 块级公式: $$ \int_{-\infty}^{\infty} e^{-x^2} dx = \sqrt{\pi} $$ 自我记录模式:可以随手写,不追求排版,重点是把知识沉淀下来。 写完后 hugo server -D 本地预览,确认 OK 再 git push 推到 Cloudflare 自动部署。

2026年9月6日 · 1 分钟 · 38 字