BabyCommandAGI 旨在测试当您将比 GUI 更古老的计算机交互界面 CLI 与 LLM 结合时会发生什么。不熟悉计算机的人可能不知道,CLI 是一种古老的计算机交互界面。即使在今天,许多计算机操作仍然可以通过 CLI 完成(常见的 Linux 服务器主要使用 CLI)。想象一下 LLM 和 CLI 在进行对话。思考可能发生的事情令人兴奋。我希望大家都能尝试一下,并发现新的用例。
推荐使用 Claude 3.7 Sonnet 或更高版本的 API 来运行此系统。
这个 Python 脚本系统基于 BabyAGI。然而,为了高效执行命令,BabyAGI 中作为思考部分的功能已被大幅简化。(这可能会在以后改变)
BabyCommandAGI 有潜力应用于各种场景。请尝试使用它以发现更多用例。
以下是一些已知的有用用例。
仅通过提供反馈即可自动创建应用程序
https://twitter.com/saten_work/status/1667126272072491009
该脚本通过执行以下连续循环来工作:

请按照以下步骤操作:
git clone https://github.com/saten-private/BabyCommandAGI.gitcd 进入 BabyCommandAGI 目录。cp .env.example .env 创建用于插入环境变量的文件。前提条件是必须安装 docker 和 docker-compose。Docker Desktop 是最简单的选择:https://www.docker.com/products/docker-desktop/
docker-compose up -d && docker attach babyagi
docker-compose stop
注意:即使您使用 Ctrl+C 退出,除非运行 docker-compose stop 或 ./clean.sh,否则不会停止。请务必小心。
注意:如果代理无法实现其目标,可能会无限循环。请注意 Anthropic 和 OpenAI API 的使用成本。
AI 生成的项目将创建在 workspace 文件夹中。
如果失败,可以通过再次运行来从上次中断的地方恢复。
更改 OBJECTIVE 将清除未来的任务列表和 OBJECTIVE 反馈。
通过输入 "f",您可以就 OBJECTIVE 向 AI 提供用户反馈。这使得 AI 可以反馈从 CLI 无法获得的信息,例如 GUI 信息。
通常,AI 无法对其正在执行的命令做出诸如 "y" 或 "n" 的回答,但通过输入 "a" 可以进入能够回答的模式。
(顺便说一下,如果 shell 命令等待类似 "y" 或 "n" 的答案超过 5 分钟,并且 LLM 认为回答是合适的,LLM 将根据当时情况的判断自动回答 "y" 或 "n"。)
./clean.sh重置环境(容器),同时也会执行 ./new_store.sh。
- ./backup_workspace.sh
通过在当前时间命名的文件夹中备份您的 workspace 到 workspace_backup 目录。
(请注意,环境(容器)和 BabyCommandAGI 数据不会被备份。)
- ./new_store.sh
将创建新的 BabyCommandAGI 数据(记忆信息)。由于切换到新数据,BabyCommandAGI 将不记得任何内容。
执行期间的日志保存在 log 文件夹下。
日志文件名由 OBJECTIVE 标识符和 RESULTS_STORE_NAME 决定。
以下内容会保存到执行点:
- 执行到某个点的任务保存在 data 文件夹下。
- 最后一个当前目录保存在 pwd 文件夹下。
- 最后环境变量的转储保存在 env_dump 文件夹下。
BabyCommandAGI 仍处于早期阶段,正在确定其发展方向和实现步骤。目前,BabyCommandAGI 的目标是保持简洁。为了保持这种简洁性,提交 PR 时,我们恳请您遵循以下准则:
来自 @saten-private 的说明 (2023年5月21日):
我不太习惯为开源项目做贡献。我白天还有另一份工作,不确定是否能频繁查看 PR 和问题。然而,我珍视这个想法,并希望它对大家有用。如果有任何问题,请随时告诉我。我期待向大家学习很多。
我是一个新手,不会说英语,对日本以外的文化也知之甚少。但是,我珍视我的想法,并希望它们能对许多人有用。
(我相信未来我还会继续想出很多无聊的想法)
本项目的维护得益于以下所有赞助者的支持。如果您想成为赞助者并将您的头像/徽标显示在下方,请 点击这里。💖 您只需 5 美元即可成为赞助者。