综合介绍
Kheish是一个开源的多角色代理,专为需要结构化、逐步协作的大型语言模型(LLM)任务而设计。Kheish不仅仅是一个简单的协调器,它本身就是一个智能代理,可以根据需求请求模块,整合用户反馈,在不同的专业角色之间切换(如提案者、审查者、验证者、格式化者等),最终交付精炼的结果。通过在一个框架内利用多个“子代理”(角色),Kheish能够处理诸如安全审计、文件搜索、基于RAG的探索等任务。
功能列表
- 自适应角色切换:Kheish作为单一代理,具有多个内部角色,如提案者、审查者、验证者和格式化者。
- 按需模块请求:Kheish可以自发调用模块,如文件系统、Shell命令、RAG、SSH和记忆模块。
- 反馈与迭代:Kheish在许多任务中会重新检查和修改自己的提案,逐步提高解决方案的质量。
- 检索增强生成(RAG):对于大型代码库或多文件上下文,Kheish将数据索引到向量存储中,减少令牌使用量并扩展到更大的项目。
- 单一代理,多任务处理:Kheish可以通过定义单独的YAML配置或将它们组合成一个多步骤场景来处理并行或串行任务。
使用帮助
安装流程
- 克隆仓库:首先,使用Git克隆Kheish的GitHub仓库。
git clone https://github.com/graniet/kheish.git
- 进入目录:进入克隆的Kheish目录。
cd kheish
- 安装依赖:使用Cargo安装所需的依赖。
cargo build
使用指南
- 配置文件:在使用Kheish之前,需要配置YAML文件来定义任务和角色。示例配置文件如下:
tasks: - name: "代码审计" roles: - proposer - reviewer - validator modules: - fs - sh
- 运行任务:使用配置文件运行Kheish。
cargo run -- --config path/to/config.yaml
- 模块调用:Kheish可以根据任务需求自发调用模块,如文件系统(fs)、Shell命令(sh)、RAG(rag)、SSH(ssh)和长期记忆(memories)。
- 反馈与迭代:在任务执行过程中,Kheish会不断检查和修订自己的提议,确保最终结果的准确性和完整性。
功能操作流程
- 自适应角色切换:
- 提议者(Proposer):生成或更新基于用户输入和上下文的提议。
- 审查者(Reviewer):批判性地评估提议,识别缺陷或请求改进。
- 验证者(Validator):作为最终的把关者,确保提议的正确性和完整性。
- 格式化者(Formatter):将经过验证的解决方案转换为最终的展示格式(如Markdown)。
- 按需模块请求:
- 文件系统(fs):逐块读取文件,将其索引到RAG中。
- Shell命令(sh):在沙盒环境中运行有限的Shell命令。
- RAG:通过嵌入存储和检索大量文本,支持基于块的查询。
- SSH:安全远程命令。
- 记忆模块(memories):在LLM上下文之外存储或回忆数据(长期记忆)。
- 反馈与迭代:
- 提案者提出解决方案。
- 审查者批评并可能请求更改。
- 提案者根据反馈进行改进。
- 验证者最终批准或请求更多修正。
- 检索增强生成(RAG):
- 对于大型代码库或多文件上下文,Kheish将数据索引到向量存储中,稍后通过语义查询检索相关片段。
- 单一代理,多任务处理:
- Kheish可以通过定义单独的YAML配置或将它们组合成一个多步骤场景来处理并行或串行任务。