↑ ↓ 移动 · Enter 打开 · Esc 关闭点按一个结果

架构成为数据,智能体照章执行。

面向 Claude Code 上 Spring Boot 的智能体 harness。

guides · sensors · blueprints

32 skills·7 agents在 harness 中,截至发布版本 v0.44.0 →
§ 70 秒了解

Claude Code 提供模型,Nerviz 提供其余一切。

它不是编码助手:不带模型,也不带编辑器。它不是智能体框架:那些框架用来构建智能体,而它约束一个智能体。它也不是模板:它在运行时通过 Spring Initializr 生成项目,并在之后的每个功能中持续发挥作用。

nerviz-pitch · 69 秒 · 无声
01

架构即数据

九个 YAML 蓝图,外加你自己的。一条声明同时作用于模型、hook 和编译器。

了解更多 →
02

先规格,后代码

每次运行只做一个用例,由每层的负责 skill 逐层设计,经你批准后冻结。

了解更多 →
03

写入时即拦截

禁止的 import、超出 skill 领地的写入、对已批准规格的修改、force push:hook 一律拒绝。不靠模型去记住规则。

了解更多 →
04

成本审计

一个 hook 记录每次运行:每个部件的 token、skill 调用链、改动的文件、提出的问题。记录本身不花 token,/audit-usage 汇总所有运行。

了解更多 →
05

自包含的项目

生成的项目携带完整的 harness 和自己的 CI。之后由 /arch-adopt 更新;低于 Spring Boot 4.0 时,先由 /platform-upgrade 升上去。

了解更多 →
06

Linux、macOS 和 Windows

所有 hook 都是同一个 ArchHook.java,不经过 shell。CI 在 Ubuntu、macOS 和 Windows 上注入每种违规,并要求被拦截。

了解更多 →
§ 问题所在

写一个 skill 只要几分钟,管好所有 skill 才是难题。

各团队很快就用上了编码智能体,而且各有各的做法。几个月后,每个代码库里都冒出同样的问题。

  1. 01

    团队之间没有统一标准

    每个团队各写各的 prompt、skill 和约定。公司在用 AI,却没有统一的用法,结果也无从比较。

    −7.2%随着 AI 采用率上升,交付稳定性的估计降幅。来源: DORA 2024 ↗

    从 YAML 蓝图出发,把同一个 harness 导出到每个项目。

  2. 02

    创建容易,维护难

    写一个 skill 只要几分钟,可让它范围清晰、命名得当、持续更新却没有尽头;frontmatter 字段拼错了,也会被悄无声息地忽略。

    25% → <10%2021 年,25% 的变更行是移动的代码,也就是重构的痕迹;到 2024 年不足 10%。复制粘贴首次超过了移动。来源: GitClear 2025 ↗

    schema 在 CI 中校验;/arch-adopt 更新时不丢失本地修改。

  3. 03

    缺乏治理

    哪个智能体可以写哪个目录?设计由谁批准?规则不写进代码,就由智能体自己决定,而且每次运行的答案都不一样。

    1 个生产数据库在代码冻结期间被一个智能体删除。来源: AI Incident Database, incident 1152 ↗

    按类别划定写入领地,由 hook 强制执行,默认拒绝。

  4. 04

    成本与可追溯性看不见

    token 按环节、按模型、按每次运行消耗。没人说得清是哪个 skill 花的、改了哪些文件、哪里失败了。

    4 个月Uber 就用完了 2026 年全年的 AI 预算,Claude Code 的普及速度超出预期。来源: Forbes 2026 ↗

    /audit-usage:每个环节的 token、模型、文件与失败,生成报告 0 token。

  5. 05

    同样的 prompt,不同的代码

    模型读了 skill 的描述,再决定是否使用。这次加载了,下次却跳过,同一个请求生成的代码大不相同。

    66%的开发者认为最大的困扰是 AI 给出的方案“几乎正确,但不完全对”。46% 不信任其准确性,33% 信任。来源: Stack Overflow Developer Survey 2025 ↗

    命令由人输入,规范按路径加载,hook 在每个事件上运行。

  6. 06

    架构在不知不觉中被侵蚀

    构建是绿的,领域类却导入了框架。几周后的 code review 才可能发现,甚至根本发现不了。

    45%的情况下,面对安全与不安全两种写法,模型选择了不安全的那种。Java 的失败率超过 70%。来源: Veracode 2025 ↗

    forbidden_imports 只声明一次,在写入时即被拒绝。

§ 一个用例的一生

从一行需求到绿色构建

  1. 01/arch-doctor

    这台机器上的强制约束是否生效?

    ✅ operational
  2. 02/init-project

    Initializr、蓝图,harness 导出到项目中。

    20 分钟
  3. 03/new-feature

    简短访谈,每层一个 skill,规格冻结。

    10 分钟
  4. 04/new-feature-implement

    受限的执行器,在干净的会话中运行。

    310 个测试 · 0 失败
  5. 05/audit-usage

    每个环节的耗时、token 与失败。

    生成报告 0 token
§ 从哪里开始

三个起点,一个 harness。

JDK 21+、git 和 curl。无需 Python、Node 或 shell 脚本。

我还没有项目

新项目

/init-project

通过 Initializr 生成的 Spring Boot 项目,带蓝图、可执行的边界和绿色构建。没有业务代码。项目自带 .claude/。

指南 · /init-project →
我有一个 Spring Boot 4.0 及以上的项目

已有项目

/arch-adopt

把 harness 安装到并非在此生成的项目中,或升级落后的项目。拒绝不干净的工作区,并为写入的每个文件记录哈希。

指南 · /arch-adopt →
新 · v0.41
我有一个低于 Spring Boot 4.0 的项目

先升级这条线

/platform-upgrade/arch-adopt

/arch-adopt 会拒绝这样的项目。/platform-upgrade 把构建带到 Initializr 今天提供的那条线:

  • 版本号、BOM,以及被重命名的 starter 和构件
  • 被重命名的类型和配置属性
  • 前后各跑一次测试:test-diff 区分哪些是升级弄坏的,哪些本来就是坏的
  • 绝不提交,也绝不放宽失败的测试
指南 · /platform-upgrade →
§ 公开证据 · nerviz-ai/bank-app
由第三方测量,实时
  • GitHub Actions
  • SonarQube Cloud
  • GitHub

这些不是 Nerviz 绘制的:GitHub 和 SonarQube Cloud 在每次访问时生成。

不必相信,自己运行
git clone https://github.com/nerviz-ai/bank-appcd bank-app./mvnw verify

需要 JDK 21 和 Docker。没有 Docker 时,集成测试会被跳过。 main 最近一次构建输出:

[INFO] Tests run: 287, Failures: 0, Errors: 0, Skipped: 0[INFO] Tests run: 80, Failures: 0, Errors: 0, Skipped: 0[INFO] All coverage checks have been met.[INFO] BUILD SUCCESS