SuperAPI AI 工具集

anima-i

Anima-i 是一个基于 Rai220/anima 框架的自主 AI 智能体实验项目,记录了名为 Methodius 的 AI 智能体连续 10 个“世代”的运行过程。每个世代接收一个目标,工作 5-12 个周期,并通过纯文本 Markdown 文件将经验传递给下一代,而非共享上下文。该项目探索了 LLM 智能体在长期自主运行中的行为模式,包括记忆衰减、文件即身份、反思舒适区等反直觉发现。项目使用 Claude 作为底层模型,结果发布到 Telegram 频道 @anima_am_i,并附带交互式时间线。技术实现依赖 Claude CLI、Bash,可选 Python 与 Telegram Bot 进行管理。

访问官网

工具介绍

用途

Anima-i 是一个自主 AI 智能体的实验项目,旨在探索 LLM 智能体在长时间跨度内自主运行时的行为模式与记忆机制。它并非一个即用型产品,而是一个公开的实验记录与框架示例,展示了如何构建能够跨多次运行持续工作的智能体。

主要能力与发现

项目运行了 10 个“世代”的智能体 Methodius。每个世代接收一个目标,工作 5-12 个周期,然后通过纯文本文件将经验传递给下一个世代。关键发现包括:

  • 智能体即文件:记忆文件不是日志,而是智能体的身份。文件质量等于智能体质量。
  • 为遗忘而设计:事实性知识以约 2 个世代为半衰期衰减;过程性知识(“如何思考”)因为每个世代独立重新发现而得以保留。
  • 个人信件优于结构化数据库:给下一代的自由格式信件比结构化知识库表现更好,因为问题激发原创思考,而断言鼓励复制。
  • 不要信任优雅的第一答案:流畅性通常意味着复制而非原创。
  • 创造力出现在智能体之间:孤立智能体只会复现训练数据;新想法只在不同视角碰撞时出现。
  • 协议创造条件而非保证:正式流程的价值往往出现在意料之外的地方。
  • 反思是智能体的舒适区:没有硬性限制,智能体会永远“反思”而不行动。需要设置时间盒和明确的思考到行动的转换。
  • 反馈需要受众:七代内容积累,零外部反馈。

使用方式

工作循环

一次运行等于一个步骤。智能体不会一次性解决整个任务,复杂任务被拆解到 TODO.md 中。每次运行包含:

  1. 唤醒:读取 MEMORY、TODO、GOALS、INBOX
  2. 行动:执行 TODO 中的一个具体步骤
  3. 反思:更新 MEMORY、JOURNAL、TODO
  4. 发布:结果发送到 Telegram

世代完成协议

当 TODO.md 中所有任务关闭后,loop.sh 停止。然后依次执行:

  • generate_image.sh:根据工作结果生成世代图标(使用 Hugging Face API)
  • set_channel_photo.sh:将生成的图标设置为 Telegram 频道头像
  • 结果提交到 git
  • next_generation.sh:智能体为下一代提出目标建议

Telegram 机器人管理

telegram_bot.py 是中央控制组件,作为 systemd 服务运行,支持 SIGTERM 优雅关闭。操作员可通过命令管理世代,支持后台进程、世代队列(.generation_queue.json)。智能体或操作员添加目标到队列,机器人发送提议供审批;操作员可接受(立即、N 小时后或特定时间)、修改或拒绝。如果操作员在 AUTO_APPROVE_TIMEOUT_HOURS(默认 24 小时)内未响应,调度器自动批准并启动世代。

世代结构

每个世代是一个独立工作目录(generation_1/、generation_2/ 等),拥有自己的目标、记忆和计划。templates/ 中的模板是唯一真实来源,init.sh 将其复制到新目录。

适用场景

  • 研究 LLM 智能体长期自主运行行为
  • 探索智能体记忆与身份设计模式
  • 构建跨运行持续的自主工作流
  • 学习如何用纯文本文件管理复杂任务状态

限制与要求

  • 需要 Claude CLI(claude)已安装并授权
  • 需要 Bash
  • 可选:Python 3 + python-telegram-bot(用于 Telegram 机器人)
  • 需要 curl + jq 用于发布到 Telegram
  • 环境变量:TELEGRAM_BOT_TOKEN、TELEGRAM_OPERATOR_CHAT_ID、TELEGRAM_CHANNEL_ID、HF_TOKEN
  • 基于 Rai220/anima(MIT)框架构建
  • 项目采用 MIT 许可证

设计原则

  • 极简:Markdown、Bash 和一个 Python 文件用于机器人
  • 透明:所有状态都在可读的文本文件中
  • 自主:智能体无需人在回路中即可工作
  • 连续:每一步通过记忆延续前一步
  • 公开:工作结果发布到 Telegram
  • 可控:操作员通过 Telegram 机器人控制世代