Agent开发系列(十二)-知识库建设(ADR)

二维矩形件排样算法之最低水平线算法实现 最低水平线算法的简单实现(Python) 1、二维矩形排样算法众多,最早的有BL算法、下台阶算法、最低水平线算法等,其中最低水平线算法及其优化算法应用较多,是与智能优化算法(遗传算法、模拟退火算法等)结合的最多的算法,本文利用python对最低水平线算法做了实现... 阅读详情

一、什么是ADR?

ADR(Architecture Decision Record,即架构决策记录)。研发团队里特指"记录一次重要架构决策的短文档"。

它是什么它不是什么
重要架构决策的"决策书"(过去时)架构总览(那是"现在是什么")
记录"为什么选 A 不选 B"会议纪要(那是过程)
防止"重复讨论 + 推翻重做"产品决策(那是 PRD/Roadmap)
写一次、状态变更、几乎不改内容实施细节(那是 PR/Commit)
# ADR-0001: 选 PostgreSQL 不用 MySQL

## 状态
Accepted

## 背景
- MySQL 5.7 已运行 5 年,数据量 3TB
- 性能瓶颈 + EOL 合规压力
- 需要 JSONB、窗口函数、并行查询

## 考虑的选项
1. MySQL 8.0(升级)
2. PostgreSQL 16(迁移)
3. TiDB(HTAP)

## 决策
选 PostgreSQL 16。
- 否决 MySQL 8:JSON 弱,无法解决 3TB JOIN
- 否决 TiDB:运维成本高,收益不明确

## 后果
- 正面:JSON 性能 +5x
- 负面:迁移需 6 周
- 后续:6 个月后 review

二、ADR的知识模板如何定义?

2.1 知识模板

分类字段类型必填备注
基础编号string✓全局唯一,如 0001
基础标题string✓动词开头,一句话
基础状态enum✓Proposed/Accepted/Rejected/Deprecated/Superseded
基础创建日期date✓
基础决策日期date×状态变 Accepted 时填
基础作者@user✓草稿作者
基础决策参与者list[@user]✓参与讨论的人
基础关联服务/系统list[link]×
核心背景markdown✓【核心】面临什么问题,为什么现在要决策,有什么约束
核心选项list(≥2)✓【核心】至少 2 个,通常 3-4 个,每个有名称
核心决策markdown✓【核心】选了什么,理由是什么
核心后果markdown✓【核心】正面 / 负面影响,后续工作
关联superseded byADR 编号×状态为 Superseded 时填
关联关联代码路径list[link]×实施该 ADR 的代码
关联关联 Runbooklist[link]×涉及运维的填
关联关联事故档案list[link]×事故触发的 ADR 填

案例如下:

# ADR-0001: 选 PostgreSQL 不用 MySQL

## 状态
Accepted

## 背景
- 当前订单数据存储在 MySQL 5.7,已运行 5 年
- 数据量增长到 3TB,MySQL 大表 JOIN 性能瓶颈
- 团队对 MySQL 5.7 EOL(2023-10)有合规压力
- 业务需要 JSONB、窗口函数、并行查询

## 考虑的选项
1. **MySQL 8.0**:升级现有 MySQL,无数据迁移
2. **PostgreSQL 16**:迁移到 PG,功能强,生态成熟
3. **TiDB**:HTAP 方案,水平扩展

## 决策
**选 PostgreSQL 16**。
理由:JSONB/窗口函数原生支持、并行查询、社区活跃度高于 MySQL 8、
团队已有 PG 经验(3 人)。
**否决 MySQL 8**:JSON 函数能力弱、并行查询有限、升级无法解决 3TB JOIN 瓶颈。
**否决 TiDB**:运维成本高、HTAP 收益对当前业务不明确。

## 后果
- **正面**:JSON 字段查询性能 +5x,大表 JOIN +3x
- **正面**:为后续架构演进(多租户、地理分布)提供更好基础
- **负面**:数据迁移需 6 周,需 0.5 FTE 专注
- **负面**:MySQL 时代的运维经验部分失效
- **后续**:运行 6 个月后 review,看是否需要回退
- **关联**: [迁移项目 #PRJ-2031]

三、ADR的更新机制如何设计?

触发器触发条件动作责任方
PR-ingestPR 实施 ADR 决策自动关联 ADR 编号到 PRLLM
Lint 反查代码偏离 ADR告警 + 提醒更新状态自动
手动状态变更重大事件(事故/技术演进)触发走 PR 改状态决策参与者
定期 review每年/每季度复查检查"过期的 ADR"架构师

3.1 关键设计点

设计点具体要求
状态变更走 PR决策变更要可追溯,不是直接改
Superseded 必须有链接superseded by: ADR-0015,可追溯链条
被 Superseded 的 ADR 不删除历史背景常被翻账
Lint 强制:Accepted 状态 ADR 跟代码一致不一致就告警,推动状态变更
状态变更要 review至少 2 个决策参与者 approve
Accepted 后,正文几乎不修改决策的"过去时"是稳定的

3.2 反模式

反模式后果
直接修改 ADR 正文(改"决策")历史丢失,无法知道"当时怎么想的"
状态不写,默认都是 Accepted看不到哪些在讨论、哪些被否决
Superseded 写"已被新方案替代"不写编号追溯链断裂
删除 Rejected 的 ADR未来重新讨论时,前人踩过的坑看不见
状态变更不通知关联方实施 ADR 的人不知道决策已变

四、ADR的质量标准如何定义?

核心判断:ADR 的"质量"= 决策可追溯 + 跟代码一致 + 状态正确。不是"文档漂不漂亮"。

指标定义健康值测量方式
覆盖率重大决策有 ADR 的比例100%抽查
一致性代码与 ADR 描述一致≥ 95%Lint
可追溯决策变更链条完整无断裂100%自动
被引用率ADR 被代码/Runbook/wiki 引用的比例≥ 80%链接统计
状态正确性ADR 状态与现实一致≥ 95%季度 review

4.1 3个反向指标(出现就告警)

反向指标告警触发修复动作
裸奔决策重大代码变更(选型/架构)无对应 ADR立即告警,要求补 ADR
失信 ADR代码严重偏离 ADR 决策立即告警,要求更新状态或同步代码
僵尸 ADR状态长期不更新,引用链断裂季度 review 列出,要求清理

4.2 3个质量门槛

门槛触发动作
准入门槛(发布前)必填字段完整 + 至少 2 个选项 + 决策明确 + 至少 2 个决策参与者缺一不准合并
持续门槛(运行中)ADR 跟代码一致 + 状态正确 + 至少被 1 处引用否则季度 review 标 stale
淘汰门槛永不删除,只 Superseded归档到 superseded/ 目录
安卓手机老版本微信无法登录?无需root 一招教你如何搞定!旧版本照样登录,微信7.0亲测有效 微信我试了清缓存、用不同的版本、甚至关网登录都不行。于是我研究了一下背后的原理,发现这不仅是个技巧,还是微信设计的一点“疏忽”——**只要有方法,旧版本照样能用**。 阅读详情

相关推荐

GD32F427移植LiteOS-M实战:如何快速复用官方Demo进行二次开发

本文详细介绍了如何在GD32F427开发板上移植LiteOS-M操作系统,通过复用OpenHarmony官方Demo快速构建RTOS工程。文章涵盖环境搭建、芯片配置迁移、中断向量表处理和外设驱动适配等关键步骤,并提供了调试技巧和二次开发进阶建议,帮助开发者高效完成移植工作。

weixin_33736048的博客 415

Agent开发系列(八)-组织知识库建设

本文提出了一套基于LLM的研发知识库分层架构与管理机制。知识库分为三层:RawSources层(只读原始数据,如代码、PR、监控)、Wiki层(LLM生成的消费级知识,如架构图、API文档)和Schema层(人工定义的规则与分类体系)。

LHW0621的专栏 1297

Pcileech(DMA)开源项目简述

希望大DMA家能正确认识FPGA,正确使用DMA技术,对于市场上各类伪装成花里胡哨设备的FPGA板卡它的本质是不会变的,不要上当受骗。

2301_79773847的博客 5962

Saleor 领域文档治理指南:如何为 AI 工程 Agent 组织 CONTEXT.md 与 ADR 文档

Saleor 是一个高性能、可组合的无头电商 API(headless commerce API),代码库规模庞大,业务领域横跨 gift card、checkout、payment、shipping、tax 等多个模块。本文讲解 Saleor 仓库中面向 AI 工程 Agent(engineering skills)的**领域文档消费规范**——即 [docs/agents/domain.md]

gitblog_00899的博客 956

ThingsBoard实战指南:RPC命令下发与设备交互详解

本文深入解析了ThingsBoard平台中RPC命令下发的核心机制与实战应用。通过对比客户端与服务端RPC模式,详细阐述了从仪表盘控件配置到设备端Python代码响应的完整双向交互流程,并提供了常见问题排查与进阶优化技巧,帮助开发者构建可靠、实时的物联网设备控制系统。

weixin_29168153的博客 213

Java使用POI生成柱状图导出到word文档(柱状图)

本篇文章主要介绍,如何使用Apache POI组件生成柱状图导出到word文档中,具体步骤看下文。 一、实现效果 Java使用POI技术生成柱状图导出到word文档中,最终生成的柱状图如下所示: 二、环境准备 编程语言:Java 第三方依赖:Apache POI Apache POI依赖代码如下所示: <dependencies> <dependency> <groupId>org.apache.poi</groupId.

✅ Java 开发工程师 7371

Agent开发系列(十一)-知识库建设(知识地图)

知识地图是动态更新的团队能力快照,核心价值在于解决"找谁协作"问题而非信息堆砌。其设计遵循三大原则:1)数据自动同步(HR/CODEOWNERS为源),避免人工维护;2)模块化模板设计(服务×人、角色×联系方式等5类),区分公开/敏感信息;3)质量以时效性为先(指标包括覆盖率、新鲜度等)。

LHW0621的专栏 334

复现Fastjson反序列化漏洞(从dnslog回显到rce再到反弹shell)

Fastjson是阿里巴巴的开源JSON解析库,它可以解析 JSON 格式的字符串,支持将 Java Bean 序列化为 JSON 字符串,也可以从 JSON 字符串反序列化到 JavaBean。它还可以用于将JSON字符串转换为等效的Java对象,fastjson爆出多个反序列化远程命令执行漏洞,攻击者可以通过此漏洞远程执行恶意代码来入侵服务器。......

记录并分享学习安全的知识点.. 2697

ADR开源贡献指南:参与项目开发流程

ADR(AI Agent Defense Research)是一个致力于通过可观测性、安全基准测试和威胁检测来保护企业AI代理的开源项目,已在Uber成功部署。本指南将详细介绍如何参与ADR项目的开发流程,帮助新手和普通用户快速融入开源社区,为项目贡献自己的力量。 ## 一、项目了解与环境准备 ### 1.1 项目核心功能与架构 ADR项目主要分为Detection和Sensor两大模块。D

gitblog_00556的博客 253

手把手教你学Simulink——整流器场景:基于PWM控制的单相全桥整流器设计

摘要:本文详细介绍了使用Simulink搭建基于PWM控制的单相全桥整流器的完整设计流程。主要内容包括:系统结构设计(含交流电源、全桥整流器、滤波电路等模块)、分步骤建模过程(从创建项目到添加各功能模块)、双闭环控制系统设计(电压外环和电流内环PI控制)、参数设置建议及仿真分析。通过仿真验证,该整流器可实现单位功率因数运行和稳定输出电压,并提供了数字锁相环等优化方向。文章为电力电子系统设计提供了实用的Simulink建模指导。(149字)

MHD0815的博客 324

24. SAP UI5 应用如何使用 OData 数据模型

本教程之前的二十三个步骤,使用的数据模型都是 JSON 模型。从本步骤开始,我们要学习另一种非常重要的数据模型:OData 数据模型。 OData 数据模型也是 SAP 产品里广泛使用的数据模型,比如 SAP S/4HANA,SAP CRM Fiori 应用等等,都使用的是 OData 数据模型而不是 JSON 数据模型。 使用 OData 数据模型的典型场景就是,通过 OData 模型提供的 Read API,将远端服务器上存储的数据通过 OData 协议读取到客户端,并显示在 SAP UI5 应用里。.

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 5797

ADR开发环境搭建:从源码到运行全流程

ADR(AI Agent Defense Research)是一个为企业级AI代理提供安全保障的开源项目,通过可观测性、安全基准测试和威胁检测来保护AI代理。本指南将带你完成从源码克隆到环境配置的完整搭建过程,让你快速上手ADR的开发与测试。 ## 🔍 环境准备:系统要求与依赖项 在开始搭建前,请确保你的系统满足以下要求: - **Python版本**:3.10至3.12(推荐3.10版本

gitblog_01056的博客 509

面向口齿不清者的语音识别新突破:用大模型拯救“听不懂”的声音

面向构音障碍患者的语音识别新突破:大语言模型显著提升识别准确率 国际语音研究团队在Interspeech 2025发表最新成果,通过将大语言模型(LLM)融入语音识别系统,显著改善了对构音障碍(dysarthria)患者语音的识别效果。研究表明: 传统语音识别(如CTC模型)对构音障碍语音的词错误率(WER)高达50-54%,Whisper模型降至38-40%。 引入LLM解码器后,BART模型将WER降至30-32%,而Whisper-Vicuna组合更将WER降低至21-26%。 关键优势:LLM能有效

帅小柏的博客 270

Agent开发系列(九)-知识库建设(领域词典)

本文重点介绍了知识库建设中,如何建设领域词典。第一部分介绍了:领域词典不限于知识库;后面又逐步介绍了领域词典的模板、更新机制、质量标准,以及其冷启动方法。

LHW0621的专栏 689

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

ADR开源社区:参与项目开发与交流的完整指南

ADR(AI Agent Defense Research)是一个致力于通过可观测性、安全基准测试和威胁检测来保护企业AI代理的开源项目,已在Uber成功部署。本文将详细介绍如何参与ADR开源社区的开发与交流,帮助新手和普通用户快速融入社区,贡献自己的力量。 ## 为什么加入ADR开源社区? ADR作为企业级AI代理安全防护的领先项目,为开发者提供了一个绝佳的学习和实践平台。加入社区,你可以:

gitblog_01102的博客 479

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

Feishin 领域文档消费约定:Agent 如何基于 CONTEXT 与 ADR 探索代码库

Feishin 仓库在 [docs/agents/domain.md](https://link.gitcode.com/i/481699baf2ed231e62eeda6f7defff13) 中为工程 Agent 定义了一套"领域文档消费规范":在深入代码库之前,先读取 `CONTEXT.md`、`CONTEXT-MAP.md` 与 `docs/adr/`,用术语表统一措辞,并在输出与既有 AD

gitblog_00899的博客 1181

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

ADR开源生态:贡献代码与参与社区建设

ADR(AI Agent Defense and Resilience)是一个为企业AI代理提供安全保障的开源项目,通过可观测性、安全基准测试和威胁检测来保护AI代理。作为一个部署在Uber的成熟项目,ADR欢迎所有开发者参与贡献,共同构建更安全的AI代理生态系统。 ## 为什么选择贡献ADR? 参与ADR开源项目贡献不仅能提升你的技术能力,还能为企业AI安全领域做出实质性贡献。ADR项目具有

gitblog_00883的博客 403

ADR-NNN: <Title>

- **Status**: proposed - **Date**: <today's date YYYY-MM-DD> - **Deciders**: <leave blank for author to fill> - **Tags**: <leave blank> ## Context <!-- What is the issue that motivates this decision

gitblog_00186的博客 795

Claude Code Game Studios ADR状态陷阱:为什么引用Proposed状态的ADR会自动阻塞Story

Claude Code Game Studios(CCGS)是一个把 Claude Code 变成完整游戏开发工作室的开源项目,内置 49 个 AI Agent、72 个工作流技能,并用一套完整的协调系统模拟真实工作室层级。其中最容易踩的坑是:**Story 一旦引用了 Proposed 状态的 ADR(架构决策记录),就会被自动阻塞**,无法进入开发。本文带你搞懂这个状态陷阱的原理与解法。 #

gitblog_00791的博客 430

论文转PPT流程教程:nature-paper2ppt 如何把论文 PDF 变成中文组会汇报 PPT

周四 9:30,距离组会还有四十分钟。论文 PDF 还停在浏览器里,PPT 只有封面一页。开源科研 Skill 库 Nature Skills 里的 nature-paper2ppt 技能,接管的正是这条论文转PPT流程:给它一篇论文,还你一份 10–16 页的中文组会汇报 PPT,每页带一段口语化 speaker notes(PowerPoint 里的演讲者备注)。它替代的活很具体:通读全文找证

gitblog_00836的博客 408

plannotator 架构决策记录(ADR)实践指南:从 ADR-0001 到 007 的决策治理体系

本文围绕 plannotator 仓库中的 [ADR-0001《Record architecture decisions》](https://link.gitcode.com/i/735a6c9b48d31f2f54ea9cb149cbaf65)展开,讲解该开源项目如何借助 Architecture Decision Records(架构决策记录,简称 ADR)这一轻量文档化方法,把"为什么这样

gitblog_00395的博客 323

Codex + 文档 / 知识库实战:如何让 Codex 读项目文档、生成 ADR、维护 Runbook,并把团队经验沉淀成可复用的工程知识?

Codex 的长期价值,不只是帮你完成一次任务,而是让团队每次任务都变成下一次任务的上下文。README 是入口,不是全部知识库。ADR 记录为什么这么决策。Runbook 记录出问题时怎么处理。AGENTS.md记录 Codex 每次协作都应该遵守的规则。MCP / Connector 适合连接外部私有知识,不要靠公开搜索猜。Codex 生成的关键文档要有来源、状态、owner 和人工 Review。

2501_92891721的博客 536

brain-to-docs 实战指南:用结构化访谈把项目愿景与决策沉淀为 README 与 ADR 文档

本文围绕 AAS(agentic-awesome-skills)插件仓库中的 `brain-to-docs` 技能展开,讲解如何通过一问一答的访谈式对话,把用户脑中的项目愿景、品味、判断、知识与决策系统地萃取出来,写入清晰简洁的 Markdown 文档:README 承载愿景,`docs/adr/` 承载决策。读完本文,你将掌握 brain-to-docs 的核心循环、提问策略、更新规则与 ADR

gitblog_00812的博客 914

RuView 系统架构设计师 Agent 深度解析:system-architect 的配置解剖与 ADR 决策协作机制

本文以 RuView 仓库中的 [system-architect Agent 定义文件](https://link.gitcode.com/i/14cb262dbfd1993edba176075fac4427) 为核心,逐段拆解这个"系统架构设计师"Agent 的完整配置——从触发条件、工具白名单、路径沙箱到人工审批门槛——并解释它如何与仓库中 210 份架构决策记录(ADR)体系协作。读完后,

gitblog_00773的博客 420

Agent开发系列(十)-知识库建设(架构总览)

本文提出了一种基于代码自动生成的架构总览方法论。核心观点是架构总览应该是代码的实时映射(影子),而非人工编写的文档。文章详细定义了架构总览的五大结构化模板(总览页、服务清单、依赖图、技术栈矩阵和部署拓扑),强调其查询属性而非阅读属性。同时,补齐了架构总览的知识模板、更新机制、质量标准等

LHW0621的专栏 339

Reactive Resume 多上下文领域文档体系:Agent Skills 如何消费 CONTEXT-MAP.md、CONTEXT.md 与 ADR

Reactive Resume 在 [docs/agents/domain.md](https://link.gitcode.com/i/f1e2fe3e2c3d438518c9632ff88b041b) 中定义了一套「多上下文领域文档(domain docs)」体系,规定工程类 Agent 技能(engineering skills)在动手改代码之前应如何读取、如何使用本仓库的领域文档与架构决策

gitblog_00599的博客 306
上一篇: Agent开发系列(十一)-知识库建设(知识地图)
morning_judger
博客等级 码龄16年 403粉丝 93原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

morning_judger

您的鼓励是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值