Skip to main content

AI思维笔记

需求

  1. 作为第二大脑,思维助手,能帮助思考、总结
    1. 提升所有人的智力水平
    2. 带无限记忆的AI
    3. 通过Agent(人工算法+LLM)的方式实现高层级抽象、意识、复杂逻辑。Agent的不断运行类似于人脑的逐步思考
  2. 信息工具,不仅仅是笔记
    1. 实现一些基本的对信息的思维逻辑操作
    2. 优秀的人工接口,自然,聪明
  3. 资料库
    1. 存储所有可能的信息作为数据库
    2. 分等级的信息存储和索引
      1. 自己写的笔记
      2. 阅读过的文章
        1. 添加简易评论和信息,用于AI自动检索和处理关系
        2. 大脑只能记住比较抽象和高级别的印象,AI根据这个印象联系到详细的信息
      3. 没有阅读的相关的各种论文,网络文章
      4. 书籍
    3. 对资料库进行分析和抽象,建立知识树,知识逻辑关系,快速像大脑一样在大量的知识里面整理信息
      1. 这一设计模拟了人类解决复杂问题时的策略:边查边记、反复比对、直至知识充分
  4. 本地数据库管理知识的片段,在密集的信息堆里面不断的编织,把LLM当作是信息的运算器
    1. 多次检索:是否支持多次检索。
    2. 自适应检索:是否能根据当前信息动态地决定是否需要执行进一步的检索动作以及检索什么。
    3. 模型训练:是否对不同阶段进行了针对性训练或偏好优化。
    4. 一次性知识总结:是否在检索后执行一次性检索知识总结。
    5. 迭代知识总结:是否支持在多轮检索中多次更新、积累、总结知识。
  5. 需要支持一些特殊的信息形式的模版: Jira, wiki, todo_list

需求本质

  1. 记录一段信息
  2. 记录信息之间的关系
    1. 拓扑,树形,网状,点对点
    2. 逻辑关系,等价,推导,相似性的程度
    3. 本地的逻辑推理最为最高层的抽象,最核心的算法体现
      1. 不会因为不同的内容而改变,任何情况下总是可以正确的运行
      2. 拼接关键词,生成prompt
  3. 对信息进行拆分和组合
  4. 对信息进行重新组织和总结
    1. 数据库存储所有的“片段”和标签
    2. 标签可以被LLM进行运算
    3. 数据库存储所有的标签之间的关系,片段和标签的关系
  5.  LLM的操作
    1. 根据一段信息生成对应的标签和对应的相似度,可以指定提取信息标签的深度、精细度
    2. 计算一个标签和其他标签的关系,充分,必要,充要,不充分,不必要
    3. 标签的逻辑关系表的存储和查询修改接口
    4. 一个自然语言的问题,输出以标签作为输出的结果,“标签的逻辑关系表”的增删查改的操作
    5. 支持多次交互的LLM操作
      1. 反向Prompt引导深度思考,反逻辑
      2. 多版本对比与迭代
      3. 多个LLM相互验证,能进行自我验证和测试正确性
      4. 结构化输出控制
  6. LLM训练/微调
    1. 编写Prompt,用在线大模型进行微调样本生成
    2. 微调小的专用模型

实现

  1. 数据库记录信息之间的关系
  2. 标签是一种最简单的信息,可以配合操作符形成表达式
  3. LLM模型通过多步操作API进行交互式的信息生成和编辑
  4. 存储原始的输入的文本、信息
  5. 支持对输入的信息,文本进行结构化,由标签和固定的格式进行表示
    1. 使用固定的逻辑表达式进行编码?
  6. 通过标签和逻辑表达式,查询需要的信息
  7. 对一个或者多个表达式进行转换和处理生成一个表达式

接口

  1. 数据定义
    1. 信息:一段通用的文本信息:包含level的信息
    2. 标签:简短的一种信息,level较高,可以使用逻辑关系组合成标签树
    3. 关系:包含所有可能的信息之间的关系
  2. LLM接口
    1. 使用指定的标签列表对一段信息进行格式化
      1. 对信息进行格式化,解释
      2. 输出使用标签和逻辑关系组成的标签树
    2. 输入一大堆信息/标签,根据指定的标签树,提取和摘录对应的结果
      1. 根据标签进行查询、匹配
    3. 输入两个(多个)信息/标签树,判断合理性,有无矛盾
  3. 数据库接口
    1. 查询输出指定level的标签
    2. 根据标签树输出所有相关信息
    3. 增加信息、标签、关系
    4. 删除指定的信息、标签、关系

可能的方案

  1. RAG
  2. Google NotebookLM
  3. 开源onyx https://github.com/onyx-dot-app/onyx
  4. kivy作为本地跨平台APP开发,python, 底层SDL2 性能好,多平台
  5. https://github.com/reflex-dev/reflex 开发web程序 纯python
  6. svelte web开发框架 + pocketBase数据库
  7. 使用gradio https://github.com/gradio-app/gradio.git 纯python,svelte底层,集成度高

AI笔记可能的级别

  1. 骨灰
    1. 主动执行一些复杂的任务
      1. 从笔记里面的链接提取出特定的信息
      2. 主动搜索互联网的相关信息,进行知识补充和整理
  2. 专家
    1. 纯自然语言的交互方式,表达和输出
    2. 所有的信息都由AI对输入进行格式化后记录,采用符合要求的自然语言的表达方式进行输出
    3. 对记录的所有信息进行整理,归类,合并,推理后更新记录
    4. 工具自动对信息进行逻辑判断,生成需要的总结和新结论
    5. 不输出原始笔记
  3. 高级工具
    1. 定义一套通用的笔记表达接口
    2. 按照固定的模版或者规范进行对笔记表示、整理、记录,形成固定的格式化的笔记条目
      1. 比如层级式的笔记方法,好理解,表达力强,正如本文
    3. 通用的信息表达方案
  4. 工具
    1. 存储原始的笔记信息文本
    2. 支持自然语义搜索原文

按照能力要求

  1. 搜索: 关键字搜索,语义搜索
  2. 信息的整理和合并汇总后输出
    1. 问题的答案在两个不同的笔记里面

应用界面和交互

  1. 不能仅仅通过对话的形式,应该支持更复杂的交互方式
    1. 自动提供可能的操作选项
    2. 框选字段作为输入
  2. 不仅仅是笔记输入
    1. 语音
    2. 屏幕框选和注释
    3. 文章、链接

描述模版

所有的笔记(信息)都可以,转换成对一件”事情“、”事物“的描述

  1. 增加一个新的描述
  2. 询问一个描述的相关描述
  3. 修改一个描述
  4. 根据所有已经有的描述进行总结和逻辑处理,生成一个新的描述
  5. 对多个表达一样意思的描述进行合并、整理
  6. 对有矛盾的描述进行处理

第一步可以简化为: LLM对一个描述查找其所有相关/有矛盾的描述,显示出来,由人工进行编辑和合并等操作

类似于: 代码生成工具

参考代码生成工具agent的方式,对代码的理解,整理和生成,辅助编写代码

实际上可以转换成辅助生成知识,需要对久知识的整理和重构,生成,记录新的知识

Al笔记的需求和代码生成工具比较一致

通过打标签的方式

通过给笔记片段进行打一定数量的标签

  1. 标签类似于对笔记进行抽象和格式化
  2. 用户可以通过标签进行快速检索和操作

其他

  • 输入是思维片段、文本片段,录音,视频,文档,摘要,想法,手稿
  • 通过问答的形式交互
  • 大模型,本地? 家庭的AI算力中心
  • 扩展
    • 本地模型,增强保密性
    • 充当数字克隆人
    • 个人思维助理,管家
      • 输入日历、行程
      • 导入短信、聊天记录
      • 接入网盘、照片、云盘
  • 无格式的记忆
  • 片段式得输入,对话式得输入和输出,模糊输入
  • 自己host的推理平台
  • Agent也可以
  • 批注、键入、引用等都是输入的方式
  • input -> Agent -> 文本化笔记
  • $kv+$ 文本化笔记 -> Agent -> New KV
  • KV + prompt -> Agent -> output