磨刀不误砍柴工,良好的工具可以有效提高效率。本文介绍基于 Obsidian 和 GPT 打造架构知识库的思路,为架构师提供整理、分享、沉淀架构知识的平台。原文: Solution Architecture Automation With Obsidian and GPT
Stas Parechyn @Unsplash
本文介绍的 ArchVault 是一个旨在帮助架构师将想法转化为设计的工具,是ChatGPT和软件架构的延伸。
我在 GitHub 创建了一个项目,方便读者尝试这些技术。
前置条件: 最好对 Obsidian 有基本的了解,这有篇入门介绍: Obsession with Obsidian
ArchVault 概述
ArchVault 的架构基于 Nick Milo 和 ForteLabs 的概念,专注于组织 Obsidian Vault 和构建第二大脑的最佳方式,其目的是收集知识并有效利用 GPT AI 引擎,以纯文本形式访问 Vault 中的知识,并包含在 GPT 查询中。
Atlas
ArchVault 的第一部分是 Atlas,其概念来自Nick Milo的LYT Vault培训课程。其主体为内容地图(MoC,Maps of Content),即存储在整个 Vault 中的知识内容。MoC 通过动态更新 Dataview 插件,自动展示 MoC 中被正确标记或链接的内容。
Inbox
基于ForteLabs开发的 CODE 技术,Inbox 文件夹是新笔记的默认位置。在移动到更合适的地点之前,可以在 Inbox 中对笔记进行细化。
CODE 代表:
- Capture(捕获): 保留有价值的信息
- Organise(整理): 为可操作的用途而储存
- Distil(蒸馏): 提取精华
- Express(展示): 展示你的作品
PARA 目录
PARA系统是 Tiago Forte 的"构建第二大脑(BASB, Building a Second Brain)"方法论的一部分,用于帮助个人有效获取、组织和访问知识和想法,将信息组织成四类高度组织化、易于搜索的数字系统。
PARA 代表:
- P: Projects(项目) —— 需要一系列行动的多步骤任务或结果
- A: Areas(区域) —— 多个项目使用的知识所在区域,例如内部模式或解决方案构建块
- R: References(参考资料) —— 完成项目或支持重点领域所需的材料,如文章、书籍、联系人、网站等
- A: Archives(归档) —— 已完成的项目、参考资料或其他信息,以备将来参考,但当前并不需要
标准文件夹
体系架构实践有指导标准和原则,例如TOGAF标准信息库(SIB, Standards Information Base)。在 ArchVault 中包含这些标准从而帮助 GPT 获得更准确的响应,并可用于训练像Microsoft Azure Open AI Service这样的模型。
全景文件夹
图表可以反映技术环境中的逻辑和物理关系,这是有价值的优势。全景文件夹是存储图表和画布文件的合适位置。我们很喜欢图表和模型!
日志文件夹
决策(Decisions)、假设(Assumptions)、问题(Issues)和风险(Risk)日志(DAIR 日志)跟踪并记录与决策过程相关的关键元素。DAIR 日志包含四个主要组件: 决策、假设、问题和风险。日志在整个决策过程中不断更新,帮助利益相关者和同行了解关键因素,并在实施后评估流程是否成功。
需求
TOGAF 是企业级架构框架,为组织提供通用语言、方法和工具。基于需求的方法是 TOGAF 框架的关键方面,强调在设计体系架构之前需要了解组织的业务需求和目标,包括识别业务需求,定义、分析和确定优先级,开发体系架构,验证并实现架构。通过坚持这种方法,组织可以构建适合其需求并与业务目标保持一致的体系架构。
数据存储
数据存储库是用于构建软件应用程序的各种数据存储技术或数据库的集合,可以专门用于处理特定数据类型或针对某些应用进行优化。通常包括关系型数据库和非关系型数据库以及特殊数据存储技术,如图形数据库、键值存储和文档数据库。每种数据库类型都有其独特的优缺点,需要基于应用需求加以选择。
数据存储库为开发人员提供了一系列存储和管理数据的选项,使他们能够根据自己的需要选择最合适的技术。通过访问各种数据存储,开发人员可以选择为其应用程序提供最佳性能、可伸缩性和数据管理功能的存储。
任务
任务可以并且应该在 Vault 中的任何位置基于任何原因或目的创建,并且需要被跟踪。任务文件夹包含主任务文件,支持将整个 Vault 中生成的任务合并到一起。
除了上面介绍的部分,ArchVault 还提供了其他特性和资源来增强解决方案和软件体系架构实践。结合这些组件可以创建全面的体系架构环境,促进知识管理和决策。
模板
ArchVault 中的模板对于保持一致性和简化新内容的创建至关重要。常见笔记类型(如项目大纲、会议笔记和决策记录)的预定义模板可确保在 Vault 中统一组织信息。此外,可以对模板进行定制和调整,以满足特定体系架构需求。
插件
Obsidian 支持扩展功能和改善用户体验的各种插件,ArchVault 包含以下插件:
- Auto Note Mover: 该插件可以根据特定规则或条件自动移动或重新组织笔记,帮助笔记保持整洁和结构良好,在笔记越来越多时尤其有用。
- DataView: DataView 是一个功能强大的插件,允许以结构化和有组织的方式查询、过滤和显示笔记中的信息。使用这个插件,就可以根据元数据、标签或笔记中的内容创建表、列表和其他自定义视图。
- Editing Toolbar: Editing Toolbar 插件为 Obsidian 的 Markdown 编辑器添加了可定制的工具栏。此工具栏提供了对常见格式选项的快速访问,例如粗体、斜体、标题、列表等,从而更容易对笔记格式化,而无需记住 Markdown 语法。
- Text Generator: 这个插件帮助生成基于预定义模板或人工智能文本生成引擎的文本或内容。可以通过提供建议或填充占位符来帮助用户快速创建草稿、大纲或新笔记。
- Natural Language Dates: Natural Language Dates 插件使用户能够以更易于人类阅读的格式解析和输入日期,例如"下周一"或"两周后",帮助用户更容易管理日期(尤其是在处理截止日期或安排日程时)。
- Tag Wrangler: Tag Wrangler 是一个可以帮助管理和组织笔记中标签的插件,提供了标签重命名、标签合并和标签自动完成等功能,使标签系统在整个 Vault 中保持一致和有组织。
- Obsidian Tasks: Obsidian Tasks 是一个任务管理插件,允许创建、管理和跟踪笔记中的任务。使用此插件,可以创建具有截止日期、优先级和完成状态的任务,并可以在专用任务窗格或日常笔记中查看。
通过利用这些插件,架构师可以进一步提高生产力,并确保对知识和任务的有效管理。
协作
ArchVault 确保整个团队能够高效工作,并通过促进协作来分享有价值的见解和专业知识。ArchVault 不仅是为个人架构师设计的,也是为团队合作项目设计的。Vault 可以设置为与 GitHub 等云存储服务同步,允许多个用户贡献和访问知识库。
与 GPT AI 集成
ArchVault 的主要目标之一是通过与 GPT AI 集成来提高架构师的生产力,允许架构师利用 AI 的力量来解决复杂问题并做出更明智的决策。GPT AI 引擎可以访问存储在 Vault 中的知识、生成建议、回答问题,并根据可用信息提供见解。
为了实现与 GPT AI 的无缝集成,可以使用以下策略:
- 结构化数据: 确保存储在 ArchVault 中的数据具有良好的结构和组织,使 GPT AI 更容易访问和理解信息,从而产生更准确和相关的建议。
- GPT 提示: 创建并组合针对特定架构任务或问题定制的 GPT 提示。GPT AI 可以通过提供精确、简洁的提示,生成更有针对性、更有价值的响应。
- 持续学习: 当 GPT AI 生成响应时,评估建议的准确性和有用性。GPT AI 可以通过提供反馈和改进提示来学习和改进,成为架构师越来越有价值的工具。
- 自定义模型: 考虑为更高级的用例使用根据组织的特定体系架构知识和标准进行培训的自定义 GPT 模型,为组织提供更准确、更相关的建议。
结论
通过与 GPT AI 结合,ArchVault 为架构师提供了丰富的环境来管理知识、做出明智的决策、改进解决方案和软件架构实践。通过利用本文和本系列后续文章中概述的工具、技术和原则,架构师可以挖掘 AI 和 Obsidian 的潜力,帮助他们将想法变为现实。
你好,我是俞凡,在 Motorola 做过研发,现在在 Mavenir 做技术工作,对通信、网络、后端架构、云原生、DevOps、CICD、区块链、AI 等技术始终保持着浓厚的兴趣,平时喜欢阅读、思考,相信持续学习、终身成长,欢迎一起交流学习。微信公众号:DeepNoMind