此页面暂未提供您所用语言的版本。 经审校的译文正在准备中,您当前浏览的是英文版本。
工程实践
卓越工程
在我们看来,卓越工程是一套始终如一贯彻的实践:从决策如何记录,到系统如何测试、发布、观测与保障安全。
01
Decisions that last
Good systems are the sum of good decisions, and decisions are easier to defend and revisit when they are written down. We record significant choices as architecture decision records that capture the context, the options considered, the decision and its consequences.
- 01
Architecture decision records
Short, versioned documents that live with the code and explain why the system looks the way it does.
- 02
Code review
Every change is reviewed by another engineer for correctness, clarity, security and fit with the architecture.
- 03
Documentation
Living documentation for setup, operations, interfaces and runbooks, maintained alongside the code it describes.
02
Testing and delivery
We follow the testing pyramid: a broad base of fast unit tests, a focused layer of integration and contract tests, and a small set of end-to-end tests that exercise critical journeys. For AI components, we add evaluation suites that measure behavior against agreed criteria before and after every change.
Continuous integration and delivery pipelines run these checks on every change, so releases become routine events rather than risky ones.
- 01
Testing pyramid
Fast unit tests, contract and integration tests, and targeted end-to-end coverage of critical paths.
- 02
AI evaluation
Repeatable evaluation sets for prompts, retrieval and agents, tracked over time so regressions are visible.
- 03
CI/CD
Automated build, test, security scanning and deployment, with releases designed to be reversible.
03
Observability and reliability
Systems should explain themselves in production. We instrument services with structured logs, metrics and traces, define service-level objectives around what users actually experience, and alert on symptoms rather than noise. For AI workloads, we also trace model calls, tool use, cost and approvals.
04
Security and accessibility by design
Security is designed in from the first architecture conversation: threat modeling, least-privilege access, secrets management, dependency scanning and secure defaults. Where systems handle personal data, privacy requirements shape data models and retention from the outset.
Accessibility is treated the same way. We design and test interfaces with WCAG 2.2 AA as the baseline, because systems that more people can use are better systems.