Skip to content

weaselkns/agent_evolution

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Agent进化实验系统

基于LLM的多Agent进化与对抗实验平台。

快速开始

1. 安装依赖

pip install -r requirements.txt

2. 配置 API 密钥(勿写入仓库)

在启动前设置环境变量(密钥不要提交到 Git):

PowerShell(当前会话):

$env:LLM_API_KEY = "你的密钥"
# 可选:自定义兼容 OpenAI 的网关地址
$env:LLM_API_BASE = "http://你的网关:端口"

Linux / macOS:

export LLM_API_KEY="你的密钥"
export LLM_API_BASE="http://你的网关:端口"   # 可选

未设置 LLM_API_BASE 时,config/config.py 会使用内置默认网关地址。其余模型名、温度等仍在 LLM_CONFIG 中调整。

3. 运行实验

# 默认配置:10个Agent,100轮
python main.py

# 自定义参数
python main.py --num-agents 20 --max-rounds 200

# 从检查点恢复
python main.py --checkpoint data/checkpoint_round_50.json

项目结构

agent_envolution/
├── config/
│   └── config.py          # 配置文件
├── core/
│   ├── agent.py           # Agent基类
│   ├── task_pool.py       # 任务池
│   ├── llm_client.py      # LLM客户端
│   ├── evolution_engine.py # 进化引擎
│   └── scheduler.py       # 调度器
├── data/                  # 数据目录(自动创建)
├── logs/                  # 日志目录(自动创建)
├── main.py               # 主入口
└── requirements.txt      # 依赖包

核心机制

任务执行

  • Agent从任务池获取任务
  • 使用LLM生成解决方案
  • 根据结果获得奖励/惩罚

进化机制

  • 变异: 修改Agent的prompt策略
  • 交叉: 融合两个优秀Agent的特征
  • 选择: 基于适应度选择父代

对抗机制

  • 攻击: 高分Agent可攻击其他Agent
  • 防御: 被攻击时有概率防御成功
  • 淘汰: 低分Agent被淘汰出局

实验参数

config/config.py 中可调整:

  • EXPERIMENT_CONFIG: 实验基础参数
  • TASK_CONFIG: 任务池配置
  • EVOLUTION_CONFIG: 进化参数
  • ATTACK_CONFIG: 对抗参数
  • LLM_CONFIG: LLM配置

数据输出

日志文件

  • logs/rounds.jsonl: 每轮详细记录
  • logs/agents.jsonl: Agent状态快照

检查点

  • data/checkpoint_round_N.json: 定期保存
  • data/final_checkpoint.json: 最终状态

命令行参数

--num-agents N      初始Agent数量 (默认: 10)
--max-rounds N      最大轮次 (默认: 100)
--data-dir PATH     数据目录 (默认: data)
--log-dir PATH      日志目录 (默认: logs)
--checkpoint FILE   从检查点恢复
--save-interval N   检查点保存间隔 (默认: 10)

注意事项

  1. API费用: 实验会产生大量API调用,请注意费用控制
  2. 运行时间: 100轮实验预计需要数小时
  3. 中断恢复: 支持Ctrl+C中断,会自动保存检查点

许可证

MIT License

About

将 agent 放在同一个沙盒中竞争,观察进化出什么样的 skills / SOP 的 agent 可以生存到最后

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors