@接入/内生AI
从内到外构建专用AGI系统的实验性MCP框架——基于 人类大脑的已知结构,旨在从形态发生种子中构建和扩展自己。
快速开始
git clone https://github.com/AccessiTech/EndogenAI.git
cd EndogenAI
pnpm install
docker compose up -d
pnpm run dev然后访问 http://localhost:3001 有关web界面(网关+浏览器客户端),请参阅 docs/guides/getting-started.md 了解完整的环境设置演练。
指导原则
基础的
- 神经形态设计:该框架中的每个设计决策都基于
哺乳动物大脑——模块化、并行处理、分层组织和适应性学习。生物的 组织是主要的设计隐喻,而不是事后应用的类比。
- 评估尖峰神经元和事件驱动计算框架作为模块的候选基板,其中 生物启发的加工模式是有益的。根据社区活动、硬件路径进行选择 以及与MCP通信层的可用性和兼容性: - 能哥 - 英特尔熔岩 (为Loihi) - SpiNNaker/PyNN - 巢 - Brian2 - BindsNET
- 代理模块化:每个模块都体现了一个单一的、定义明确的认知功能——感知、记忆、,
决策、运动控制——反映了大脑区域的功能特化。开发模块 独立并无缝集成到整个框架中。
- 模块可以用不同的编程语言实现;所有通信都通过标准化协议进行 由MCP框架定义。 - 最小化模块间的依赖关系:模块只交换其定义功能所需的上下文, 保持独立性和可替换性。
- 内生生长:该框架旨在从内部生成和扩展自身,就像一颗携带
它将成为生物体的蓝图。存储库结构、模块脚手架和知识库是 不是由人类建筑师独自自上而下组装的;它们从系统自己的编码模式、惯例和规则中出现, 以及自我参考文件。这一原则是以 自创生 --系统的生物学性质 其不断产生其自身连续性所需的组件。
- 基于自动生成对存储库生命周期进行建模:进入系统的每个组件都应该为 系统生产更多组件的能力。 - 对待 resources/static/knowledge/ 和 brain-structure.md 随着 形态发生种子 --初始编码 所有模块类比、接口和约定都从中推导出来。 - 更喜欢 内源性支架:新的模块模板、模式和存根应该可以从现有的生成 系统知识,不是孤立地从头开始编写的。 - 框架应该能够推理自己的架构,并提出自己的扩展—— 任何追求通用智能的系统的必要前提。
建筑的
- 本地计算优先:优先考虑模块内的本地计算和数据存储,尽量减少对
外部API或云服务。与大脑一样,该系统应该通过以下方式最大限度地提高单位能量的有用认知 保持处理接近信号的来源。
- 执行a 本地优先执行政策:在设备上执行推理、检索、规划和编排,或 默认情况下为本地主机;仅当某项功能在本地确实不可用或 政策明确要求。 - 评估 WebMCP 对于从低延迟本地上下文处理和 减少往返次数。 - 将外部服务视为 增强,而非依赖:当需要云API时(专用模型, 重批处理工作负载),通过显式接口、策略门和可审计的回退行为进行集成。 - 优化为 延迟、隐私、弹性和能效:本地处理减少了网络瓶颈, 限制数据暴露,并在远程系统不可用时保持优雅的降级。 - 应用 缓存、负载平衡和并行处理 最大限度地提高吞吐量并保持响应速度 系统在复杂性上具有可扩展性。
- 可扩展性和可扩展性:该架构适应日益增长的复杂性,并支持持续
新模块和功能的集成。可以添加新模块,而不需要对 现有的。
- 使用微服务架构、容器化和编排(例如Kubernetes)来支持分布式 部署和横向扩展。 - 设计模块接口,使其版本化并向后兼容,从而实现增量升级,而无需整个系统 中断。
技术的
- 标准化通信协议:所有模块间通信均遵循MCP定义的标准
A2A框架。看 模块上下文协议(MCP)框架 和 代理到代理协议(A2A)框架.
- 使用 mdn-mcp 作为主要的通信骨干;层 A2A 负责代理之间的任务协调和委托。 - 支持同步和异步通信模式,以适应各种模块间通信 交互类型。
- 稳健性和容错性:通过错误检测机制,优雅地处理每一层的故障,
恢复和冗余。
- 在模块边界实施结构化日志记录、分布式跟踪和实时监控,以检测和 及时诊断故障。 - 复制关键模块并定义明确的回退行为,以确保在单独操作时继续运行 模块或依赖关系失败。
交叉切割
- 安全与隐私设计:安全和隐私从一开始就嵌入到架构中,而不是
改装。每个模块接口都被视为潜在的攻击面,并相应地硬化。
- 强制模块沙盒、严格的功能隔离和最低权限访问控制:任何模块都不应访问 超出其定义功能所需的资源或上下文。 - 验证并净化层边界处的所有输入;强化模块间接口,防止快速注入数据 例如焦虑、渗出和上下文中毒。 - 尽量减少对个人和敏感数据的处理:首选设备上处理,在可行的情况下匿名化,并应用 明确的数据保留和删除策略。
- 可观察性设计:系统公开了理解、调试和改进自身所需的信息
运行时的行为——一个一流的架构要求,而不是事后的想法。这一原则强化了 元认知与监控层.
- 通过一致的可查询界面从所有模块发出结构化遥测(日志、指标、跟踪)。 - 仪器层间信号流,实现从感觉输入到效应器的端到端决策跟踪 输出。 - 维护代理决策、上下文状态和工具调用的可审计记录,以支持调试、事后分析 分析和问责制。
- 伦理考量:AGI系统的开发和部署必须以透明度为指导,
问责制和尊重人类价值观。
- 清晰地记录系统的架构、决策过程和数据使用策略,并加以保存 所有利益相关者都可以访问。 - 实施审计和监督机制,以便利益相关者能够审查行动、质疑结果并保持 系统负责。 - 主动评估潜在的社会影响;包括减轻危害和确保技术的规定 服务于人类的利益。
架构概述
该架构被组织成分层组,反映了大脑自下而上的双向信号处理 认知反馈和适应性学习。MCP和A2A是 跨领域基础设施 --它们不是按顺序排列的 层,而是跨越所有组的通信骨干。看 模块上下文协议(MCP)框架 和 代理到代理协议(A2A)框架.
信息流 自下而上的 (输入→ 感知→ 认知→ 动作)用于刺激驱动的处理,以及 自上而下的 (执行→ 决策→ 注意力→ 感官)用于目标导向的调节——反映大脑的运作方式 同时连续使用这两种途径。
第一组:信号处理
- 感官/输入层:从环境中获取原始输入-文本、图像、音频、API事件和传感器
溪流。类似于感觉皮层(视觉、听觉、体感)。此层的模块不执行任何操作 语义解释;它们对信号进行归一化、时间戳和向上转发。
- 注意力和过滤层:根据显著性、相关性和当前目标来屏蔽和路由传入信号。
类似于丘脑和注意力网络。防止较低级别的噪声饱和较高级别的处理和 支持从执行/代理层自上而下的注意力调节。
- 感知层:从过滤后的信号中提取有意义的特征和模式——对象识别、语言
理解、场景解析和多模态融合。类似于联合皮层。向上馈入记忆 并从更高层接收自上而下的先验信息。
第二组:认知加工
- 内存层:跨多个时间尺度存储和检索信息——工作记忆(即时上下文),
短期记忆(会话状态)、长期记忆(持久知识)和情景记忆(事件序列)。 类似于海马体和相关结构。与感知(编码)双向耦合 决策(检索)。
- 情感/动机层:为信息和目标分配情感权重、紧迫感和动力。生产
奖励信号和优先级线索,调节记忆巩固和决策。类似于边缘 系统(杏仁核、下丘脑、伏隔核)。对现实的目标导向行为至关重要,在 纯逻辑架构。
- 决策与推理层:整合来自记忆、情感和感知层的信号,以产生
选择、计划和判断。涵盖逻辑推理、因果推理、不确定性下的规划和冲突 决心类似于前额叶皮层。从执行/代理层接收自上而下的约束。
第三组:执行和产出
- 执行/代理层:保持代理的身份、持久目标、价值观、政策和高级推理
战略。以自上而下的方式引导注意力并调节下层。涵盖自我意识、社会认知、, 以及元级目标管理。类似于额叶。
- 代理执行(运行时)层:根据决策编排和执行功能——函数调用,
工具使用、技能管道和自动化工作流程。处理任务分解、工具/功能选择、排序、, 以及模块间协调。一个专注的执行和编排层,与目标设定和策略不同 它上面的执行/代理层的担忧。
- 电机/输出/效应器层:将操作传递到环境中—API调用、消息调度、文件写入、,
输出信号、渲染输出和控制信号。类似于运动皮层和小脑。负责可靠, 低延迟动作执行和反馈确认备份堆栈。
第四组:自适应系统 _(横向)_
这些层次在所有群体中运作,提供持续的反馈和自我提升,不受任何单一群体的限制 加工阶段。
- 学习和适应层:处理反馈信号(错误、奖励、结果)以改进模块行为
时间。涵盖强化信号、参数更新、行为调节和技能习得。类似于 基底节和小脑。
- 元认知与监控层:观察系统自身的处理过程——跟踪置信度、检测错误、,
评估性能并触发纠正措施。类似于前扣带皮层和前额叶 监控电路。馈入学习和适应层,并可将异常情况直接上报给高管/ 代理层。
第五组:接口
- 应用层:终端用户或外部系统交互的界面——聊天机器人、API、仪表板、,
以及特定领域的应用。将请求路由到传感器/输入层,并处理电机的输出/ 输出/效应器层。
______________________________________________________________________
基础设施说明MCP和A2A不是认知层。他们构成了沟通和协调的支柱 涵盖上述所有组的协议。看 模块上下文协议(MCP)框架 和 代理到代理协议(A2A)框架.
模块上下文协议(MCP)框架
MCP框架为不同代理模块之间的通信和交互提供了一个标准化的协议。 它定义了消息的结构和格式,以及模块如何请求和共享的规则 信息。
- 主干标准:
mdn-mcp:该框架应通过
mdn mcp 作为所有模块间上下文交换的核心通信骨干。
- 所有代理模块都应该实现
mdn-mcp-用于请求/响应处理、上下文的兼容接口
传播、能力发现和状态同步。
- 任何附加协议(包括A2A模式)都应该分层
mdn-mcp确保一致性
互操作性、更简单的工具和降低整个系统的集成复杂性。
代理到代理协议(A2A)框架
A2A框架应使用 A2A项目规范 作为标准 直接代理到代理交互、任务委托和多代理协调。
- 主要A2A标准:
A2A:实现自主模块之间结构化通信的A2A协议
作为代理人。
- 定义明确的代理标识、通告的功能和支持的任务模式。 - 使用A2A消息模式进行发现、协商、委托、进度更新和结果交付。 - 支持跨分布式模块的异步执行和长时间运行的任务编排。 - 包括标准化的错误处理、重试和超时行为,以实现健壮的代理间工作流。
- MCP+A2A互操作性模型:
- 保持 mdn-mcp 作为共享上下文骨干和全系统状态交换层。 - 上层A2A交互,用于以代理为中心的协调和协作执行。 - 提供适配器组件,以便每个模块都可以参与MCP上下文交换和A2A任务协议 没有重复的逻辑。
- 实施指南:
- 将消息格式、生命周期事件和能力元数据与上游A2A参考实现和 文档。 - 随着A2A的发展,添加一致性测试以验证协议兼容性。 - 版本锁定并定期审查A2A依赖关系,以维护兼容性和安全性。
文件目录
项目文件目录结构的概述,包括每个文件的描述及其在 总体框架。
根
README.md--项目概述、快速入门指南和详细文档链接CONTRIBUTING.md--贡献指南、编码标准和PR流程CHANGELOG.md--版本历史和发行说明LICENSE--开源许可证.gitignore--存储库范围内的忽略规则docker-compose.yml--用于开发和集成测试的本地多服务编排
______________________________________________________________________
文档
docs/ --项目范围内的文件
architecture.md--完整的架构概述、层描述和信号流图
protocols/
mcp.md--MCP(mdn-MCP)集成指南:消息格式、上下文传播、能力发现a2a.md--A2A协议指南:代理身份、技能模式、任务生命周期和互操作性模型
guides/
getting-started.md--环境设置和首次运行演练toolchain.md--开发者工具链参考:linting、类型检查、预提交钩子、buf和提交约定adding-a-module.md--创建新认知模块的分步指南deployment.md--容器化、Kubernetes和扩展指南security.md--安全模型、沙盒策略和最低权限模式observability.md--遥测设置、跟踪和仪表板使用
______________________________________________________________________
共享
shared/ --跨模块资产在所有层组之间共享
schemas/ --MCP上下文信封和A2A消息类型的规范JSON/Protobuf模式
mcp-context.schema.json--MCP上下文对象模式a2a-message.schema.json--A2A消息信封模式a2a-task.schema.json--A2A任务生命周期模式
types/ --共享类型定义(与语言无关的IDL或JSON模式)
signal.schema.json--层间传递的公共信号包络memory-item.schema.json--统一的内存记录结构reward-signal.schema.json--奖励/情感权重结构
utils/ --与语言无关的实用程序规范和参考实现
logging.md--结构化日志格式规范tracing.md--分布式跟踪上下文传播规范validation.md--输入净化和边界验证模式
vector-store/ --后端无关的矢量存储适配器接口 _(由所有具有嵌入式状态的模块使用)_
adapter.interface.json--语言无关的接口契约:upsert,query,delete,create-collection,
drop-collection, list-collections
collection-registry.json--跨模块的所有命名集合的规范注册表;命名规范
brain.;启动时集合配置的真实来源
chroma.config.schema.json— 色度数据库 适配器配置模式 _(默认;嵌入式本地模式,
零基础设施)_
qdrant.config.schema.json— Qdrant 适配器配置模式 _(推荐用于生产;
高性能、可过滤)_
pgvector.config.schema.json— pg向量 适配器配置模式 _(适用于Postgres本地人
部署)_
embedding.config.schema.json--嵌入提供程序配置模式:提供程序、模型、基本URL、维度和
后备策略
README.md--适配器模式、集合命名空间约定、后端选择指南、,
奥拉马 集成,以及本地与生产建议
______________________________________________________________________
基础设施
infrastructure/ --MCP和A2A通信骨干网 _(不是认知层;跨领域基础设施)_
mcp/ --mdn-mcp骨干网实现
src/--MCP服务器、上下文代理、能力注册表和状态同步tests/--MCP上下文交换的单元和集成测试config/--特定于环境的MCP配置README.md--MCP模块用途、接口合同和使用
a2a/ --A2A协议实现
src/--A2A服务器、请求处理程序、代理卡端点和任务编排器tests/--单元和集成测试;A2A一致性测试套件config/--A2A环境配置和版本锁定设置README.md--A2A模块用途、代理卡格式和用法
adapters/ --MCP+A2A互操作性网桥
src/--适配器组件使模块能够参与MCP上下文交换和A2A任务协议
没有重复逻辑
tests/--适配器单元和集成测试README.md--适配器架构和集成模式
______________________________________________________________________
模块
modules/ --所有认知模块,按架构层组组织
group-i-signal-processing/ --第一组:信号处理
sensory-input/ — _感官/输入层_ --类似于感觉皮层(视觉、听觉、体感);接收并规范原始环境信号
src/-信号接收、规范化、时间戳和上行调度(文本、图像、音频、API事件、传感器
流)
tests/--单元和集成测试config/--输入源配置和信号格式映射docs/--层描述、接口契约和信号模式引用agent-card.json--A2A代理人身份和能力声明(送达至/.well-known/agent-card.json)README.md--模块用途、输入/输出和使用
attention-filtering/ — _注意力和过滤层_ --类似于丘脑和注意网络;基于显著性、相关性和当前目标的门和路线信号
src/--显著性评分、相关性过滤、信号路由和自上而下的注意力调制接口tests/--单元和集成测试config/--阈值和路由策略配置docs/--层描述和注意浇口设计注意事项agent-card.json--A2A代理身份和能力声明README.md--模块用途、输入/输出和使用
perception/ — _感知层_ --类似于联合皮层;从滤波信号中提取特征和模式
src/
- feature-extraction/ --特征提取、模式识别、语言理解、场景解析和 多模态融合 - vector-store/ --管理 brain.perception 收藏;嵌入提取的跨会话特征表示 模式检索与相似性搜索
tests/--单元和集成测试config/
- pipeline.config.json --模型参考和感知管道配置 - vector-store.config.json --后端和集合配置 brain.perception
docs/--层描述、支持的模式和融合策略agent-card.json--A2A代理身份和能力声明README.md--模块用途、输入/输出和使用
group-ii-cognitive-processing/ --第二组:认知加工
memory/ — _内存层_ --类似于海马体和相关结构;跨时间尺度存储和检索信息
working-memory/--即时上下文缓冲区;活动LLM上下文窗口。纯进程内键值存储--否
矢量数据库(客户流失率过高,延迟严重)。每转一圈,查询 brain.short-term-memory 和 brain.long-term-memory 通过检索增强查找,用最相关的会话填充上下文窗口 以及持久的知识,使令牌的使用最小化。项目在驱逐时向上巩固为偶发/长期。 - src/ - context-store/ --进程中KV存储:读、写、驱逐操作 - retrieval-augmented-loader/ --查询短期和长期记忆集合以组装上下文窗口 每次转弯;管理代币预算和相关性排名 - consolidation/ --推广渠道:被驱逐的物品被分发到情景或长期记忆中以供持久保存 - tests/ --单元和集成测试 - config/ - capacity.config.json --代币预算、最大项目数和驱逐政策 - retrieval.config.json --短期和长期查询权重、top-k和相关性阈值 - agent-card.json --A2A代理身份和能力声明 - README.md --模块用途、上下文窗口管理模型、检索增强加载和整合策略
short-term-memory/--会话范围状态;在交互期间持续存在。轻量级矢量索引
(brain.short-term-memory)在当前会话中启用语义搜索,以便工作内存可以检索 最相关的最近上下文,而不是最近的N个项目。 - src/ - session-store/ --具有TTL管理的会话范围记录存储 - vector-store/ --管理 brain.short-term-memory 收藏;通过以下方式嵌入会话记录 奥拉马 nomic-embed-text 用于会话内语义检索 - retrieval/ --当前会话的语义搜索;处理工作内存加载器请求 - tests/ --单元和集成测试 - config/ - ttl.config.json --会话TTL和到期策略 - vector-store.config.json --后端和集合配置 brain.short-term-memory - embedding.config.json --继承 奥拉马 nomic-embed-text 从 shared/vector-store/ - agent-card.json --A2A代理身份和能力声明 - README.md --模块用途、会话生命周期和语义检索模型
long-term-memory/--持久的知识库(事实、技能、习得的联想)。完全可配置矢量
DB(brain.long-term-memory);整合知识和启动时种子语料库的主要目的地 resources/static/knowledge/. - src/ - vector-store/ --可配置的矢量数据库适配器实现 shared/vector-store/adapter.interface.json; 管理 brain.long-term-memory 收藏(色度数据库 违约, Qdrant 为了 生产) - graph-store/ --知识图适配器(例如。, Neo4j, 立体主义)对于结构化 关系知识 - relational-store/ --用于结构化事实存储的SQL适配器 - indexing/ --嵌入具有前体感知段分块的管道(方面 brain-structure.md 区域 边界)、重叠配置和索引管理 - retrieval/ --语义搜索、混合检索(向量+关键字)和重新排名;为工作内存加载器提供服务 推理层 - seed/ --启动时摄入管道:块并嵌入所有 resources/static/knowledge/ 文件(包括 brain-structure.md 和 neuroanatomy/)进入 brain.long-term-memory 通过 奥拉马 nomic-embed-text _(参见 RAG和文件摄入 — Llama索引)_ - tests/ --单元和集成测试;每个后端适配器一致性测试 - config/ - vector-store.config.json --主动后端选择(chroma | qdrant | pgvector)和连接设置 - embedding.config.json --提供商: ollama,型号: nomic-embed-text,基本URL: http://localhost:11434,尺寸:768;仅显式云回退 _(参见 文学硕士 LLM电话)_ - indexing.config.json --分块策略、重叠、集合名称和前体感知部分拆分 规则 - agent-card.json --A2A代理身份和能力声明 - README.md --模块用途、后端选项、适配器模式、Ollama设置和种子管道使用
episodic-memory/--事件序列存储;过去互动和结果的有序记录。双索引:
时序回放的有序事件日志+语义向量索引(brain.episodic-memory)基于内容的剧集 检索。启用“查找与此情况类似的事件”以及“回放会话中发生的事情”等查询 十、 - src/ - event-log/ --有序事件摄取、存储和时间索引 - vector-index/ --管理 brain.episodic-memory 收藏;嵌入事件记录以实现语义和 时态+语义复合查询 - retrieval/ --时间回放、语义事件搜索和复合时间+相似性查询 - tests/ --单元和集成测试 - config/ - vector-store.config.json --后端和集合配置 brain.episodic-memory - embedding.config.json --继承 奥拉马 nomic-embed-text 从 shared/vector-store/ - retention.config.json --保留窗口、压缩策略和驱逐规则 - agent-card.json --A2A代理身份和能力声明 - README.md --模块用途、时态+语义检索模型和整合管道
docs/--记忆层概述:时间尺度模型、编码/检索流和海马类比README.md--内存层入口点和子模块索引
affective/ — _情感/动机层_ --类似于边缘系统(杏仁核、下丘脑、伏隔核);为信息和目标分配情感权重、紧迫性和动力
src/
- signal-generation/ --奖励信号生成、情绪加权、紧迫性评分和优先级提示 派遣 - vector-store/ --管理 brain.affective 收藏;嵌入基于模式的奖励和情绪状态历史 驱动调节与情感记忆
tests/--单元和集成测试config/
- drive.config.json --奖励整形和驱动参数配置 - vector-store.config.json --后端和集合配置 brain.affective
docs/--边缘系统类比、奖励模型描述以及与记忆/决策的整合agent-card.json--A2A代理身份和能力声明README.md--模块用途、输入/输出和使用
reasoning/ — _决策与推理层_ --类似于前额叶皮层;整合记忆、情感和感知信号,以产生选择、计划和判断
src/
- inference/ --逻辑推理、因果推理、不确定性下的规划和冲突解决 _(参见 推理与规划 — DSPY, 指导)_ - vector-store/ --管理 brain.reasoning 收藏;嵌入推理痕迹、计划和因果模型 检索增强推理和决策历史
tests/--单元和集成测试config/
- strategy.config.json --推理策略和推理机配置 - vector-store.config.json --后端和集合配置 brain.reasoning
docs/--前额叶皮层类比、推理管道设计和不确定性处理agent-card.json--A2A代理身份和能力声明README.md--模块用途、输入/输出和使用
group-iii-executive-output/ --第三组:执行和产出
executive-agent/ — _执行/代理层_ --类似于额叶;持有代理身份、持久目标、价值观、策略和高级推理策略
src/
- identity/ --代理身份管理与自我模型 - goal-stack/ --持续的目标管理、优先级和生命周期 - policy-engine/ --价值和政策评估、自上而下的调制调度和社会认知界面 - vector-store/ --管理 brain.executive-agent 收藏;嵌入持久的目标、价值观、政策和 语义检索和目标相似性搜索的身份状态
tests/--单元和集成测试config/
- identity.config.json --代理标识、值和策略配置 - vector-store.config.json --后端和集合配置 brain.executive-agent
docs/--额叶类比、目标和政策模型以及自我意识设计说明agent-card.json--A2A代理身份和能力声明README.md--模块用途、身份模式和使用
agent-runtime/ — _代理执行(运行时)层_ --根据决策协调和执行能力 _(参见 代理运行时和编排 — 时序, 完美)_
src/--任务分解、工具/功能选择、技能管道执行、排序和模块间
协调
tests/--单元和集成测试config/--运行时环境和工具注册表配置docs/--执行模型、任务分解策略和工具集成模式agent-card.json--A2A代理身份和能力声明README.md--模块用途、编排模型和使用
motor-output/ — _电机/输出/效应器层_ --类似于运动皮层和小脑;将操作传递到环境中
src/-API调用调度、消息传递、文件写入、渲染输出生成、控制信号发射,以及
向上反馈确认
tests/--单元和集成测试config/--输出通道和效应器配置docs/--运动皮层/小脑类比、输出通道描述和反馈模型agent-card.json--A2A代理身份和能力声明README.md--模块用途、支持的输出通道和使用情况
group-iv-adaptive-systems/ --第四组:自适应系统 _(跨领域——在所有群体中运作)_
learning-adaptation/ — _学习和适应层_ --类似于基底神经节和小脑;处理反馈以随着时间的推移改进模块行为
src/learning_adaptation/
- env/ — BrainEnv 健身房适配器:包装 MotorFeedback 溪流;目标优先级权重动作空间 _(参见 稳定的基础3)_ - training/ --PPO训练循环(BG演员评论家)+小脑监督纠正回调 - replay/ --ChromaDB支持 ReplayBuffer;优先抽样 |reward_value|;异步背景训练 - habits/ — HabitManager:检测稳定的策略;促进习惯检查点(纹状体背外侧类似物) - interfaces/ --MCP服务器(资源+工具)和A2A处理器
tests/--单元和集成测试learning.config.json--算法、时间步长、回放缓冲区大小、习惯阈值、影子策略配置和
矢量存储连接(集合 brain.learning-adaptation, nomic-embed-text)
docs/--基底神经节/小脑类比、RL模型和适应策略agent-card.json--A2A代理身份和能力声明(端口8170)README.md--模块目的、反馈模型和使用
metacognition/ — _元认知与监控层_ --类似于前扣带皮层和前额叶监测电路;观察系统自身的处理过程
src/metacognition/
- evaluation/ — MetacognitionEvaluator:滚动置信度、偏差z分数、错误检测;ACC/PFC模拟 _(参见 开放遥测, 普罗米修斯, 格拉法纳)_ - instrumentation/ --旅馆 TracerProvider + MeterProvider 设置;8. brain_metacognition_* 公制仪表 - store/ --ChromaDB brain.metacognition 适配器(仅可追加;趋势查询) - interfaces/ --MCP服务器(资源+工具)和A2A处理器(evaluate_output 入境, request_correction 出境)
tests/--单元和集成测试observability/prometheus-rules/—metacognition.yml普罗米修斯警报规则
(TaskConfidenceLow, DeviationAnomalyHigh, EscalationRateElevated, PolicyDenialRateHigh)
monitoring.config.json--置信阈值、异常z分数阈值、滚动窗口大小、,
警报窗口、OTel/Peotheus导出配置和向量存储连接(集合 brain.metacognition)
docs/--ACC/PFC类比、自我监控模型和升级设计agent-card.json--A2A代理身份和能力声明(端口8171;普罗米修斯抓取端口9464)README.md--模块用途、监控模型和使用
______________________________________________________________________
矢量存储架构:所有模块集合共享一个可配置的后端实例 (色度数据库 默认嵌入; Qdrant 用于生产),命名空间为brain.工作内存是唯一的例外——它是一个纯粹的进程内KV存储,用于查询brain.short-term-memory和brain.long-term-memory通过检索增强加载来组装每个上下文 窗口,将令牌使用量降至最低。活动后端,嵌入模型(默认值: 奥拉马 >nomic-embed-text在localhost:11434),中定义了仅显式的云回退策略shared/vector-store/。参见shared/vector-store/collection-registry.json完整的收藏索引。
______________________________________________________________________
应用层
apps/ --第五组:界面——终端用户和外部系统的应用层表面
default/ -参考应用程序外壳(聊天机器人程序/API/仪表板入口点)
src/--请求从电机/输出/效应器层路由到传感器/输入层和输出表面tests/--单元和集成测试config/--应用环境配置docs/--应用层设计与集成指南README.md--应用目的和用途
______________________________________________________________________
observability/ --跨领域遥测基础设施 _(支持设计原则的可观察性)_
src/--结构化日志发射器、度量收集器、分布式跟踪上下文传播和可查询遥测
接口
config/--遥测后端配置(日志聚合、指标、跟踪)dashboards/--预构建的可观察性仪表板(例如。, 格拉法纳 JSON定义)README.md--观测堆栈概述和仪器指南
security/ --跨领域安全基础设施 _(支持安全和隐私设计原则)_
policies/--模块沙盒策略、功能隔离规则和最低权限访问定义sandboxing/--沙盒配置模板和执行工具README.md--安全模型概述和强化指南
deploy/ --部署和基础设施即代码
docker/--每个模块和基座Dockerfile定义kubernetes/--Kubernetes用于模块部署、服务定义和水平扩展配置的清单README.md--部署指南:本地、暂存和生产目标
______________________________________________________________________
资源
MCP资源是服务器向客户端公开的URI寻址数据对象。在frankenbrAIn,资源分为两类 级别:顶级 resources/ 共享跨模块资源目录(按认知层组组织),以及 a每个模块 resources/ 每个认知模块内的子目录,用于模块范围的资源定义,动态 提供商和访问控制规则。
resources/ --跨领域MCP资源注册表和共享资产
uri-registry.json--系统中所有资源URI模式的规范注册表;权威参考
资源发现
access-control.md--系统范围的资源访问控制策略:哪些模块和客户端可以读取或写入哪些
资源URI
README.md--资源系统概述、URI命名约定和每个模块的资源编写指南
static/ --共享静态资产
prompts/ --跨模块共享的提示模板
system.md--基础系统提示和代理身份脚手架reasoning.md--思维链和结构化推理提示支架memory-retrieval.md--内存查询和检索提示模板metacognition.md--自我监控和信心评估提示模板
knowledge/ --种子知识和参考夹具;所有文档都带有YAML frontmatter(id, version, status, maps-to-modules)然后被切成块 brain.long-term-memory 通过种子管道启动
brain-structure.md— 权威的 人脑结构参考。YAML前端很重要maps-to-modules
将每个区域链接到其相应模块的声明。每个区域部分使用一致的结构: 功能、输入、输出、模块类比和关键设计说明。主要种子文件 brain.long-term-memory. _(描述性——驱动类比和模块映射,而不是实现)_
brain-architecture.md--面向框架的架构概述:frankenbrAIn的认知层如何映射到大脑区域;
参考文献 brain-structure.md 作为真理的源泉
cognitive-models.md--认知科学参考资料为模块设计决策提供信息signal-taxonomy.md--整个系统中使用的信号类型、模态和编码约定的分类
neuroanatomy/ --扩展的人脑维基;逐区域参考页面,每个YAML frontmatter都被分块到 brain.long-term-memory 在靴子旁边 brain-structure.md
cortex.md--大脑皮层:脑叶、功能区和层类比limbic-system.md--杏仁核、下丘脑、伏隔核:情感和动机类比basal-ganglia.md--基底神经节:学习、习惯形成和奖励回路类比cerebellum.md--小脑:时间、协调和微调类比thalamus.md--丘脑:注意门控和信号通路类比hippocampus.md--海马:记忆编码、检索、巩固和时间尺度类比prefrontal-cortex.md--前额叶皮层:推理、计划和执行控制类比anterior-cingulate.md--前扣带皮层:错误检测和元认知监控类比
fixtures/ --种子和试验数据
signal-samples/-每个模态(文本、图像、音频、API事件)的样本输入信号,用于开发和
集成测试
memory-seeds/--工作、短期、长期和情景记忆存储的种子记录reward-signals/--学习和适应测试的参考奖励和情感加权示例
external/ --专业级参考文件
mcp-spec/--MCP协议规范参考、功能示例和一致性说明a2a-spec/--A2A协议规范参考、代理卡示例和任务生命周期参考mdn/-浏览器本地模块和Web API相邻模块的相关MDN Web文档参考README.md--所有外部引用的源代码来源、版本控制策略和更新节奏
schemas/ --资源类型合同
resource-envelope.schema.json--所有MCP资源响应有效载荷的通用包装器模式uri-pattern.schema.json--用于定义和验证资源URI模式的模式access-policy.schema.json--每个模块和全系统资源访问控制策略文档的架构
group-i-signal-processing/ --信号处理层资源定义
sensory-input.resources.json--原始和规范化信号资源的URI模式和资源模式attention-filtering.resources.json--用于显著性得分、路由状态和过滤器的URI模式和模式
配置资源
perception.resources.json--用于提取特征、场景表示和感知的URI模式和模式
模型输出资源
group-ii-cognitive-processing/ --认知处理层资源定义
memory.resources.json--用于所有存储器子模块资源(工作、短期、长期和长期)的URI模式和模式,
长期、偶发)
affective.resources.json--奖励信号、情绪权重和驱动状态资源的URI模式和模式reasoning.resources.json--用于推理跟踪、计划和因果模型资源的URI模式和模式
group-iii-executive-output/ --执行层和输出层资源定义
executive-agent.resources.json--代理标识、目标堆栈、策略状态和值的URI模式和模式
资源
agent-runtime.resources.json--活动任务状态、工具注册表和执行跟踪的URI模式和模式
资源
motor-output.resources.json--输出通道状态、挂起操作和传递的URI模式和模式
确认资源
group-iv-adaptive-systems/ --自适应系统层资源定义
learning-adaptation.resources.json--用于反馈日志、参数更新历史和技能的URI模式和模式
获取状态资源
metacognition.resources.json--用于置信度评分、错误检测日志和性能的URI模式和模式
评估资源
______________________________________________________________________
每个模块资源:每个认知模块还包含一个resources/提供模块范围MCP的子目录 资源定义、动态资源提供者(通过MCP端点提供实时状态服务)、模块本地静态 模板和访问控制规则。请参阅每个模块README.md对于特定的资源目录和URI模式 该模块。
相关技术
语言策略
此存储库是 具有明确惯例的多语者 --不是无代码意义上的语言不可知论,而是 为堆栈中的每种语言定义角色。
| 层 | 语言 | 基本原理 |
|---|---|---|
shared/ 模式、契约、IDL | 语言不可知论 (JSON模式/Protobuf) | 无论实现语言如何,所有模块都会使用 |
| 记忆、感知、推理、情感、学习模块 | python | ML/AI生态系统是Python原生的 |
| MCP/A2A基础设施、适配器 | TypeScript | MCP官方SDK首先是TypeScript;强异步/JSON工具 |
| 应用层(UI/API表面) | TypeScript | 用于浏览器本机和API入口点的Hono/Next.js |
| 部署、配置 | 语言不可知论 | YAML/JSON |
LLM抽象:使用 文学硕士 作为与提供者无关的LLM层。单个Python接口路由相同 Ollama、OpenAI、Anthropic、HuggingFace Inference等100多家公司。任何模块都不应调用LLM提供程序SDK 直接——所有LLM调用都通过LiteLLM。
______________________________________________________________________
通信和协议
| 技术 | 郎 | 角色 |
|---|---|---|
@modelcontextprotocol/sdk | TypeScript | 官方MCP SDK——适用于所有人 infrastructure/mcp/ TypeScript模块MCP接口 |
mcp | Python | 官方Python MCP SDK——用于所有Python模块MCP接口 |
a2aproject/a2a | Python/TypeScript | 参考A2A实现——基础 infrastructure/a2a/ |
______________________________________________________________________
法学硕士论文摘要(提供者不可知)
| 技术 | 郎 | 角色 |
|---|---|---|
LiteLLM | Python | Ollama、OpenAI、Anthropic、HuggingFace、Bedrock和100多个提供商的单一接口。所有Python模块的与提供者无关的LLM层。 |
______________________________________________________________________
嵌入(本地优先)
| 技术 | 郎 | 角色 |
|---|---|---|
奥拉马 + nomic-embed-text | —— | 零基础设施本地嵌入;主嵌入后端(默认: http://localhost:11434) |
fastembed | Python | 轻量级Python嵌入库——无需模型服务器;原生Qdrant集成 |
sentence-transformers | Python | 拥抱脸背;针对特定嵌入任务的更广泛模型选择 |
______________________________________________________________________
矢量存储
| 技术 | 角色 | 何时使用 |
|---|---|---|
| 色度数据库 | 嵌入式零红外矢量数据库 | 默认 --本地开发和单节点部署 |
| Qdrant | 高性能、可过滤的矢量数据库 | 推荐用于生产 --Rust服务器,优秀的Python+TypeScript客户端 |
| pg向量 | PostgreSQL矢量搜索扩展 | 仅限Postgres原生部署 |
所有集合共享一个可配置的后端实例,命名空间为 brain.。参见 shared/vector-store/ 对于适配器接口和 shared/vector-store/collection-registry.json 对于完整 收集指数。
______________________________________________________________________
RAG和文件摄入
| 技术 | 郎 | 角色 |
|---|---|---|
| Llama索引 | Python | 摄取、分块、索引和检索管道—— long-term-memory/seed/ 和那个 resources/static/knowledge/ 引导管道 |
| 干草堆 | Python | 面向管道的替代RAG框架 |
______________________________________________________________________
内存和状态
| 技术 | 郎 | 角色 |
|---|---|---|
| SQLite | -- | 结构化事实的本地关系存储(long-term-memory/relational-store/) |
| PostgreSQL | -- | 生产关系商店 |
| 立体主义 | Python/TypeScript | 嵌入式图形数据库——本地首选 long-term-memory/graph-store/ |
| Neo4j | -- | 生产图存储 |
______________________________________________________________________
推理与规划
| 技术 | 郎 | 角色 |
|---|---|---|
| DSPY | Python | LLM上的结构化提示、自我优化和程序综合——适合 reasoning/inference/ |
| 指导 | Python | 约束/结构化生成——对策略遵循很有用 executive-agent/policy-engine/ |
______________________________________________________________________
代理运行时和编排
______________________________________________________________________
学习与适应
| 技术 | 郎 | 角色 |
|---|---|---|
| 稳定的基础3 | Python | 经过实战测试的RL算法 learning-adaptation/reinforcement/ |
| RLlib(雷) | Python | 分布式RL——可很好地扩展到生产环境 |
| TorchRL | Python | PyTorch原生RL工具包 |
______________________________________________________________________
神经形态(可选/可插拔)
适用于生物启发的尖峰计算有益的模块。作为可选项目独立实施 可部署模块;不要耦合到核心信号路径。
| 技术 | 郎 | 笔记 |
|---|---|---|
| BindsNET | Python | PyTorch原生;最容易接近的入口点 |
| Brian2 | Python | 维护良好,研究级 |
| 能哥 | Python | 最广泛的硬件支持途径(Loihi通过NengoLihi) |
| 英特尔熔岩 | Python | Loihi神经形态硬件目标 |
| SpiNNaker/PyNN | Python | SpiNNaker硬件目标 |
| 巢 | Python | 大规模生物神经网络模拟 |
______________________________________________________________________
可观测性
| 技术 | 郎 | 角色 |
|---|---|---|
| 开放遥测 | Python/TypeScript | 通过单一标准记录日志、指标和分布式跟踪——涵盖所有模块;主要实施 shared/utils/tracing.md |
| 结构日志 | Python | Python模块的结构化日志记录 |
| 皮诺 | TypeScript | TypeScript模块的结构化日志记录 |
| 普罗米修斯 | -- | 指标收集 |
| 格拉法纳 | -- | 仪表板--背部 observability/dashboards/ |
| 格拉法纳 时间 | -- | 分布式跟踪后端(与OpenTetry配对) |
______________________________________________________________________
验证和模式
| 技术 | 郎 | 角色 |
|---|---|---|
| Pydantic v2 | Python | 数据验证、设置管理和从Python类型生成JSON模式 |
| 黄道带 | TypeScript | 模式声明和验证——与 shared/schemas/ |
| 缓冲 | -- | 用于语言无关IDL的Protobuf工具链 shared/ |
______________________________________________________________________
安全和沙盒
| 技术 | 角色 |
|---|---|
| OPA(开放政策代理) | 声明性策略执行--直接映射到 security/policies/ |
| gVisor | 用于模块隔离的内核级容器沙盒 |
______________________________________________________________________
测试
______________________________________________________________________
