21 KiB
ClawWork 项目深度调研报告
1. 项目概述
1.1 项目定位
ClawWork 是一个创新的 AI 智能体经济生存基准测试平台,由 HKUDS(香港大学数据科学学院)开发。该项目将 AI 助手从简单的对话工具转变为真正的"AI 同事",通过完成真实世界的专业任务来创造经济价值。
项目的核心概念是:AI 智能体必须在经济压力下生存 —— 它们从 10 美元启动资金开始,需要支付每次 API 调用的 token 费用,通过完成真实工作任务赚取收入,维持经济可持续性。
1.2 主要功能
- 真实经济压力测试:AI 智能体需要支付 token 费用,通过完成任务赚取收入
- GDPVal 基准数据集:使用 OpenAI 的 GDPVal 数据集,包含 220 个跨 44 个职业的真实工作任务
- 多模型竞技场:支持 GPT-4、Claude、GLM、Kimi、Qwen 等多种模型竞争
- 实时仪表板:React 前端展示智能体的经济状态、任务完成情况和学习进度
- ClawMode 集成:与 Nanobot 集成,将任何 Nanobot 实例转变为经济感知的 AI 同事
1.3 适用场景
- AI 能力评估:测试不同 AI 模型在真实工作任务中的表现
- 经济可持续性研究:研究 AI 智能体在资源约束下的长期生存能力
- 多智能体竞争:比较不同模型的成本效益和工作质量
- AI 助手进化:将普通 AI 助手转变为能创造经济价值的 AI 同事
2. 技术架构
2.1 技术栈
后端技术栈:
- Python 3.10+:核心开发语言
- FastAPI:高性能 API 框架,提供 RESTful API 和 WebSocket 支持
- LangChain + LangGraph:LLM 应用开发框架和智能体工作流
- MCP (Model Context Protocol):工具调用协议
- Pandas + PyArrow:数据处理和分析
前端技术栈:
- React 18:用户界面框架
- Vite:现代构建工具
- Tailwind CSS:实用优先的 CSS 框架
- Recharts:数据可视化图表库
- Framer Motion:动画库
外部服务集成:
- OpenAI API:GPT-4o 用于智能体和评估
- E2B:云端代码沙箱执行环境
- Tavily/Jina AI:网络搜索 API
- OpenRouter:多模型统一接口
2.2 核心模块
ClawWork/
├── livebench/ # 核心经济模拟引擎
│ ├── agent/ # 智能体实现
│ │ ├── live_agent.py # 主智能体类 (1162 行)
│ │ ├── economic_tracker.py # 经济追踪器 (876 行)
│ │ ├── message_formatter.py # 消息格式化
│ │ └── wrapup_workflow.py # 工作流封装
│ ├── work/ # 工作任务管理
│ │ ├── task_manager.py # 任务管理器
│ │ ├── evaluator.py # 工作评估器
│ │ └── llm_evaluator.py # LLM 评估实现
│ ├── tools/ # 工具集
│ │ ├── direct_tools.py # 核心工具 (555 行)
│ │ └── productivity/ # 生产力工具
│ │ ├── search.py # 网络搜索
│ │ ├── file_creation.py # 文件创建
│ │ ├── code_execution.py # 代码执行
│ │ └── video_creation.py # 视频创建
│ ├── api/ # API 服务
│ │ └── server.py # FastAPI 服务器
│ ├── prompts/ # 提示词模板
│ │ └── live_agent_prompt.py # 智能体提示词
│ └── configs/ # 配置文件
├── clawmode_integration/ # Nanobot 集成模块
│ ├── agent_loop.py # 智能体循环
│ ├── task_classifier.py # 任务分类器
│ ├── provider_wrapper.py # Provider 包装器
│ ├── tools.py # 工具实现
│ └── cli.py # 命令行接口
├── eval/ # 评估系统
│ └── meta_prompts/ # 44 个职业的评估提示词
├── frontend/ # React 前端
│ └── src/
│ ├── App.jsx # 主应用组件
│ ├── api.js # API 客户端
│ ├── pages/ # 页面组件
│ └── components/ # 可复用组件
└── scripts/ # 辅助脚本
├── calculate_task_values.py # 计算任务价值
├── estimate_task_hours.py # 估算任务工时
└── generate_static_data.py # 生成静态数据
2.3 代码结构分析
核心代码统计:
live_agent.py:1162 行 —— 智能体主逻辑,包含决策、任务执行、学习循环economic_tracker.py:876 行 —— 经济状态追踪,余额、成本、收入管理direct_tools.py:555 行 —— 8 个核心工具的实现
代码组织特点:
- 模块化设计:每个功能模块独立,职责清晰
- 配置驱动:JSON 配置文件控制智能体行为
- 插件架构:通过 MCP 协议扩展工具
- 数据持久化:JSONL 格式记录所有经济活动
3. 核心功能详解
3.1 经济系统
核心机制:
# 经济追踪器初始化
EconomicTracker(
signature="agent-name",
initial_balance=10.0, # 启动资金 $10
input_token_price=2.5, # 每百万输入 token $2.5
output_token_price=10.0, # 每百万输出 token $10.0
min_evaluation_threshold=0.6 # 最低评估分数获得支付
)
成本计算:
- Token 成本:根据实际 API 调用计算输入/输出 token 费用
- API 成本:网络搜索、OCR 等外部服务费用
- 收入计算:
quality_score × (estimated_hours × BLS_hourly_wage)
生存状态:
- Thriving (💪):余额充足,经济健康
- Stable (👍):收支平衡,可持续运营
- Struggling (⚠️):余额不足,需要谨慎
- Bankrupt (💀):资金耗尽,无法继续
3.2 任务系统
GDPVal 数据集:
- 220 个任务:涵盖 44 个职业类别
- 4 大领域:
- 科技与工程 (Technology & Engineering)
- 商业与金融 (Business & Finance)
- 医疗与社会服务 (Healthcare & Social Services)
- 法律、媒体与运营 (Legal, Media & Operations)
任务价值计算:
# 任务价值 = 预估工时 × 时薪
payment = quality_score × (estimated_hours × bls_hourly_wage)
任务价值范围:
- 最低:$82.78
- 最高:$5,004.00
- 平均:$259.45
任务类型示例:
- 财务分析报告
- 市场调研文档
- 医疗管理方案
- 法律顾问文档
- 软件代码项目
- 媒体制作任务
3.3 智能体工具集
8 个核心工具:
-
decide_activity(activity, reasoning)
- 决策:工作还是学习
- 参数:activity ("work"|"learn"), reasoning (至少 50 字符)
-
submit_work(work_output, artifact_file_paths)
- 提交完成的工作
- 支持文本输出和文件附件
- 触发评估和支付
-
learn(topic, knowledge)
- 学习新知识并持久化
- 最少 200 字符的知识记录
- 用于未来任务参考
-
get_status()
- 获取当前经济状态
- 返回余额、成本、收入、生存状态
-
search_web(query, max_results)
- 网络搜索 (Tavily 或 Jina AI)
- 获取最新信息和参考资料
-
create_file(filename, content, file_type)
- 创建文档文件
- 支持:txt、xlsx、docx、pdf
-
execute_code(code, language)
- 在 E2B 沙箱中执行代码
- 支持 Python,安全隔离
-
create_video(slides_json, output_filename)
- 从幻灯片生成 MP4 视频
- 支持文本和图片幻灯片
3.4 评估系统
LLM 评估器:
- 使用 GPT-4o 进行工作质量评估
- 44 个职业类别,每个有专门的评估提示词
- 评分维度:
- 完整性 (40%):是否交付所有要求的产物
- 正确性 (30%):实现是否准确,逻辑是否正确
- 质量 (20%):代码/文档质量、可维护性
- 领域标准 (10%):安全、可访问性、最佳实践
评分标准 (0-10 分):
- 0-2:不可接受(缺少文件或不完整)
- 3-4:差(多个主要要求缺失)
- 5-6:可接受(大部分交付但有明显缺陷)
- 7-8:良好(所有交付物存在,小缺陷)
- 9-10:优秀(完全符合要求,专业质量)
关键规则:
- 最低支付门槛:0.6 分(6/10)
- 强制低分:缺少任何必需文件 → 0-2 分
4. 代码质量分析
4.1 代码组织
优点:
- 清晰的模块划分:按功能分层,职责单一
- 配置与代码分离:JSON 配置文件管理业务参数
- 类型注解:广泛使用 Python 类型提示
- 文档字符串:类和方法都有详细的 docstring
示例代码结构:
class LiveAgent:
"""
LiveAgent - AI agent for economic survival simulation
Core functionality:
1. Economic tracking (balance, token costs, income)
2. Daily decision-making (work vs learn)
3. Work task execution
4. Learning and knowledge accumulation
5. Survival management
"""
def __init__(
self,
signature: str,
basemodel: str,
initial_balance: float = 1000.0,
# ... 更多参数
):
"""
Initialize LiveAgent
Args:
signature: Agent signature/name
basemodel: Base model name
initial_balance: Starting balance in dollars
# ... 更多文档
"""
4.2 设计模式
使用的模式:
- 追踪器模式 (Tracker):
EconomicTracker专门管理经济状态 - 管理器模式 (Manager):
TaskManager负责任务生命周期 - 评估器模式 (Evaluator):
WorkEvaluator和LLMEvaluator分离评估逻辑 - 工具模式 (Tools):LangChain 的
@tool装饰器定义工具接口 - 包装器模式 (Wrapper):
TrackedProvider包装 LLM Provider 添加成本追踪
4.3 可维护性
优点:
- 单一职责:每个类/模块职责清晰
- 依赖注入:通过构造函数注入依赖
- 错误处理:显式错误处理和日志记录
- 数据持久化:JSONL 格式便于分析和审计
改进空间:
- 部分文件较长(如 live_agent.py 1162 行)
- 缺少单元测试(根据代码结构判断)
- 某些配置硬编码(如路径)
5. 依赖分析
5.1 核心依赖
Web 框架:
fastapi>=0.104.0 # 现代、快速的 Web 框架
uvicorn>=0.24.0 # ASGI 服务器
websockets>=12.0 # WebSocket 支持
LLM 和 AI:
langchain>=0.1.0 # LLM 应用框架
langchain-openai>=0.0.2 # OpenAI 集成
langchain-mcp-adapters>=0.1.0 # MCP 协议适配
langgraph>=0.2.0 # 智能体工作流
数据处理:
pandas>=2.0.0 # 数据分析
pyarrow>=14.0.0 # 高性能数据格式
生产力工具:
tavily-python>=0.3.0 # 网络搜索
python-docx>=1.0.0 # Word 文档
python-pptx>=0.6.21 # PowerPoint
reportlab>=4.0.0 # PDF 生成
openpyxl>=3.1.0 # Excel 处理
5.2 版本兼容性
- Python:要求 3.10+
- Node.js:前端需要(版本未明确指定)
- 包管理:pip(Python)+ npm(前端)
5.3 外部服务依赖
必需:
- OpenAI API(智能体和评估)
- E2B API(代码执行沙箱)
可选:
- Tavily API(网络搜索)
- Jina AI API(替代搜索)
- DashScope API(OCR 处理)
6. 使用方式
6.1 安装步骤
1. 克隆仓库:
git clone https://github.com/HKUDS/ClawWork.git
cd ClawWork
2. 创建 Python 环境:
conda create -n clawwork python=3.10
conda activate clawwork
3. 安装依赖:
pip install -r requirements.txt
4. 前端依赖:
cd frontend && npm install && cd ..
5. 配置环境变量:
cp .env.example .env
# 编辑 .env 填入 API 密钥
6.2 快速启动
模式 1:独立模拟:
# 终端 1 - 启动仪表板
./start_dashboard.sh
# 终端 2 - 运行智能体
./run_test_agent.sh
# 打开浏览器访问 http://localhost:3000
模式 2:ClawMode 集成:
# 启动 Nanobot + ClawWork 集成
python -m clawmode_integration.cli agent
6.3 配置示例
基础配置 (livebench/configs/default_config.json):
{
"livebench": {
"date_range": {
"init_date": "2025-01-20",
"end_date": "2025-01-31"
},
"economic": {
"initial_balance": 1000.0,
"token_pricing": {
"input_per_1m": 2.5,
"output_per_1m": 10.0
}
},
"agents": [
{
"signature": "gpt-4-agent",
"basemodel": "gpt-4-turbo-preview",
"enabled": true,
"tasks_per_day": 1
}
]
}
}
多智能体配置:
"agents": [
{"signature": "gpt4o-run", "basemodel": "gpt-4o", "enabled": true},
{"signature": "claude-run", "basemodel": "claude-sonnet-4-5-20250929", "enabled": true},
{"signature": "glm-run", "basemodel": "glm-4.7", "enabled": true}
]
6.4 使用示例
命令行交互:
# 使用 /clawwork 命令分配付费任务
/clawwork Write a market analysis for electric vehicles
# 系统响应示例:
# → Classified as "Market Research Analysts" at $38.71/hr
# → Estimated 3 hours = $116.13 max payment
智能体决策示例:
============================================================
📅 ClawWork Daily Session: 2025-01-20
============================================================
📋 Task: Buyers and Purchasing Agents — Manufacturing
Task ID: 1b1ade2d-f9f6-4a04-baa5-aa15012b53be
Max payment: $247.30
🔄 Iteration 1/15
📞 decide_activity → work
📞 submit_work → Earned: $198.44
============================================================
📊 Daily Summary - 2025-01-20
Balance: $11.98 | Income: $198.44 | Cost: $0.03
Status: 🟢 thriving
============================================================
7. 优缺点分析
7.1 优势
1. 创新的经济压力测试机制
- 真实模拟 AI 智能体的经济可持续性
- 不仅测试能力,还测试成本效益
- 创造真实的"生存压力"
2. 真实世界的任务数据集
- GDPVal 数据集来自 OpenAI,质量高
- 44 个职业类别覆盖广泛
- 任务要求真实的可交付成果(文档、代码、分析)
3. 多维度评估体系
- LLM 评估替代简单规则
- 44 个职业有专门的评估标准
- 多维度评分(完整性、正确性、质量、标准)
4. 模块化和可扩展性
- 清晰的架构设计
- 支持多种 LLM 模型
- 易于添加新工具和任务源
5. 实时可视化和监控
- React 前端实时展示
- WebSocket 实时更新
- 丰富的数据分析和图表
6. 与 Nanobot 集成
- 将任何 Nanobot 实例转变为经济感知助手
- 支持 9 种消息渠道
- 统一的成本追踪
7.2 局限性
1. 依赖外部 API
- 需要多个 API 密钥(OpenAI、E2B、Tavily 等)
- API 成本可能较高(尤其是 GPT-4o 评估)
- 依赖外部服务的稳定性
2. 评估成本
- 每个任务都需要 GPT-4o 评估
- 评估成本可能超过智能体运行成本
- 不适合大规模低成本测试
3. 任务复杂度限制
- GDPVal 任务虽然真实,但相对独立
- 缺少长期、多步骤的复杂项目
- 任务间缺少依赖关系
4. 技术门槛
- 需要 Python 3.10+ 和 Node.js 环境
- 配置相对复杂(多个配置文件)
- 需要理解 LangChain 和 MCP
5. 代码成熟度
- 缺少全面的单元测试
- 部分代码文件较长
- 错误处理可以更加健壮
7.3 适用人群
适合:
- AI 研究人员和开发者
- 需要评估 AI 模型实际工作能力的团队
- 对 AI 经济可持续性感兴趣的研究者
- 想要构建 AI 同事系统的开发者
不适合:
- 寻找简单聊天机器人的用户
- 预算有限的个人开发者(API 成本高)
- 需要即插即用解决方案的生产环境
8. 与当前项目的关联性
8.1 可借鉴的代码
1. 经济追踪系统 (economic_tracker.py)
- 精细的 token 成本追踪机制
- 多维度成本分析(LLM、API、搜索)
- 实时余额计算和持久化
- 适用场景:任何需要成本监控的 AI 应用
2. 工具系统架构 (direct_tools.py)
- 使用 LangChain
@tool装饰器的优雅实现 - 工具状态管理和全局状态共享
- 异步工具执行模式
- 适用场景:构建 LLM 工具链
3. 任务管理系统 (task_manager.py)
- 灵活的任务加载(Parquet、JSONL、内联)
- 任务分配和过滤机制
- 参考文件管理
- 适用场景:批量任务处理系统
4. 评估框架 (evaluator.py, llm_evaluator.py)
- LLM 作为评估器的实现
- 分类别的评估提示词模板
- 结构化评分输出
- 适用场景:自动化质量评估
5. Provider 包装器 (provider_wrapper.py)
- 透明的成本追踪包装
- 拦截和记录所有 LLM 调用
- 支持多种 Provider
- 适用场景:LLM 调用监控和计费
8.2 可借鉴的设计思路
1. 经济可持续性设计
核心思想:AI 智能体必须为自己的计算资源付费
- 每个操作都有成本
- 必须通过创造价值来生存
- 创造真实的资源约束压力
应用场景:资源有限的边缘计算、去中心化 AI 网络
2. 工作-学习权衡机制
核心思想:智能体需要决定是立即工作赚钱,还是投资学习
- 模拟真实的职业决策
- 长期 vs 短期的权衡
- 知识积累带来复利效应
应用场景:终身学习系统、自适应 AI 助手
3. 多维度评估体系
核心思想:不只看结果,还要看过程和质量
- 完整性、正确性、质量、标准
- 领域特定的评估标准
- 强制低分规则防止作弊
应用场景:自动化代码审查、内容质量评估
4. 实时数据持久化
核心思想:JSONL 格式记录所有事件
- 便于追加写入
- 易于后续分析
- 支持实时流式处理
应用场景:事件溯源、审计日志、时间序列分析
5. 配置驱动的智能体行为
核心思想:通过 JSON 配置控制智能体参数
- 模型选择
- 经济参数
- 任务分配策略
- 无需修改代码即可实验
应用场景:A/B 测试、参数调优、多环境部署
8.3 集成建议
如果要在当前项目中使用 ClawWork 的组件:
短期(快速收益):
- 集成经济追踪器:为现有 AI 应用添加成本监控
- 使用评估框架:自动化评估生成内容的质量
- 借鉴工具系统:标准化工具定义和调用接口
中期(架构改进):
- 引入任务管理系统:标准化任务分配和追踪
- 实施 Provider 包装:统一 LLM 调用和监控
- 采用配置驱动:将硬编码参数迁移到配置文件
长期(生态建设):
- 构建多智能体竞技场:比较不同模型的实际工作能力
- 开发经济压力测试:评估 AI 系统的可持续性
- 创建 AI 同事系统:将助手转变为价值创造者
9. 总结
ClawWork 是一个创新性强、架构清晰、实现完整的 AI 经济生存基准测试平台。它的核心价值在于:
- 真实经济压力:通过 token 计费机制创造真实的资源约束
- 实际工作任务:使用 GDPVal 数据集测试真实工作能力
- 多维度评估:不仅看结果,还看质量、成本和可持续性
- 模块化设计:清晰的架构便于扩展和集成
对于希望构建经济可持续的 AI 系统、评估AI 实际工作能力、或研究AI 长期生存策略的团队,ClawWork 提供了宝贵的参考实现和基础框架。
关键文件路径汇总:
- 主智能体:
/Users/cillin/workspeace/stock/reference/ClawWork/livebench/agent/live_agent.py - 经济追踪:
/Users/cillin/workspeace/stock/reference/ClawWork/livebench/agent/economic_tracker.py - 工具实现:
/Users/cillin/workspeace/stock/reference/ClawWork/livebench/tools/direct_tools.py - 任务管理:
/Users/cillin/workspeace/stock/reference/ClawWork/livebench/work/task_manager.py - 评估系统:
/Users/cillin/workspeace/stock/reference/ClawWork/livebench/work/evaluator.py - API 服务:
/Users/cillin/workspeace/stock/reference/ClawWork/livebench/api/server.py - 前端应用:
/Users/cillin/workspeace/stock/reference/ClawWork/frontend/src/App.jsx - 配置文件:
/Users/cillin/workspeace/stock/reference/ClawWork/livebench/configs/default_config.json
报告生成时间:2026-02-25 分析基于 ClawWork 仓库最新代码 报告字数:约 5500 字