实习第一周:环境、目标与一个值得借鉴的双端架构

本周主线

实习第一周,三条线并行:

  1. 继续开发本地优先的 Obsidian 知识库 Agent:knomate,重点理解业务流程。
  2. 搭建开发环境:装软件、配大模型接口、明确实习目标和工时。
  3. 补大数据与 C++ 基础:编译调试、鲲鹏 / ARM、大数据全链路。

深入:knomate 为什么把」边界」定死在架构里

knomate 采用 插件前端 + 独立后端 的双端分离架构,WebSocket 是唯一通信通道。

flowchart LR
    A[插件前端 UI] -->|WebSocket| B[后端 AgentLoop]
    B -->|指令| A
    A --> D[本地双索引检索]
    D -->|检索结果| B
    B -->|AI 回复| A

核心是职责分离:

  • 前端插件层:只做本地 IO 和检索,不跑大模型。
  • 后端调度层:跑 AgentLoop,封装大模型接入,分发工具调用。
  • 数据索引层:关键词倒排做精准匹配,向量索引做语义匹配,文件变化自动增量更新。
  • 安全隔离:本地修改笔记必须先出预览,用户确认后才写入;后端无权直接改文件。

这个设计最值钱的地方是 权限和安全在架构层面就定死了,而不是靠代码约束。前端不碰模型、后端不碰文件、写操作必须确认 —— 每一条都是一道天然边界。比起」程序员自觉遵守约定」,这种架构级隔离可靠得多。

用户主流程:侧边栏输入 → 打包成消息经 WebSocket 发到后端 → 校验通过后开启 AgentLoop。工具分两类,内置的后端直接跑,依赖前端的由后端下发指令让本地执行再回传。

其他成果:环境与大数据的底子

  • 环境就绪:开发软件、两套大模型后端(智谱 / 华为 Ascend)配好,实习目标和工作时间确认。
  • 大数据地图:用」电商 10 亿日志分析」串起 Flume → Kafka → HDFS → Spark → Hive → Flink → MySQL 全链路。
  • C++ 基础:跑通 MinGW + CMake 编译调试模板,搞清 aarch64 / x86 差异与鲲鹏 920 定位。

沉淀与下一步

三条收获:进新环境先搞定环境、目标、人;学大数据先有全流程地图再学细节;架构上的边界设计能省掉运行时的大量麻烦。

下一步:深入 Flink 与流计算设计,进入组内 wiki 学习和 Omni 生态研读。

参考资料