codefuse-chatbot/sources/readme_docs/coagent/agent-flow.md

46 lines
2.1 KiB
Markdown
Raw Permalink Normal View History

2024-01-29 11:40:31 +08:00
## 注意
注意整体内容未完善后续还会完善flow和其它Agent的图例
## 核心Connector介绍
为了便于大家理解整个 CoAgent 的链路,我们采取 Flow 的形式来详细介绍如何通过配置构建
<div align=center>
<img src="/sources/docs_imgs/agent-flow.png" alt="图片">
</div>
<br>下面,我们先介绍相关的核心组件<br>
### Agent
在Agent设计层面我们提供了四种基本的Agent类型对这些Agent进行Role的基础设定可满足多种通用场景的交互和使用
1. BaseAgent提供基础问答、工具使用、代码执行的功能根据Prompt格式实现 输入 => 输出
<div align=center>
<img src="/sources/docs_imgs/BaseAgent.png" alt="图片" style="width: 500px; height:auto;">
</div>
2. ExecutorAgent对任务清单进行顺序执行根据 User 或 上一个Agent编排的计划完成相关任务
3. ReactAgent提供标准React的功能根据问题实现当前任务
4. SelectorAgent提供选择Agent的功能根据User 或 上一个 Agent的问题选择合适的Agent来进行回答.
输出后将 message push 到 memory pool 之中后续通过Memory Manager进行管理
### Chain
基础链路BaseChain串联agent的交互完成相关message和memory的管理
### Phase
基础场景BasePhase串联chain的交互完成相关message和memory的管理
### Prompt Manager
Mutli-Agent链路中每一个agent的prompt创建
- 通过对promtp_input_keys和promtp_output_keys对的简单设定可以沿用预设 Prompt Context 创建逻辑从而实现agent prompt快速配置
- 也可以对prompt manager模块进行新的 key-context 设计,实现个性化的 Agent Prompt
### Memory Manager
主要用于 chat history 的管理,暂未完成
- 将chat history在数据库进行读写管理包括user input、 llm output、doc retrieval、code retrieval、search retrieval
- 对 chat history 进行关键信息总结 summary context作为 prompt context
- 提供检索功能,检索 chat history 或者 summary context 中与问题相关信息,辅助问答