> For the complete documentation index, see [llms.txt](https://weekly-essay.mikey.wang/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://weekly-essay.mikey.wang/zh/2025-nian/w50-ming-nian-zai-ai-coding-shang-tuan-dui-ying-gai-gan-shen-me.md).

# W50-明年在 AI Coding 上团队应该干什么

这周读到 a16z 和 OpenRouter 的[《State of AI》](https://openrouter.ai/state-of-ai)，他们用 OpenRouter 平台上 100 万亿级别的真实 token 做了实证研究。 看了个开头就有种时间错乱的感觉，o1 正式版是 2024-12-05 发布，离现在也就刚好一年。推理型模型承载的 token 占比在 2025 年一路上升，最近已经超过一半。

假设未来几年模型能力仍会持续变强（多模态、记忆、Agentic 都会继续外溢），那团队在 AI Coding 上的核心目标，就不应该只是引入几个工具、攒几套提示词，而是建设 AI-Ready 的工程基础。让模型越强，我们的交付能力越能被解锁。

让工作可以长期发生在主航道上，以下五个方面都具备可积累性。

**1）架构**

一个讲不清道不明的项目，AI 也很难发挥。不仅消耗大量 token，而且极易因忽略隐式依赖而引发回归 Bug。前端架构里的主要问题，就是视图和业务逻辑混在一起，逻辑与副作用的纠缠，易变的和不易变的拆不开。不是用了 MVVM、MVC 就能解决的。

项目应该能明确回答“核心代码是什么”。核心代码承载所有业务逻辑与状态演化，理想情况下，是纯函数、框架无关、零环境依赖、可单测、输入输出确定的。其余部分处理网络I/O、副作用、UI渲染。这样 AI 才有稳定的着力点，改动也更可控。

**2）上下文显性化**

如果缺乏历史背景，AI 也无法理解为什么代码中存在某些奇怪的 hack。文档和注释的重要性，已经不只是知识沉淀，而是直接影响代码生成质量。

更具体一点，业务领域信息、架构约束、技术栈偏好、团队工程规范都应该被显性化，最好能沉淀成 AI 更容易消费的形式，例如 ADR、约束清单、README 的“不可破坏项”，配合合适的工具链，把上下文喂给模型。

**3）约束左移**

我很认同通过编译器/静态分析把问题左移的思路。严格编译的代表语言是 Rust，但前端多数场景并不是非要 Rust 才能避免事故。真正的问题是 TS 的语言优势没有被充分地用起来。这个主要原因是历史上为了更快的普及TS，允许以很宽松的方式使用TS，但事实上很多项目在类型和编译约束上并没有开全。

TS的 strict 模式是基础，是不可协商的，必须激进地禁止像 any 这种无意义类型。统一自定义 Lint 规则是必要的，编写自定义 ESLint 规则以强制执行架构边界，统一语言风格，例如强制 Composition API 、禁止跨层依赖。

**4）程序化验证**

代码生成会越来越便宜，真正昂贵的是验证代码是否正确，让低成本验证的工作先发生。这既顺应了 TDD 的思想，也解决了过往 TDD 落地成本高的痛点。

有了良好的架构就能很好地识别出核心代码，对核心代码做单测覆盖就变成了性价比很高的事情。前后端是依据契约完成协作的，加入 Zod 保证对 Schema 的运行时验证是有必要的。前端和 QA 是通过测试用例协作的，在实现前写清楚验收条件或自然语言测试用例，这看起来很无趣，但可能很有效。

**5）可观测性与排查**

客诉响应、线上问题排查会随着组织扩张和分工细化效率越来越低。各个服务日志信息分散，群里来回收集事实信息就能耗掉几个小时。

打通日志与可观测性，让 AI 能看到完整上下游数据。至少做到结构化日志、统一 trace、关键链路可回放。先把事实收集自动化，工程师的响应才能更敏捷。同时也是 AI 自动化诊断的必要前置。
