Skip to content

AI Runtime 为什么拆成 Agent、RAG、Tool、Memory、Model 与 Ingestion?

题型:追问 · 回答重点是职责、变化方向和可替换性。

建议回答

拆分依据不是技术组件名称,而是不同的业务职责和变化频率。Agent 负责流程编排与状态迁移;RAG 负责检索策略和引用;Tool 负责能力注册、授权与执行;Memory 负责上下文生命周期;Model 隔离不同厂商协议;Ingestion 负责离线文档知识化。上层 Agent 只依赖这些模块的稳定接口,不直接耦合 Milvus、PostgreSQL、某个模型 SDK 或 MCP 客户端,因此可以分别演进、测试和替换。

边界判断

  • 在线执行与离线知识化分离,避免文档处理拖慢问答链路。
  • 编排决策与工具执行分离,便于权限控制和审计。
  • 模型能力接口与厂商实现分离,避免供应商锁定。
  • 记忆管理不散落在 Prompt 拼装代码中,统一控制窗口、摘要和持久化。

易错点

  • 模块化不等于一开始就拆成多个微服务。
  • 接口抽象应围绕稳定业务语义,不能只是给 SDK 再包一层。

知识关系

从当前问题继续深入,或者回到提出这个问题的知识入口。