ChatGPT与软件架构(2) - 基于Obsidian和GPT实现解决方案架构自动化

news2025/4/17 7:20:29

磨刀不误砍柴工,良好的工具可以有效提高效率。本文介绍基于Obsidian和GPT打造架构知识库的思路,为架构师提供整理、分享、原文: Solution Architecture Automation With Obsidian and GPT

Stas Parechyn @Unsplash
Stas Parechyn @Unsplash

本文介绍的ArchVault是一个旨在帮助架构师将想法转化为设计的工具,是ChatGPT和软件架构的延伸。

我在GitHub创建了一个项目[1],方便读者尝试这些技术。

前置条件: 最好对Obsidian有基本的了解,这有篇入门介绍: Obsession with Obsidian

ArchVault概述

ArchVault的架构基于Nick Milo和ForteLabs的概念,专注于组织Obsidian Vault和构建第二大脑的最佳方式,其目的是收集知识并有效利用GPT AI引擎,以纯文本形式访问Vault中的知识,并包含在GPT查询中。

Atlas

ArchVault的第一部分是Atlas,其概念来自Nick Milo的LYT Vault培训课程[2]。其主体为内容地图(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)[3]"方法论的一部分,用于帮助个人有效获取、组织和访问知识和想法,将信息组织成四类高度组织化、易于搜索的数字系统。

PARA代表:

  • P: Projects(项目) —— 需要一系列行动的多步骤任务或结果
  • A: Areas(区域) —— 多个项目使用的知识所在区域,例如内部模式或解决方案构建块
  • R: References(参考资料) —— 完成项目或支持重点领域所需的材料,如文章、书籍、联系人、网站等
  • A: Archives(归档) —— 已完成的项目、参考资料或其他信息,以备将来参考,但当前并不需要
标准文件夹

体系架构实践有指导标准和原则,例如TOGAF标准信息库(SIB, Standards Information Base)[4]。在ArchVault中包含这些标准从而帮助GPT获得更准确的响应,并可用于训练像Microsoft Azure Open AI Service这样的模型。

全景文件夹

图表可以反映技术环境中的逻辑和物理关系,这是有价值的优势。全景文件夹是存储图表和画布文件的合适位置。我们很喜欢图表和模型!

日志文件夹

决策(Decisions)、假设(Assumptions)、问题(Issues)和风险(Risk)日志(DAIR日志)跟踪并记录与决策过程相关的关键元素。DAIR日志包含四个主要组件: 决策、假设、问题和风险。日志在整个决策过程中不断更新,帮助利益相关者和同行了解关键因素,并在实施后评估流程是否成功。

需求

TOGAF是企业级架构框架,为组织提供通用语言、方法和工具。基于需求的方法是TOGAF框架的关键方面,强调在设计体系架构之前需要了解组织的业务需求和目标,包括识别业务需求,定义、分析和确定优先级,开发体系架构,验证并实现架构。通过坚持这种方法,组织可以构建适合其需求并与业务目标保持一致的体系架构。

数据存储

数据存储库是用于构建软件应用程序的各种数据存储技术或数据库的集合,可以专门用于处理特定数据类型或针对某些应用进行优化。通常包括关系型数据库和非关系型数据库以及特殊数据存储技术,如图形数据库、键值存储和文档数据库。每种数据库类型都有其独特的优缺点,需要基于应用需求加以选择。

数据存储库为开发人员提供了一系列存储和管理数据的选项,使他们能够根据自己的需要选择最合适的技术。通过访问各种数据存储,开发人员可以选择为其应用程序提供最佳性能、可伸缩性和数据管理功能的存储。

任务

任务可以并且应该在Vault中的任何位置基于任何原因或目的创建,并且需要被跟踪。任务文件夹包含主任务文件,支持将整个Vault中生成的任务合并到一起。

除了上面介绍的部分,ArchVault还提供了其他特性和资源来增强解决方案和软件体系架构实践。结合这些组件可以创建全面的体系架构环境,促进知识管理和决策。

模板

ArchVault中的模板对于保持一致性和简化新内容的创建至关重要。常见笔记类型(如项目大纲、会议笔记和决策记录)的预定义模板可确保在Vault中统一组织信息。此外,可以对模板进行定制和调整,以满足特定体系架构需求。

插件

Obsidian支持扩展功能和改善用户体验的各种插件,ArchVault包含以下插件:

  1. Auto Note Mover: 该插件可以根据特定规则或条件自动移动或重新组织笔记,帮助笔记保持整洁和结构良好,在笔记越来越多时尤其有用。
  2. DataView: DataView是一个功能强大的插件,允许以结构化和有组织的方式查询、过滤和显示笔记中的信息。使用这个插件,就可以根据元数据、标签或笔记中的内容创建表、列表和其他自定义视图。
  3. Editing Toolbar: Editing Toolbar插件为Obsidian的Markdown编辑器添加了可定制的工具栏。此工具栏提供了对常见格式选项的快速访问,例如粗体、斜体、标题、列表等,从而更容易对笔记格式化,而无需记住Markdown语法。
  4. Text Generator: 这个插件帮助生成基于预定义模板或人工智能文本生成引擎的文本或内容。可以通过提供建议或填充占位符来帮助用户快速创建草稿、大纲或新笔记。
  5. Natural Language Dates: Natural Language Dates插件使用户能够以更易于人类阅读的格式解析和输入日期,例如"下周一"或"两周后",帮助用户更容易管理日期(尤其是在处理截止日期或安排日程时)。
  6. Tag Wrangler: Tag Wrangler是一个可以帮助管理和组织笔记中标签的插件,提供了标签重命名、标签合并和标签自动完成等功能,使标签系统在整个Vault中保持一致和有组织。
  7. Obsidian Tasks: Obsidian Tasks是一个任务管理插件,允许创建、管理和跟踪笔记中的任务。使用此插件,可以创建具有截止日期、优先级和完成状态的任务,并可以在专用任务窗格或日常笔记中查看。

通过利用这些插件,架构师可以进一步提高生产力,并确保对知识和任务的有效管理。

协作

ArchVault确保整个团队能够高效工作,并通过促进协作来分享有价值的见解和专业知识。ArchVault不仅是为个人架构师设计的,也是为团队合作项目设计的。Vault可以设置为与GitHub等云存储服务同步,允许多个用户贡献和访问知识库。

与GPT AI集成

ArchVault的主要目标之一是通过与GPT AI集成来提高架构师的生产力,允许架构师利用AI的力量来解决复杂问题并做出更明智的决策。GPT AI引擎可以访问存储在Vault中的知识、生成建议、回答问题,并根据可用信息提供见解。

为了实现与GPT AI的无缝集成,可以使用以下策略:

  1. 结构化数据: 确保存储在ArchVault中的数据具有良好的结构和组织,使GPT AI更容易访问和理解信息,从而产生更准确和相关的建议。
  2. GPT提示: 创建并组合针对特定架构任务或问题定制的GPT提示。GPT AI可以通过提供精确、简洁的提示,生成更有针对性、更有价值的响应。
  3. 持续学习: 当GPT AI生成响应时,评估建议的准确性和有用性。GPT AI可以通过提供反馈和改进提示来学习和改进,成为架构师越来越有价值的工具。
  4. 自定义模型: 考虑为更高级的用例使用根据组织的特定体系架构知识和标准进行培训的自定义GPT模型,为组织提供更准确、更相关的建议。

结论

通过与GPT AI结合,ArchVault为架构师提供了丰富的环境来管理知识、做出明智的决策、改进解决方案和软件架构实践。通过利用本文和本系列后续文章中概述的工具、技术和原则,架构师可以挖掘AI和Obsidian的潜力,帮助他们将想法变为现实。


你好,我是俞凡,在Motorola做过研发,现在在Mavenir做技术工作,对通信、网络、后端架构、云原生、DevOps、CICD、区块链、AI等技术始终保持着浓厚的兴趣,平时喜欢阅读、思考,相信持续学习、终身成长,欢迎一起交流学习。微信公众号:DeepNoMind

参考资料

[1]

ArchVault: https://github.com/daveOarch/ArchVault

[2]

Linking Your Thinking: https://www.linkingyourthinking.com

[3]

Building a Second Brain: https://www.buildingasecondbrain.com

[4]

TOGAF’s Standards Information Base: http://www.opengroup.org/public/arch/p3/sib/sib_intro.htm

- END -

本文由 mdnice 多平台发布

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/602038.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【100个 Unity实用技能】 | Unity 的 LOD技术(多细节层次)

🎬 博客主页:https://xiaoy.blog.csdn.net 🎥 本文由 呆呆敲代码的小Y 原创,首发于 CSDN🙉 🎄 学习专栏推荐:Unity系统学习专栏 🌲 游戏制作专栏推荐:游戏制作 &…

vue3+ts+echarts5基本地图下钻~

依靠本地json文件实现省市下钻&#xff0c;有后台的可以改成服务&#xff0c;样式没有&#xff0c;vue3tsecharts5&#xff0c;一定要设宽高 html&#xff1a; <div click"back">返回</div> <div id"echartsMap" style"width: 58%; h…

【Azure】微软 Azure 基础解析(七)Azure 网络服务中的虚拟网络 VNet、网关、负载均衡器 Load Balancer

本系列博文还在更新中&#xff0c;收录在专栏&#xff1a;「Azure探秘&#xff1a;构建云计算世界」 专栏中。 本系列文章列表如下&#xff1a; 【Azure】微软 Azure 基础解析&#xff08;三&#xff09;描述云计算运营中的 CapEx 与 OpEx&#xff0c;如何区分 CapEx 与 OpEx…

入职字节跳动那一天,我哭了(蘑菇街被裁,奋战7个月拿下offer)

前言 先说一下自己的个人情况&#xff0c;20届应届生&#xff0c;通过校招进入到了蘑菇街&#xff0c;然后一待就待了差不多2年多的时间&#xff0c;可惜的是去年8月份受疫情影响遇到了大裁员&#xff0c;而我也是其中一员。好在之前一直想去字节跳动&#xff0c;年尾就已经在…

wlanapi.dll丢失怎么办?分享多种wlanapi.dll丢失的解决方法

Wlanapi.dll是Windows中的一个重要文件&#xff0c;它是无线局域网API的一部分&#xff0c;负责提供和管理无线网络连接的功能。如果出现wlanapi.dll丢失的情况&#xff0c;会导致无法连接到无线网络&#xff0c;影响电脑的正常使用。下面我们来看看wlanapi.dll丢失怎么办&…

在linux服务器中对R语言中for循环设置多核运行

1 问题 在R中构建了for循环&#xff0c;由于循环过多&#xff0c;运行速度过慢&#xff0c;且不同循环之间是并行关系&#xff0c;拟通过多核运行可以解决此问题。 2 代码设置 2.1 shell脚本中的设置 b.sh export OPENBLAS_NUM_THREADS8Rscript ./..._1.R \2.2 R代码中的设…

程序员必备的10张流程图

随着互联网的发展&#xff0c;现在有越来越多的人想成为程序员。 如果你想成为程序员你可以先问自己这几个问题&#xff1f; •你是一个逻辑和抽象思维能力比较强的人吗&#xff1f; •你是否愿意不断地去学习那些新的东西&#xff0c;并且在大多数时间内你都需要去自学。 …

Midway.js探索与实践

您好&#xff0c;如果喜欢我的文章&#xff0c;可以关注我的公众号「量子前端」&#xff0c;将不定期关注推送前端好文~ 前言 我司的技术基建在Midway之上&#xff0c;主要是面向中后台前后端一体化方案&#xff0c;大白话就是全栈应用解决方案&#xff0c;什么是Midway呢&am…

freeswitch的gateway配置方案优化

概述 freeswitch是一款简单好用的VOIP开源软交换平台。 在之前的文章中&#xff0c;我们简单介绍过gateway的三种配置方案&#xff0c;但是实际应用之后发现&#xff0c;方案中的参数设置有缺陷&#xff0c;会导致一些问题。 本文档中&#xff0c;针对具体的gateway配置问题…

linux第六七天 which find进程等

ctrlF5 //强制刷新 which ifconfig //找到ifconfig的路径 发现在/usr/sbin/ifconfig 目录下 然后 cp /usr/sbin/ifconfig /root/bin/ipconfig 就相当于自己设置了ifconfig的另外一种命令 多个条件可以使用-a(-o)连接&#xff0c;表示而且&#xff08;或者&#xff09…

Django中使用celery实现定时任务和异步任务

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、准备二、配置1.引入库2.代码编写a、在settings.py文件下添加如下代码b、在项目主目录下创建celery.py文件c、在项目的__init__.py里面添加如下代码![在这里…

【期望】Kuangbin 危险的派对 牛客期望专题班 increment of coins

4849. 危险的迷宫 - AcWing题库 题意&#xff1a; 思路&#xff1a; 本来对期望怎么想都想不通&#xff0c;后来看了大佬的题解&#xff0c;自己动手画了画&#xff0c;以及队友说的“拆分”&#xff0c;忽然间就有点懂了.... 这个说的很对&#xff0c;把期望问题看作是DAG上…

Unity中对预制体烘焙光照贴图,在其他Scene中使用或者动态生成带光照贴图的预制体

记录个人开发笔记&#xff0c;如果有大佬有更好的方法或者觉得我这个方法哪里有问题欢迎指正&#xff01; 首先说下为什么会弄预制体烘焙光照贴图&#xff0c;因为项目需求需要动态生成一个房间的&#xff0c;因此是将房间弄成预制体&#xff0c;动态生成就好了&#xff0c;这…

【Datagear】如何给Datagear追加Admin

【背景】 Datagear默认是只设置了一个Admin&#xff0c;这个Admin可以完成用户的各种管理操作&#xff0c;并且对所有数据源&#xff0c;数据集&#xff0c;图表&#xff0c;面板拥有全部编辑权限。 【问题】 只有一个Admin很多场景下不够用。但是应用设置本身没有提供追加A…

【测试人生】测试工程如何去学习接口自动化技术

一、为什么要学习自动化 提高生产力&#xff1a;自动化可以帮助您在短时间内完成重复性工作&#xff0c;从而大大提高生产力。自动化不仅减少了手动执行任务所需的时间和精力&#xff0c;还减少了出错的风险。 质量保证&#xff1a;自动化测试可以确保软件在修改后仍然按预期运…

2023 光亚展|乐鑫将携 AI、Wi-Fi 6、私有云和 Matter 方案精彩亮相

2023 广州国际照明展览会&#xff08;光亚展&#xff09;将于 6 月 9 至 12 日在广州琶洲展馆启幕。本届展会以“光未来”为主题&#xff0c;畅想未来生活方式的无限可能。乐鑫科技 (688018.SH) 将在 B 区 9.2 号厅 D55 展位&#xff0c;带来具有前瞻性的智能照明解决方案和实体…

龙芯2K1000实战开发-以太网/串口设计

文章目录 概要整体架构流程技术名词解释技术细节小结概要 本文主要针对2k1000的以太网及串口的国产化设计 整体架构流程 提示:这里可以添加技术整体架构 整体架构,以太网,使用2k1000自带的以太网mac控制器,外选用国产化PHY,国产化变压器。 整体框架,如下图,主要是器…

2023安卓逆向 -- JNI学习(从开发到反编译)

一、新建native C项目&#xff0c;填写好项目信息&#xff0c;一路下一步即可 二、创建好项目&#xff0c;直接点击运行&#xff0c;出现下面界面&#xff0c;说明我们的环境都没有问题 三、Java层调用java层函数 1、新建一个Java Class&#xff0c;命名为JavaFun 2、编写java…

维宏系统修改端口位置操作说明

1.关闭软件后找到Ncconfig.exe工具并打开 具体操作步骤 (1)桌面上鼠标点到 NcStudio鼠标右键-打开文件所在的位置如下图 (2) 在目录中找到NcConfig.exe的快捷方式&#xff08;黄色图标&#xff09; (3)打开并输入密码&#xff08;密码和软件密码一样默认初始密码ncstudio …

欧科云链:2023年5月链上安全事件盘点

一、基本信息 2023年5月安全事件约造成1800万美元损失&#xff0c;相比上月有显著下降&#xff0c;但安全事件发生频率并未减少。其中针对Jimbos Protocol的攻击造成了约750万美元损失。Arbitrum链的Swaprum项目Rug Pull造成了约300万美元的损失。此外&#xff0c;社交媒体钓鱼…