跳转到内容

开发指南

为什么需要基础智能体

主要的目的有两个,一是为了减少主智能体的上下文占用,二是为了节约 Token 费用.

我们以 SIEM 的场景举例,假设模块或者剧本需要调用 SIEM 接口查询日志. 通常 SIEM 中涉及多种日志,每个日志有多个字段,字段还需要提供对应的说明来让智能体能很好的理解.

直接的方法是 SIEM 的查询 API 封装成函数(Tool),然后将所有的日志字段和说明都填写到函数的docstring中,主 Agent 为了完成任务可能会多次调用Tool, 每次都需要将 docstring 传给LLM,导致 占用大量主智能体的上下文. 导致主智能体无法有效利用上下文完成任务.

正确的做法是将 SIEM 日志查询封装成一个基础智能体,基础智能体负责理解日志字段和说明,主智能体只需要调用基础智能体的接口完成任务即可.

主智能体调用基础智能体时,只需要传递需求(自然语言). 所有的工具调用,数据聚合,结果聚合等都在基础智能体中.