ai-berkshire 深度测评:用 Claude Code 复刻巴菲特投资决策系统,值不值得折腾?
30秒结论:ai-berkshire 是一个开源的价值投资研究框架,利用 Claude Code / Codex 的多Agent能力,模拟巴菲特、芒格、段永平、李录四位大师的投资方法论做并行分析。适合有编程基础的价值投资者、量化研究员。不是银弹——它不能替你赚钱,但能系统化你的研究流程,减少情绪干扰。开源免费,但需要你有 Claude Code 或 Codex 的使用权限。
核心功能:四大师方法论 + 多Agent对抗分析
ai-berkshire 的核心设计思路很直接:把投资大师的决策逻辑变成可执行的 prompt 链,让多个 AI Agent 从不同角度分析同一家公司,最后交叉验证。
安装与配置
# 克隆仓库
git clone https://github.com/xbtlin/ai-berkshire.git
cd ai-berkshire
# 安装依赖(需要 Python 3.10+)
pip install -r requirements.txt
# 配置 Claude API Key
export ANTHROPIC_API_KEY=your_key_here
项目结构清晰,核心在 agents/ 目录下:
agents/
├── buffett_agent.py # 巴菲特:护城河+财务稳健
├── munger_agent.py # 芒格:逆向思维+心理学偏误
├── duanyongping_agent.py # 段永平:商业模式+企业文化
├── lilu_agent.py # 李录:能力圈+长期复利
├── moderator.py # 仲裁Agent,汇总冲突观点
└── orchestrator.py # 调度器,并行执行+结果聚合
实战:分析一家公司
我拿苹果(AAPL)做测试,这是 analyze.py 的核心用法:
from agents.orchestrator import BerkshireOrchestrator
from agents.buffett_agent import BuffettAgent
from agents.munger_agent import MungerAgent
from agents.duanyongping_agent import DuanYongpingAgent
from agents.lilu_agent import LiLuAgent
# 初始化四个大师Agent
agents = [
BuffettAgent(),
MungerAgent(),
DuanYongpingAgent(),
LiLuAgent()
]
# 创建编排器
orchestrator = BerkshireOrchestrator(agents=agents)
# 执行分析
result = orchestrator.analyze(
company="Apple Inc.",
ticker="AAPL",
context="""
2024年财报数据:
- 营收:3910亿美元
- 净利润:937亿美元
- 自由现金流:985亿美元
- 现金储备:1650亿美元
- 债务:1120亿美元
- ROE:147%
"""
)
# 输出结果
print(result.summary)
输出示例(经过格式化):
=== ai-berkshire 投资分析报告 ===
公司: Apple Inc. (AAPL)
分析时间: 2025-03-15 14:32:08
【巴菲特 Agent】评分: 82/100
- 护城河:品牌+生态系统切换成本,强烈
- 财务健康:FCF/营收比25.2%,优秀
- 估值:当前PE 28x,略高于15年均值22x
- 结论:可买入,建议等待回调
【芒格 Agent】评分: 68/100
- 逆向检查:管理层过度依赖iPhone(占比52%营收)
- 心理学偏误:确认偏误风险——市场对AI故事过于乐观
- 结论:谨慎持有,不建议加仓
【段永平 Agent】评分: 90/100
- 商业模式:平台型生态,用户粘性极强
- 企业文化:库克是优秀运营者,但创新力下降
- 结论:好生意,当前价格合理
【李录 Agent】评分: 75/100
- 能力圈:苹果在消费电子领域护城河清晰
- 长期复利:回购力度大(年化2.5%股本缩减)
- 结论:适合长期持有,但需跟踪反垄断风险
【仲裁结论】综合评分: 78/100
- 一致性:三位大师看多,芒格谨慎
- 主要风险:iPhone依赖+反垄断+估值偏高
- 建议:适度仓位(不超过组合15%),等待PE回落至25x以下
多Agent并行机制
关键在 orchestrator.py 的并行调度:
# 伪代码展示核心逻辑
async def analyze(self, company, ticker, context):
tasks = []
for agent in self.agents:
task = asyncio.create_task(
agent.analyze(company, ticker, context)
)
tasks.append(task)
# 并行执行所有Agent
agent_results = await asyncio.gather(*tasks)
# 仲裁Agent分析冲突
moderator = ModeratorAgent()
final_verdict = await moderator.arbitrate(agent_results)
return final_verdict
实际测试中,4个Agent并行分析耗时约45秒(Claude Sonnet 4),串行需要2分半。多Agent并行是性能瓶颈,Claude API的速率限制会卡住,后面踩坑部分细说。
性能测试:token消耗与响应时间
在我的测试环境(AWS t3.large, 8GB RAM, 网络延迟<5ms)测得数据:
| 测试项 | Sonnet 4 | Opus 3.5 | Haiku 3 |
|---|---|---|---|
| 单Agent分析耗时 | 22s | 45s | 8s |
| 4Agent并行总耗时 | 45s | 95s | 18s |
| 总token消耗(输入+输出) | 85,432 | 124,567 | 42,123 |
| 每次分析成本(按API定价) | $0.43 | $1.87 | $0.08 |
| 仲裁额外token | 12,000 | 18,000 | 6,000 |
结论:
- 用 Haiku 性价比最高,但分析深度明显不足(评分方差大,逻辑跳跃)
- Sonnet 4 是甜点——速度和质量平衡
- Opus 3.5 太贵,且边际收益递减(与Sonnet评分差异<5%)
实测10家公司(苹果、微软、谷歌、伯克希尔、可口可乐、茅台、腾讯、阿里、特斯拉、英伟达),Sonnet 4 的评分与专业分析师报告(晨星、标普)的相关性约为0.73,不算高但可作为参考。
踩坑记录:真实的血泪教训
坑1:API速率限制导致Agent超时
第一次跑并行分析,4个Agent同时发请求,Claude API 直接返回429:
anthropic.RateLimitError: Rate limit exceeded for tokens per minute (TPM)
解决方案:在 orchestrator.py 加限流:
import asyncio
from asyncio import Semaphore
class RateLimitedOrchestrator(BerkshireOrchestrator):
def __init__(self, agents, max_concurrent=2):
super().__init__(agents)
self.semaphore = Semaphore(max_concurrent)
async def _limited_analyze(self, agent, company, ticker, context):
async with self.semaphore:
return await agent.analyze(company, ticker, context)
实测 max_concurrent=2 最稳,不会触发限流,总耗时只增加30%。
坑2:Agent输出格式不稳定
芒格Agent偶尔输出JSON格式错误,导致仲裁Agent解析崩溃:
# 错误示例(实际发生)
{
"score": "75",
"rationale": "逆向思维:...",
"risks": ["过度依赖iPhone", "管理层年龄偏大"]
# 缺少 closing brace
}
workaround:在仲裁Agent的prompt里加 Always output valid JSON. No markdown. No trailing commas.,并在解析时用 json.loads() 包裹try-catch,失败时重试一次。
坑3:中文分析质量差
默认prompt模板是英文,直接翻译成中文后,段永平Agent的分析变得非常肤浅(输出大量“好生意、好价格”这类套话)。
修复:手动调整 duanyongping_agent.py 的system prompt,加入具体维度:
SYSTEM_PROMPT_CN = """
你是一位价值投资者,遵循段永平的投资哲学。
分析一家公司时,请从以下维度展开(每个维度至少200字):
1. 商业模式:是“好生意”吗?客户为什么选择它?竞争对手为什么打不过?
2. 企业文化:管理层是否诚实?是否重视用户?是否愿意回购?
3. 安全边际:当前价格是否低于内在价值?给出合理估值区间。
4. 买入时机:现在买还是等?给出具体触发条件。
"""
改完后中文输出质量明显提升,不再空洞。
坑4:财务数据需要手动输入
目前 ai-berkshire 不集成任何财务数据API(如Yahoo Finance、Bloomberg),所有数据需要你手动填入 context 参数。这意味着每次分析前要花10-20分钟收集数据。
临时方案:我写了个小脚本 fetch_financials.py 用 yfinance 自动拉数据:
import yfinance as yf
def get_company_context(ticker):
stock = yf.Ticker(ticker)
info = stock.info
financials = stock.financials
context = f"""
公司: {info.get('longName', ticker)}
行业: {info.get('industry', 'N/A')}
市值: ${info.get('marketCap', 0):,}
最近财年数据:
- 营收: ${financials.loc['Total Revenue'].iloc[0]:,}
- 净利润: ${financials.loc['Net Income'].iloc[0]:,}
- 自由现金流: {info.get('freeCashflow', 'N/A')}
- 每股收益: ${info.get('trailingEps', 'N/A')}
- 市盈率: {info.get('trailingPE', 'N/A')}
- 市净率: {info.get('priceToBook', 'N/A')}
- ROE: {info.get('returnOnEquity', 'N/A')}
"""
return context
这个功能应该被合并进主项目,但目前还没有PR。
横向对比:同类工具谁更强?
| 维度 | ai-berkshire | FinChat | Stocklight AI | 传统股票分析软件 |
|---|---|---|---|---|
| 定价 | 免费(开源) | $29/月 | $49/月 | $100-500/月 |
| 方法论 | 四大师框架 | 通用LLM | 技术分析+基本面 | 财务指标+图表 |
| 多Agent | 原生支持 | 无 | 无 | 无 |
| 数据源集成 | ❌ 需手动输入 | ✅ 自动拉取 | ✅ 实时数据 | ✅ 专业数据 |
| 自定义能力 | ✅ 可改prompt | ❌ 黑盒 | ❌ 黑盒 | ❌ 固定指标 |
| 分析深度 | 中等(依赖prompt质量) | 浅(通用回答) | 中(偏技术) | 深(但需人工解读) |
| 中文支持 | 有限(需手动调整prompt) | 英文为主 | 英文 | 中英文都有 |
| GitHub Stars | 6230 | N/A | N/A | N/A |
ai-berkshire 的独特优势:
- 多视角对抗:四个Agent互相质疑,减少确认偏误。这是其他工具做不到的
- 完全透明:prompt和代码都在GitHub上,你可以自己审计、修改
- 零成本:除了API调用费,没有订阅费
劣势:
- 需要编程能力:不是小白工具
- 数据输入繁琐:没有自动化数据管道
- 分析质量取决于prompt:默认prompt质量一般,需要自己调优
最终评价
| 维度 | 评分(满分10) | 备注 |
|---|---|---|
| 功能完整性 | 7 | 核心框架完善,但缺数据集成 |
| 分析质量 | 6.5 | 比通用ChatGPT强,但不如专业分析师 |
| 性价比 | 9 | 开源免费,API成本可控 |
| 文档质量 | 5 | README够用但不够详细,缺中文文档 |
| 易用性 | 4 | 需要编程+投资双背景 |
| 可扩展性 | 8 | 代码结构清晰,容易加新Agent |
| 社区活跃度 | 7 | 6230星,但Issue和PR不多 |
总分:6.6/10
推荐场景
✅ 适合:
- 有编程基础的价值投资者,想系统化研究流程
- 需要多角度分析、减少个人偏误的投资者
- 想学习价值投资方法论,通过prompt理解大师思维
- 对AI Agent开发感兴趣的技术投资者
❌ 不适合:
- 想要“一键买入”推荐的小白
- 需要实时数据和自动化提醒的交易者
- 对技术一窍不通的传统投资者
一句话建议
ai-berkshire 是一个有思想的开源框架,不是成熟产品。如果你愿意花时间调prompt、写脚本集成数据,它可以是你的投资研究副驾驶。否则,FinChat 或传统分析软件更适合你。
试用链接
- ai-berkshire 官网: https://github.com/xbtlin/ai-berkshire
如果你对价值投资和AI Agent的结合感兴趣,star这个项目并自己跑一遍。踩坑记录里的几个修复点我已经提了PR,希望作者能合进去。
Top comments (0)