简要软件需求(SRS)

本文档列出了 AgentHeaven 项目的高层次需求。

1. 功能性需求

ID

需求

描述

FR-01

环境管理

系统应允许用户创建、激活、停用和删除隔离的项目环境。

FR-02

知识管理

系统应允许用户以统一的逻辑格式存储、检索、查找、编辑、删除和合并知识工件,该格式独立于物理存储或检索方法。

FR-03

统一LLM接口

系统应提供与不同LLM提供者交互的统一接口。

FR-04

统一键值存储接口

系统应提供与不同键值存储交互的统一接口。

FR-05

统一数据库接口

系统应提供与不同数据库交互的统一接口。

FR-06

工具管理

系统应提供统一的接口来序列化和与不同工具或原生Python函数交互。

FR-07

缓存/记忆

系统应提供一种方式,让用户监控任何正在运行的系统的输入、输出和中间产物,并存储它们以供后续分析或重放。

FR-08

检索引擎

系统应提供一系列内置的检索方法,包括字符串匹配、分面搜索、向量搜索、图遍历,并允许用户定义自己的检索方法。

FR-09

多语言提示引擎

系统应提供一种方式,让用户定义和管理提示词,这些提示词可用于生成LLM输入或知识序列化,支持多种语言。

FR-10

MCP兼容性

系统应与多组件协议(MCP)兼容,以便它可以在更大的系统中作为组件使用,例如智能体框架。

FR-11

数据库原生支持

系统应提供一系列专门设计用于与数据库交互的内置工具:包括数据库上下文工程和NL2SQL工作流。

FR-12

图形用户界面

系统应提供图形用户界面(GUI),使用户能够与知识管理系统交互。它应该易于非开发人员使用。它应包含一个用户系统,用于区分不同用户生成的知识。

FR-13

命令行界面

系统应提供命令行界面(CLI),使用户能够与知识管理、LLM使用、配置等进行交互。

FR-14

(可选)知识蒸馏

系统应提供一种方式,让用户在缓存/记忆数据上微调LLM。它应具有跨平台兼容性(LLama-Facotry/Unsloth/MLX),并可扩展到NPU。

FR-15

(可选)基础智能体

系统应提供一系列内置的智能体编排,如基础工具使用智能体、基于自然语言的工具使用智能体(用于非函数调用LLM)、ReAct智能体、CodeAct智能体。

FR-16

(可选)测试时扩展

系统应为LLM提供有用的测试时扩展(TTS)。

FR-17

(可选)分布式系统

系统应提供一种方式,让用户在分布式环境中运行知识管理系统,实现跨平台知识交换和检索。

FR-18

(可选)认证

系统应提供一种方式,让用户对知识管理系统进行身份验证和授权访问。


2. 非功能性需求

ID

需求

描述

NFR-01

可用性

系统应易于开发者和非开发者使用。

NFR-02

可扩展性

系统架构应模块化,以便添加新的LLM提供者、工具、数据库方言、智能体、检索方法、重排序器和知识库后端。

NFR-03

NL2SQL准确性

系统应能够快速开发具有SOTA准确性的NL2SQL应用程序。