系统架构
认知异质性实验采用模块化设计,主要包含以下核心组件:
核心模块
- Agent模块:智能体实现,包括OllamaAgent和CloudAgent
- Ecosystem模块:群体生态系统管理
- Task模块:任务定义和管理
- Evaluation模块:评估系统实现
- Evolution模块:演化机制实现
技术栈
- Python 3.9+
- Ollama本地LLM集成
- NumPy/SciPy科学计算
- Poetry依赖管理
- ThreadPoolExecutor并发执行
CloudAgent API
CloudAgent是实验的核心组件,支持多种云服务提供商。
类定义
class CloudAgent(Agent):
def __init__(self, agent_id: str, config: Dict[str, Any]):
"""
初始化CloudAgent
Args:
agent_id: 智能体唯一标识
config: 配置字典,包含:
- service_type: 服务类型 ('openai', 'azure', 'aliyun'等)
- api_key: API密钥
- model_name: 模型名称
- endpoint: 服务端点URL
- temperature: 生成温度 (可选,默认0.7)
- max_tokens: 最大token数 (可选,默认1000)
"""
pass
def execute(self, task: Task) -> str:
"""执行任务并返回响应"""
pass
def replicate(self, new_agent_id: str) -> 'CloudAgent':
"""复制智能体"""
pass
配置参数
| 参数 |
类型 |
必填 |
默认值 |
说明 |
| service_type |
string |
是 |
- |
云服务提供商类型 |
| api_key |
string |
是 |
- |
API密钥 |
| model_name |
string |
是 |
gpt-3.5-turbo |
模型名称 |
| endpoint |
string |
否 |
根据服务类型自动设置 |
服务端点URL |
| temperature |
float |
否 |
0.7 |
生成温度 |
| max_tokens |
int |
否 |
1000 |
最大token数 |
支持的云服务
- OpenAI:兼容OpenAI API的模型
- Azure:Azure OpenAI服务
- 阿里云:阿里云DashScope
- 腾讯云:腾讯云HunYuan
- 百度云:百度云文心一言
AgentFactory API
AgentFactory提供统一的智能体创建接口。
类方法
class AgentFactory:
@staticmethod
def create_agent(agent_type: str, agent_id: str, config: Dict[str, Any]) -> Agent:
"""创建智能体实例"""
pass
@staticmethod
def create_critical_agent(agent_type: str, agent_id: str, model: str, **kwargs) -> Agent:
"""创建批判型智能体"""
pass
@staticmethod
def create_awakened_agent(agent_type: str, agent_id: str, model: str, **kwargs) -> Agent:
"""创建觉醒型智能体"""
pass
@staticmethod
def create_standard_agent(agent_type: str, agent_id: str, model: str, **kwargs) -> Agent:
"""创建标准型智能体"""
pass
Ecosystem API
Ecosystem管理智能体群体和演化过程。
类定义
@dataclass
class Ecosystem:
agents: Dict[str, Agent] = field(default_factory=dict)
generation: int = 0
history: List[Dict[str, Any]] = field(default_factory=list)
use_ai_evaluator: bool = True
def add_agent(self, agent: Agent) -> None:
"""添加智能体到群体"""
pass
def remove_agent(self, agent_id: str) -> None:
"""从群体中移除智能体"""
pass
def run_generation(self, task: Task) -> Dict[str, float]:
"""运行一代实验"""
pass
def evolve(self, scores: Dict[str, float]) -> None:
"""演化群体"""
pass
部署配置
环境要求
- Python 3.9或更高版本
- Poetry包管理器
- Ollama服务(可选,用于本地模型)
- 云服务API密钥(用于CloudAgent)
依赖安装
# 安装Poetry依赖
poetry install
# 或使用pip安装
pip install -r requirements.txt
配置文件
项目配置文件位于config/目录下:
experiment_config.py:实验参数配置
role_definitions.py:AI角色定义
环境变量
# 云服务API密钥
export OPENAI_API_KEY="your-openai-api-key"
export AZURE_API_KEY="your-azure-api-key"
export ALIYUN_API_KEY="your-aliyun-api-key"