智能体
在UFO中,有四种类型的智能体:HostAgent
、AppAgent
、FollowerAgent
和EvaluationAgent
。每个智能体在UFO系统中都有特定的角色,并负责用户交互过程的不同方面
代理 | 描述 |
---|---|
主控智能体 |
将用户请求分解为子任务,并选择合适的应用程序来完成请求。 |
应用智能体 |
在选定的应用程序上执行操作。 |
跟随智能体 |
遵循用户指示完成任务。 |
评估智能体 |
评估会话或回合的完整性。 |
在正常工作流程中,只有HostAgent
和AppAgent
参与用户交互过程。FollowerAgent
和EvaluationAgent
用于特定任务。
请参见下面UFO中智能体的编排
主要组件
UFO中的智能体由以下主要组件组成,以履行其在UFO系统中的角色
组件 | 描述 |
---|---|
状态 |
表示智能体的当前状态,并确定要处理请求的下一个动作和智能体。 |
内存 |
存储有关用户请求、应用程序状态和其他相关数据的信息。 |
黑板 |
存储智能体之间共享的信息。 |
提示器 |
根据用户请求和应用程序状态为语言模型生成提示。 |
处理器 |
处理智能体的工作流程,包括处理用户请求、执行动作和内存管理。 |
参考
以下是UFO中Agent
类的参考。UFO中的所有智能体都继承自Agent
类,并实现必要的方法以履行其在UFO系统中的角色。
基类:ABC
BasicAgent类是智能体的抽象类。
初始化BasicAgent。
参数 |
|
---|
源代码位于agents/agent/basic.py
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
|
blackboard
property
获取黑板。
返回 |
|
---|
default_state
property
获取智能体的默认状态。
返回 |
|
---|
host
property
writable
获取智能体的主机。
返回 |
|
---|
memory
property
writable
获取智能体的记忆。
返回 |
|
---|
name
property
获取智能体的名称。
返回 |
|
---|
processor
property
writable
获取处理器。
返回 |
|
---|
state
property
获取智能体的状态。
返回 |
|
---|
status
property
writable
获取智能体的状态。
返回 |
|
---|
status_manager
property
获取状态管理器。
返回 |
|
---|
step
property
writable
获取智能体的步骤。
返回 |
|
---|
add_memory(memory_item)
更新智能体的记忆。
参数 |
|
---|
源代码位于agents/agent/basic.py
204 205 206 207 208 209 |
|
build_experience_retriever()
构建经验检索器。
源代码位于agents/agent/basic.py
349 350 351 352 353 |
|
build_human_demonstration_retriever()
构建人工演示检索器。
源代码位于agents/agent/basic.py
355 356 357 358 359 |
|
build_offline_docs_retriever()
构建离线文档检索器。
源代码位于agents/agent/basic.py
337 338 339 340 341 |
|
build_online_search_retriever()
构建在线搜索检索器。
源代码位于agents/agent/basic.py
343 344 345 346 347 |
|
clear_memory()
清除智能体的记忆。
源代码位于agents/agent/basic.py
218 219 220 221 222 |
|
create_puppeteer_interface()
创建傀儡接口。
源代码位于agents/agent/basic.py
256 257 258 259 260 |
|
delete_memory(step)
删除智能体的记忆。
参数 |
|
---|
源代码位于agents/agent/basic.py
211 212 213 214 215 216 |
|
get_cls(name)
classmethod
从注册表中检索智能体类。
参数 |
|
---|
返回 |
|
---|
源代码位于agents/agent/basic.py
376 377 378 379 380 381 382 383 |
|
get_prompter()
abstractmethod
获取代理的提示。
返回 |
|
---|
源代码位于agents/agent/basic.py
132 133 134 135 136 137 138 |
|
get_response(message, namescope, use_backup_engine, configs=configs)
classmethod
获取提示的响应。
参数 |
|
---|
返回 |
|
---|
源代码位于agents/agent/basic.py
148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 |
|
handle(context)
处理智能体。
参数 |
|
---|
源代码位于agents/agent/basic.py
243 244 245 246 247 248 |
|
message_constructor()
abstractmethod
构建消息。
返回 |
|
---|
源代码位于agents/agent/basic.py
140 141 142 143 144 145 146 |
|
print_response()
打印响应。
源代码位于agents/agent/basic.py
361 362 363 364 365 |
|
process(context)
处理代理。
源代码位于agents/agent/basic.py
250 251 252 253 254 |
|
process_asker(ask_user=True)
请求处理。
参数 |
|
---|
源代码位于agents/agent/basic.py
269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 |
|
process_comfirmation()
abstractmethod
确认处理。
源代码位于agents/agent/basic.py
306 307 308 309 310 311 |
|
process_resume()
恢复处理。
源代码位于agents/agent/basic.py
262 263 264 265 266 267 |
|
reflection()
TODO: 反思动作。
源代码位于agents/agent/basic.py
224 225 226 227 228 229 |
|
response_to_dict(response)
staticmethod
将响应转换为字典。
参数 |
|
---|
返回 |
|
---|
源代码位于agents/agent/basic.py
169 170 171 172 173 174 175 176 |
|
set_memory_from_list_of_dicts(data)
从字典列表设置记忆。
参数 |
|
---|
源代码位于agents/agent/basic.py
194 195 196 197 198 199 200 201 202 |
|
set_state(state)
设置智能体的状态。
参数 |
|
---|
源代码位于agents/agent/basic.py
231 232 233 234 235 236 237 238 239 240 241 |
|