零号特工
个人有机人工智能框架
- 零号代理不是预定义的代理框架。它被设计为动态的、有机增长的,并且在使用过程中不断学习。
- 零号代理是完全透明、可读、可理解、可定制和交互式的。
- 零号代理使用计算机作为完成其(您的)任务的工具。
现在具有响应式 UI、自动记忆和反射:
关键概念
- 通用助理
- 零号代理并未针对特定任务进行预编程(但可以)。它旨在成为通用个人助理。给它一个任务,它会收集信息,执行命令和代码,与其他代理实例合作,并尽力完成任务。
- 它具有持久性记忆,可以记住以前的解决方案、代码、事实、指令等,以便将来更快、更可靠地解决任务。
- 计算机作为工具
- 零号代理使用操作系统作为完成其任务的工具。它没有预先编程的单一用途工具。相反,它可以编写自己的代码并根据需要使用终端创建和使用自己的工具。
- 其武器库中唯一的默认工具是在线搜索、内存功能、通信(与用户和其他代理)以及代码/终端执行。其他一切都是由代理本身创建或者可以由用户扩展。
- 工具使用功能从头开始开发,即使对于非常小的模型,也是最兼容和可靠的。
- 默认工具:零号代理包括知识、网页内容、代码执行和通信等工具。
- 创建自定义工具:通过创建您自己的自定义工具来扩展 Agent Zero 的功能。
- 仪器:仪器是一种新型工具,允许您创建可由零号代理调用的自定义函数和过程。
- 多代理合作
- 每个代理都有一个高级代理为其分配任务和指示。然后每个特工向上级报告。
- 对于链中的第一个代理(代理 0),上级是人类用户;代理人认为没有什么区别。
- 每个智能体都可以创建其下级智能体来帮助分解和解决子任务。这有助于所有代理保持其环境干净且专注。
- 完全可定制和可扩展
- 该框架中几乎没有任何内容是硬编码的。没有什么是隐藏的。一切都可以由用户扩展或更改。
- 整个行为由提示/default/agent.system.md文件中的系统提示符定义。改变这个提示并显着改变框架。
- 该框架不以任何方式指导或限制代理。代理无需遵循硬编码的规则。
- 每个提示、在其通信循环中发送到代理的每个小消息模板都可以在提示/文件夹中找到并进行更改。
- 每个默认工具都可以在python/tools/文件夹中找到,并可以更改或复制以创建新的预定义工具。
- 当然,它是开源的(除了像 Perplexity 这样的一些工具,但将来也会被开源替代品取代)。
- 沟通是关键
- 给您的代理适当的系统提示和说明,它可以创造奇迹。
- 座席可以与上级和下级沟通,提出问题、发出指示、提供指导。在系统提示中指导您的客服人员如何有效沟通。
- 终端界面是实时流式交互的。您可以随时停下来进行干预。如果您发现您的代理走错了方向,请立即停下来并告诉它。
- 这个框架有很大的自由度。您可以指示您的代理定期向上级汇报,请求允许继续。您可以指导他们在决定何时委派子任务时使用评分系统。上级可以复核下级的结果和争议。可能性是无限的。
不错的功能
- 输出非常干净、色彩丰富、可读且具有交互性;没有什么是隐藏的。
- 您在终端中看到的相同彩色输出会自动保存到每个会话的logs/文件夹中的HTML文件中。
- 代理输出是实时流式传输的,允许用户随时阅读和干预。
- 不需要编码,只需要提示和沟通技巧。
- 凭借可靠的系统提示,即使是小型模型,该框架也很可靠,包括精确的工具使用。
记住
零号特工可能很危险!通过正确的指导,零号代理可以做很多事情,甚至对您的计算机、数据或帐户有潜在的危险。始终在隔离环境(例如内置的 docker 容器)中运行 Agent Zero,并注意您的愿望。
零号特工没有预先编程;它是基于提示的。整个框架仅包含最少量的代码,并且不以任何方式指导代理。一切都在prompts/文件夹中的系统提示符中。在这里您可以根据您的需要重写整个框架行为。如果您的代理无法正确沟通,请使用工具、推理、使用记忆、寻找答案 - 只是更好地指导它。
如果您无法提供理想的环境,请告知您的代理商。零号代理旨在在隔离的虚拟环境中使用(为了安全),并预安装和配置了一些工具。如果您无法提供所有必要的条件或 API 密钥,只需更改系统提示并告诉您的代理可以使用哪些操作系统和工具。没有什么是硬编码的;如果您不告诉您的代理某个工具,它就不会知道并且不会尝试使用它。
已知问题
- 系统提示很烂。你可以做得更好。如果你这样做,请帮助我:)
- Docker 容器中的代理和终端之间通过 SSH 进行的通信有时会中断并停止生成输出。有时是因为代理运行了类似“server.serve_forever()”的东西,导致终端挂起,有时会发生随机错误。重新启动代理和/或 docker 容器会有所帮助。
- 代理可以破坏他的操作系统。有时,代理可以停用虚拟环境、卸载软件包、更改配置等。同样,删除 docker 容器并清理work_dir/就足以解决这个问题。
理想的环境
- Docker 容器:运行 Agent Zero 的完美环境是内置的 Docker 容器。代理可以自行下载镜像frdel/agent-zero-exe并启动容器,您只需要运行 docker(如 Docker 桌面应用程序)。
- Python :系统上必须安装Python才能运行该框架。
- 互联网访问:代理需要访问互联网才能使用其在线知识工具并执行需要连接的命令和脚本。如果您不需要代理在线,您可以在提示/文件夹中更改其提示并将其完全本地化。
设置
有关 Windows、macOS 和 Linux 的详细设置指南(带有视频)可以在本页的新代理零文档中找到。
查阅文档
该文档深入介绍了该框架及其功能。如果您是零号特工的新手,那么这是一个很好的起点。单击此处查看文档。
即将推出
- 预安装的二进制文件和捆绑器脚本
- 知识工具开源和网络抓取工具
- 用户交互改进
- 上下文可切换的法学硕士
变更日志 [自版本 0.7 起]
v0.7.1
- 持久聊天- 序列化到 /tmp/chats 并在启动时自动加载到 run_ui.py 中
- 文档堆栈合并到存储库中
- 错误修复
v0.7
- 自动记忆
- 用户界面改进
- 仪器仪表
- 扩展框架
- 反思提示
- 错误修正
笔记
自 v0.6 以来启动文件的更改:
- main.py 文件已替换为 run_ui.py (webui) 和 run_cli.py (terminal) 启动文件。
- Webui 和终端启动文件的配置已移至initialize.py。