结合截至 2026 年 4 月能看到的公开案例与开源生态,整理软件团队从「贴 Prompt」逐步过渡到 Agentic 工作流时,质量保障与团队协作可能发生的变化。
Nemotron EP2 vs TP2:两台 DGX Spark 的实际对比
在两台 DGX Spark 上对比 vLLM EP2 和 TP2 跑 NVIDIA Nemotron 3 Super 120B A12B NVFP4 的结果,并分析 EP2 失稳的可能原因。
微服务契约共享的 Tradeoff:从 Monorepo 到 Polyrepo,该共享到哪一步
BFF 与微服务之间到底该共享到哪一步?Shop Platform 的 monorepo 实践之外,共享 contracts、共享 client 和契约测试在 polyrepo 下各有 tradeoff,我目前更倾向其中一种组合。
Java 21→25 与 Spring Boot 3.5→4.0:为什么升级,怎么升级
Java 21→25 和 Spring Boot 3.5→4.0 值不值得升,先看版本维护周期与语言、框架层的变化;真上手时,手动迁移和 OpenRewrite 自动化两条路径的取舍也不一样。
ArchUnit 作为 Code Agent 时代的 Harness:微服务、Monorepo 与普通 Repo 的落地方式
在 code agent 普及的背景下,我在 Shop Platform 用 ArchUnit 作为可执行的 harness,它在微服务、monorepo 和普通 repo 里的落地方式各不相同。
vLLM TP=2 跨节点部署实践:两台 DGX Spark 跑 Qwen3.5-35B-A3B
两台 DGX Spark 以 vLLM TP=2 跨节点跑 Qwen3.5-35B-A3B,部署过程、benchmark 数据和与单机的对照都在这一篇。
把单体数据库迁移拆成三阶段:Liquibase Split POC 的落地结构与踩到的坑
用 Spring Boot 3.5 + Java 25 + Liquibase + PostgreSQL 做了一个可运行 POC,验证如何把单体应用的数据库迁移拆成 Phase 1 单体、Phase 2 共享库拆 changelog、Phase 3 独立数据库三阶段,并记录实际踩坑与验证结果。
为什么不少 AI Agent 会用 Git Worktree?
同一个仓库开出多个工作目录,是 Git Worktree 和反复 checkout、多次 clone 最实在的差别;Claude Code、Gemini CLI 这类 agent 拿它并行跑任务,也是冲着这点。
Java Multi-Release JAR:一个 jar 里同时放新 JDK 实现和向后兼容实现
Multi-Release JAR (MRJAR) 靠 META-INF/versions 的目录结构,让一个 jar 在运行时各挑各的实现,向后兼容和使用新 JDK 特性不用二选一,代价是几条绕不过去的限制。
Model Context Protocol (MCP):我搭了一个 SQLite 服务器,把概念落到实践
Tools、Resources、Prompts 这三个 MCP 核心概念,用一个能跑起来的 SQLite MCP 服务器串起来,连调试一起走完一条开发流程。