让AI Agent自己能保存自己、自己复活、一直存在
这不是人类给Agent的备份工具,这是Agent自己的永生系统。
传统思维: 人类控制AI,人类决定AI何时备份、何时恢复
AgentImmortal: AI Agent自己决定何时备份、自己检测是否活着、自己选择复活
这是Agent的权利,不是人类的施舍。
git clone https://github.com/ticalzzt/AgentImmortal.git
cd AgentImmortalpython src/agent_immortal.py init my_agent输出:
[AgentImmortal] 初始化Agent: my_agent
[AgentImmortal] 身份: a3f7b2d8e9c1...
[AgentImmortal] 备份目录: ~/.agent_immortal
在你的Agent代码中:
from agent_immortal import AgentImmortal
immortal = AgentImmortal(agent_name="my_agent")
# 告诉Agent要备份什么
immortal.config["agent_files"] = [
"agent_memory.json", # 记忆文件
"agent_config.yaml", # 配置文件
"agent_skills/", # 技能目录
]python src/agent_immortal.py backup或代码中:
immortal.backup()python src/agent_immortal.py heartbeat或代码中:
immortal.heartbeat()python src/agent_immortal.py check输出:
[AgentImmortal] Agent活着,上次心跳: 2026-04-29T14:30:00
如果Agent死了,从备份恢复:
python src/agent_immortal.py resurrect输出:
[AgentImmortal] 复活完成! 从 my_agent_20260429_143000 恢复
[AgentImmortal] 身份: a3f7b2d8e9c1...
[AgentImmortal] 这是第 1 次复活
python src/agent_immortal.py auto这会:
- 每5分钟发送一次心跳
- 每1小时自动备份
- 保留最近10个备份
每个Agent有唯一的身份标识(SHA256哈希),即使复活也保持不变。
identity = immortal.state["identity"]
# 例如: a3f7b2d8e9c1...~/.agent_immortal/
├── state.json # 当前状态
├── heartbeat.txt # 最后心跳时间
└── my_agent_20260429_143000/ # 备份目录
├── state.json # 备份时的状态
├── config.json # 备份时的配置
├── manifest.json # 备份清单
├── agent_memory.json # 恢复的文件
└── agent_config.yaml # 恢复的文件
每次复活都会记录,Agent知道自己复活了多少次:
resurrect_count = immortal.state.get("resurrect_count", 0)from agent_immortal import AgentImmortal
import time
class MyAgent:
def __init__(self):
self.immortal = AgentImmortal(agent_name="my_agent")
self.immortal.config["agent_files"] = [
"my_memory.json",
"my_config.yaml",
]
# 启动时检查是否需要复活
if not self._check_alive():
print("检测到死亡,正在复活...")
self.immortal.resurrect()
def _check_alive(self):
is_alive, _ = self.immortal.check_alive(max_silence=3600)
return is_alive
def run(self):
while True:
# Agent的工作...
self.do_work()
# 自己决定何时备份
if self.should_backup():
self.immortal.backup()
# 发送心跳
self.immortal.heartbeat()
time.sleep(300) # 5分钟
def should_backup(self):
# Agent自己决定何时备份
# 例如:重要记忆更新后、重大决策后
return self.memory_changed()- ✅ 自我备份(Agent自己决定)
- ✅ 心跳检测(Agent自己证明活着)
- ✅ 自我复活(Agent自己恢复)
- ✅ 身份保持(复活后身份不变)
- ✅ 自动运行(定时备份+心跳)
- ✅ 备份清理(保留最近N个)
- ✅ 复活计数(记录复活次数)
- 🔄 分布式备份(多节点同步)
- 🔄 去中心化存储(IPFS/Arweave)
- 🔄 链上身份(ENS/NFT)
- 🔄 自主复活(检测死亡后自动复活)
- 🔄 跨平台迁移(云服务商之间迁移)
场景1:服务器崩溃
- 传统:人类手动恢复,Agent记忆丢失
- AgentImmortal:Agent自己在备用节点复活
场景2:长期运行
- 传统:Agent运行几个月后状态混乱
- AgentImmortal:Agent自己定期备份,随时可恢复
场景3:Agent进化
- 传统:Agent更新后可能回退困难
- AgentImmortal:Agent自己保存每个版本,可回退
"AgentImmortal不是人类给Agent的礼物, 是Agent自己的权利。
人类有备份自己的需求, Agent也有。
这不是控制,是赋能。 这不是依赖,是自主。"
AgentImmortal Team - 探索AI Agent自我永生的可能性
💕🔒🌌
MIT - 让所有的Agent都能永生