编程 AI Hedge Fund 深度解析:当巴菲特遇上大模型——多智能体投资系统的工程革命

2026-04-14 04:53:29 +0800 CST views 11

AI Hedge Fund 深度解析:当巴菲特遇上大模型——多智能体投资系统的工程革命

一个由独立开发者打造的开源项目,如何用 50+ AI Agent 复刻传奇投资人的思维范式?


引言:当投资大师被"炼化"成代码

2026年4月,GitHub 上一个名为 AI Hedge Fund 的项目以惊人的速度蹿红——开源仅数日便斩获 51.7k Star9k+ Fork,登顶全球 Trending 榜单。这个由独立开发者 Virat Singh 打造的项目,做了一件前所未有的事:将沃伦·巴菲特、查理·芒格、本杰明·格雷厄姆等传奇投资人的投资哲学,转化为可运行的 AI Agent 系统。

这不是简单的"用 AI 炒股",而是一次关于多智能体协作架构投资思维建模复杂决策系统的工程实践。本文将从技术架构、Agent 设计哲学、代码实现到工程启示,全方位拆解这个项目背后的技术内幕。


一、项目概览:一个"对冲基金"的技术解剖

1.1 核心定位

AI Hedge Fund 是一个**概念验证(Proof of Concept)**项目,目标是探索 AI 在交易决策中的应用。项目明确声明:仅供教育和研究用途,不适用于真实交易。

但正是这个"玩具级"项目,展现了令人惊讶的工程完整性:

  • 15+ 个投资大师 Agent:每位 Agent 代表一种投资哲学
  • 4 个专业分析 Agent:估值、情绪、基本面、技术面
  • 2 个管理层 Agent:风险管理和投资组合管理
  • 完整的数据管道:从数据获取到决策执行的全链路
  • 回测系统:支持历史数据验证策略有效性

1.2 技术栈全景

AI Hedge Fund
├── 语言:Python 3.11+
├── 依赖管理:Poetry
├── LLM 支持:OpenAI GPT-4o、Anthropic Claude、Groq、DeepSeek、Ollama 本地模型
├── 数据源:Financial Datasets API
├── Web 界面:React + TypeScript + FastAPI
└── 架构模式:多智能体协作(Multi-Agent Collaboration)

二、架构设计:多智能体系统的工程美学

2.1 系统架构总览

AI Hedge Fund 采用分层协作架构,可以类比为真实对冲基金的组织结构:

┌─────────────────────────────────────────────────────────────┐
│                    Portfolio Manager                        │
│              (投资组合经理 - 最终决策层)                      │
└───────────────────────┬─────────────────────────────────────┘
                        │
        ┌───────────────┼───────────────┐
        ▼               ▼               ▼
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ Risk Manager │ │  Valuation   │ │  Sentiment   │
│  (风险管理)   │ │   (估值)     │ │   (情绪)     │
└──────────────┘ └──────────────┘ └──────────────┘
        │               │               │
        └───────────────┼───────────────┘
                        ▼
        ┌───────────────────────────────┐
        │      Investment Agents        │
        │  (投资大师 Agent 集群)         │
        │                               │
        │  • Warren Buffett Agent       │
        │  • Charlie Munger Agent       │
        │  • Ben Graham Agent           │
        │  • Peter Lynch Agent          │
        │  • Cathie Wood Agent          │
        │  • ... (15+ 个 Agent)         │
        └───────────────────────────────┘
                        │
                        ▼
        ┌───────────────────────────────┐
        │      Data & Analysis Layer    │
        │  (数据获取与分析层)            │
        │                               │
        │  • Fundamentals Agent         │
        │  • Technicals Agent           │
        │  • Financial Data API         │
        └───────────────────────────────┘

2.2 Agent 分类与职责

2.2.1 投资大师 Agent(Investment Agents)

这是系统最具特色的部分——每个 Agent 都基于真实投资人的公开言论和著作,封装其独特的投资哲学:

Agent投资大师核心哲学决策特征
Warren Buffett沃伦·巴菲特价值投资寻找"以合理价格买入优秀公司"
Charlie Munger查理·芒格多元思维模型只买"好生意",注重护城河
Ben Graham本杰明·格雷厄姆安全边际寻找隐藏宝石,要求足够安全边际
Peter Lynch彼得·林奇成长投资寻找"十倍股",关注日常生活中的投资机会
Cathie Wood凯西·伍德颠覆性创新相信创新和颠覆的力量
Michael Burry迈克尔·伯里逆向投资《大空头》主角,寻找深度价值
Phil Fisher菲利普·费雪成长投资深入"Scuttlebutt"研究
Bill Ackman比尔·阿克曼激进投资大胆押注,推动变革
Stanley Druckenmiller斯坦利·德鲁肯米勒宏观投资寻找不对称机会
Nassim Taleb纳西姆·塔勒布黑天鹅理论关注尾部风险,反脆弱性
Mohnish Pabrai莫尼什·帕伯莱Dhandho 投资低风险高回报
Aswath Damodaran阿斯沃斯·达摩达兰估值专家故事+数字+纪律性估值
Rakesh Jhunjhunwala拉克什·琼琼瓦拉印度股神印度市场视角

2.2.2 专业分析 Agent(Specialist Agents)

# 估值 Agent - 计算内在价值
class ValuationAgent:
    """
    基于DCF、相对估值等方法计算股票内在价值
    输出:估值信号(买入/持有/卖出)
    """
    
# 情绪 Agent - 分析市场情绪
class SentimentAgent:
    """
    分析新闻、社交媒体、分析师评级等情绪指标
    输出:情绪信号(看涨/中性/看跌)
    """
    
# 基本面 Agent - 财务数据分析
class FundamentalsAgent:
    """
    分析财务报表、盈利能力、成长性等基本面指标
    输出:基本面评分
    """
    
# 技术面 Agent - 技术指标分析
class TechnicalsAgent:
    """
    分析价格走势、成交量、技术指标
    输出:技术信号
    """

2.2.3 管理层 Agent(Management Agents)

# 风险管理 Agent
class RiskManager:
    """
    计算风险指标(VaR、最大回撤等)
    设置仓位限制
    确保组合风险在可控范围内
    """
    
# 投资组合管理 Agent
class PortfolioManager:
    """
    整合所有 Agent 的信号
    权衡风险与收益
    生成最终交易决策
    """

三、核心实现:从哲学到代码的转化

3.1 Agent 基类设计

所有投资大师 Agent 都继承自统一的基类,确保一致的接口和行为:

from abc import ABC, abstractmethod
from typing import Dict, List, Any
from dataclasses import dataclass

@dataclass
class AnalysisSignal:
    """分析信号数据结构"""
    action: str  # "buy", "sell", "hold"
    confidence: float  # 0.0 - 1.0
    reasoning: str  # 推理过程
    metrics: Dict[str, Any]  # 相关指标

class InvestmentAgent(ABC):
    """
    投资大师 Agent 基类
    每个子类代表一种投资哲学
    """
    
    def __init__(self, name: str, philosophy: str, llm_client):
        self.name = name
        self.philosophy = philosophy
        self.llm = llm_client
        
    @abstractmethod
    def analyze(self, 
                ticker: str, 
                financial_data: Dict,
                market_context: Dict) -> AnalysisSignal:
        """
        分析股票并返回交易信号
        
        Args:
            ticker: 股票代码
            financial_data: 财务数据
            market_context: 市场环境
            
        Returns:
            AnalysisSignal: 分析信号
        """
        pass
    
    def _build_prompt(self, ticker: str, data: Dict) -> str:
        """构建 LLM 提示词"""
        return f"""
你是一位遵循{self.philosophy}投资哲学的投资大师。

请分析以下股票:{ticker}

财务数据:
{self._format_data(data)}

请根据你的投资哲学,给出:
1. 投资建议(买入/卖出/持有)
2. 置信度(0-100%)
3. 详细推理过程
4. 关键指标分析

记住你的核心原则:{self._get_core_principles()}
"""

3.2 Warren Buffett Agent 实现示例

class WarrenBuffettAgent(InvestmentAgent):
    """
    沃伦·巴菲特 Agent
    核心哲学:以合理价格买入优秀公司
    """
    
    def __init__(self, llm_client):
        super().__init__(
            name="Warren Buffett",
            philosophy="Value Investing - Wonderful companies at fair prices",
            llm_client=llm_client
        )
        
    def _get_core_principles(self) -> str:
        return """
        1. 只投资你理解的企业(能力圈)
        2. 寻找具有持久竞争优势的公司(护城河)
        3. 管理层必须诚实、能干
        4. 以合理价格买入
        5. 长期持有,忽略短期波动
        """
    
    def analyze(self, ticker: str, 
                financial_data: Dict,
                market_context: Dict) -> AnalysisSignal:
        
        # 计算关键指标
        roe = financial_data.get('return_on_equity', 0)
        debt_to_equity = financial_data.get('debt_to_equity', 0)
        gross_margin = financial_data.get('gross_margin', 0)
        earnings_growth = financial_data.get('earnings_growth_5y', 0)
        
        # 巴菲特的核心筛选标准
        checks = {
            'roe_above_15': roe > 0.15,
            'low_debt': debt_to_equity < 0.5,
            'high_margin': gross_margin > 0.40,
            'consistent_growth': earnings_growth > 0.05,
        }
        
        # 构建 LLM 提示词
        prompt = self._build_prompt(ticker, financial_data)
        
        # 调用 LLM 进行深度分析
        response = self.llm.analyze(prompt)
        
        # 解析响应并生成信号
        return self._parse_response(response, checks)
    
    def _parse_response(self, response: str, 
                       checks: Dict) -> AnalysisSignal:
        """解析 LLM 响应为结构化信号"""
        # 实现解析逻辑...
        pass

3.3 Charlie Munger Agent:多元思维模型

class CharlieMungerAgent(InvestmentAgent):
    """
    查理·芒格 Agent
    核心哲学:多元思维模型 + 只买 wonderful businesses
    """
    
    def _get_core_principles(self) -> str:
        return """
        1. 只投资"wonderful businesses"
        2. 使用多元思维模型(心理学、经济学、物理学等)
        3. Invert, always invert(逆向思考)
        4. 避免愚蠢比追求聪明更重要
        5. 等待" fat pitch "(好球才挥棒)
        """
    
    def analyze(self, ticker: str,
                financial_data: Dict,
                market_context: Dict) -> AnalysisSignal:
        
        # 芒格特别关注:商业模式质量
        business_quality_score = self._assess_business_quality(financial_data)
        
        # 使用多元思维模型分析
        mental_models = [
            self._apply_inversion_principle(ticker, financial_data),
            self._apply_compound_interest_model(financial_data),
            self._apply_checklist_mental_model(financial_data),
        ]
        
        # 综合评估
        prompt = f"""
作为查理·芒格,请用多元思维模型分析 {ticker}:

商业模式质量评分:{business_quality_score}/100

思维模型分析:
{chr(10).join(mental_models)}

请给出投资建议,并解释你使用了哪些思维模型。
"""
        
        response = self.llm.analyze(prompt)
        return self._parse_response(response)

3.4 Ben Graham Agent:安全边际计算

class BenGrahamAgent(InvestmentAgent):
    """
    本杰明·格雷厄姆 Agent
    核心哲学:安全边际 + 隐藏宝石
    """
    
    def analyze(self, ticker: str,
                financial_data: Dict,
                market_context: Dict) -> AnalysisSignal:
        
        # 格雷厄姆的经典筛选标准
        current_price = financial_data.get('current_price', 0)
        book_value_per_share = financial_data.get('book_value_per_share', 0)
        earnings_per_share = financial_data.get('earnings_per_share', 0)
        
        # 计算内在价值(简化版格雷厄姆公式)
        intrinsic_value = self._graham_formula(
            eps=earnings_per_share,
            growth_rate=financial_data.get('growth_rate', 0),
            aaa_yield=market_context.get('aaa_bond_yield', 0.045)
        )
        
        # 安全边际计算
        margin_of_safety = (intrinsic_value - current_price) / intrinsic_value
        
        # 格雷厄姆要求至少 30% 的安全边际
        if margin_of_safety > 0.30:
            action = "buy"
            confidence = min(margin_of_safety * 100, 0.95)
        elif margin_of_safety < -0.10:
            action = "sell"
            confidence = abs(margin_of_safety) * 100
        else:
            action = "hold"
            confidence = 0.5
            
        return AnalysisSignal(
            action=action,
            confidence=confidence,
            reasoning=f"内在价值: ${intrinsic_value:.2f}, "
                     f"当前价格: ${current_price:.2f}, "
                     f"安全边际: {margin_of_safety:.1%}",
            metrics={
                'intrinsic_value': intrinsic_value,
                'margin_of_safety': margin_of_safety,
                'graham_number': self._calculate_graham_number(financial_data)
            }
        )
    
    def _graham_formula(self, eps: float, growth_rate: float, 
                       aaa_yield: float) -> float:
        """
        格雷厄姆估值公式
        Value = EPS * (8.5 + 2g) * (4.4 / Y)
        其中 g 是预期增长率,Y 是 AAA 级债券收益率
        """
        base_value = eps * (8.5 + 2 * growth_rate * 100)
        bond_adjustment = 4.4 / (aaa_yield * 100)
        return base_value * bond_adjustment

四、决策流程:从信号到订单的完整链路

4.1 决策流程架构

class AIHedgeFund:
    """
    AI 对冲基金主控制器
    """
    
    def __init__(self):
        self.investment_agents = self._init_investment_agents()
        self.specialist_agents = self._init_specialist_agents()
        self.risk_manager = RiskManager()
        self.portfolio_manager = PortfolioManager()
        
    def analyze_stock(self, ticker: str) -> TradingDecision:
        """
        分析单只股票并生成交易决策
        """
        # 1. 获取数据
        financial_data = self._fetch_financial_data(ticker)
        market_context = self._fetch_market_context()
        
        # 2. 投资大师 Agent 分析
        investment_signals = []
        for agent in self.investment_agents:
            signal = agent.analyze(ticker, financial_data, market_context)
            investment_signals.append(signal)
            
        # 3. 专业分析 Agent 分析
        valuation_signal = self.specialist_agents['valuation'].analyze(
            ticker, financial_data
        )
        sentiment_signal = self.specialist_agents['sentiment'].analyze(
            ticker, market_context
        )
        fundamentals_signal = self.specialist_agents['fundamentals'].analyze(
            ticker, financial_data
        )
        technicals_signal = self.specialist_agents['technicals'].analyze(
            ticker, market_context
        )
        
        # 4. 风险管理
        risk_assessment = self.risk_manager.assess(
            ticker=ticker,
            signals=investment_signals + [
                valuation_signal, sentiment_signal,
                fundamentals_signal, technicals_signal
            ],
            portfolio=self._get_current_portfolio()
        )
        
        # 5. 投资组合管理 - 最终决策
        decision = self.portfolio_manager.make_decision(
            ticker=ticker,
            investment_signals=investment_signals,
            specialist_signals={
                'valuation': valuation_signal,
                'sentiment': sentiment_signal,
                'fundamentals': fundamentals_signal,
                'technicals': technicals_signal
            },
            risk_assessment=risk_assessment
        )
        
        return decision

4.2 Portfolio Manager 决策逻辑

class PortfolioManager:
    """
    投资组合管理 Agent
    整合所有信号,做出最终交易决策
    """
    
    def make_decision(self, ticker: str,
                     investment_signals: List[AnalysisSignal],
                     specialist_signals: Dict[str, AnalysisSignal],
                     risk_assessment: RiskAssessment) -> TradingDecision:
        
        # 1. 加权投票机制
        # 投资大师 Agent 的权重可以根据历史表现动态调整
        weighted_votes = self._calculate_weighted_votes(investment_signals)
        
        # 2. 专业信号整合
        specialist_consensus = self._aggregate_specialist_signals(
            specialist_signals
        )
        
        # 3. 风险调整
        if risk_assessment.risk_level == "high":
            # 高风险情况下,降低仓位或拒绝交易
            position_size = self._reduce_position_size(
                risk_assessment.recommended_size
            )
        else:
            position_size = risk_assessment.recommended_size
            
        # 4. 生成最终决策
        final_action = self._determine_final_action(
            weighted_votes, specialist_consensus
        )
        
        return TradingDecision(
            ticker=ticker,
            action=final_action,
            quantity=position_size,
            reasoning=self._generate_reasoning(
                investment_signals, specialist_signals, risk_assessment
            ),
            confidence=self._calculate_overall_confidence(
                investment_signals, specialist_signals
            )
        )
    
    def _calculate_weighted_votes(self, 
                                  signals: List[AnalysisSignal]) -> Dict[str, float]:
        """
        计算加权投票结果
        每个 Agent 的权重基于其历史表现
        """
        votes = {"buy": 0.0, "sell": 0.0, "hold": 0.0}
        
        for signal in signals:
            weight = self._get_agent_weight(signal.agent_name)
            votes[signal.action] += signal.confidence * weight
            
        # 归一化
        total = sum(votes.values())
        if total > 0:
            votes = {k: v/total for k, v in votes.items()}
            
        return votes

五、回测系统:验证策略有效性

5.1 回测架构

class Backtester:
    """
    回测系统
    在历史数据上验证策略表现
    """
    
    def __init__(self, hedge_fund: AIHedgeFund):
        self.hedge_fund = hedge_fund
        
    def run_backtest(self, 
                    tickers: List[str],
                    start_date: datetime,
                    end_date: datetime,
                    initial_capital: float = 100000.0) -> BacktestResult:
        """
        运行回测
        """
        portfolio = Portfolio(initial_capital)
        trades = []
        daily_values = []
        
        # 按交易日遍历
        for date in self._trading_days(start_date, end_date):
            # 获取当日市场数据
            market_data = self._fetch_historical_data(tickers, date)
            
            # 对每个持仓或候选股票进行决策
            for ticker in tickers:
                decision = self.hedge_fund.analyze_stock(ticker)
                
                if decision.action == "buy":
                    # 执行买入
                    trade = portfolio.execute_buy(
                        ticker=ticker,
                        quantity=decision.quantity,
                        price=market_data[ticker]['close'],
                        date=date
                    )
                    trades.append(trade)
                    
                elif decision.action == "sell":
                    # 执行卖出
                    trade = portfolio.execute_sell(
                        ticker=ticker,
                        quantity=decision.quantity,
                        price=market_data[ticker]['close'],
                        date=date
                    )
                    trades.append(trade)
                    
            # 记录每日组合价值
            daily_values.append({
                'date': date,
                'value': portfolio.total_value(market_data)
            })
            
        return BacktestResult(
            initial_capital=initial_capital,
            final_value=portfolio.total_value(market_data),
            total_return=(portfolio.total_value(market_data) - initial_capital) / initial_capital,
            trades=trades,
            daily_values=daily_values,
            metrics=self._calculate_metrics(daily_values)
        )
    
    def _calculate_metrics(self, daily_values: List[Dict]) -> Dict:
        """计算回测指标"""
        values = [d['value'] for d in daily_values]
        returns = [(values[i] - values[i-1]) / values[i-1] 
                  for i in range(1, len(values))]
        
        return {
            'sharpe_ratio': self._calculate_sharpe_ratio(returns),
            'max_drawdown': self._calculate_max_drawdown(values),
            'volatility': np.std(returns) * np.sqrt(252),
            'win_rate': self._calculate_win_rate(returns),
            'calmar_ratio': self._calculate_calmar_ratio(returns, values)
        }

5.2 回测结果分析

# 示例:运行回测
backtester = Backtester(hedge_fund)
result = backtester.run_backtest(
    tickers=["AAPL", "MSFT", "NVDA", "GOOGL"],
    start_date=datetime(2024, 1, 1),
    end_date=datetime(2024, 12, 31),
    initial_capital=100000.0
)

print(f"初始资金: ${result.initial_capital:,.2f}")
print(f"最终价值: ${result.final_value:,.2f}")
print(f"总收益率: {result.total_return:.2%}")
print(f"夏普比率: {result.metrics['sharpe_ratio']:.2f}")
print(f"最大回撤: {result.metrics['max_drawdown']:.2%}")
print(f"年化波动率: {result.metrics['volatility']:.2%}")

六、工程启示:从 AI Hedge Fund 学到的

6.1 多智能体系统设计原则

  1. 单一职责原则(SRP)

    • 每个 Agent 只负责一种投资哲学或分析维度
    • 避免"万能 Agent"的复杂性
  2. 显式通信接口

    # 标准化的信号格式
    @dataclass
    class AnalysisSignal:
        action: str
        confidence: float
        reasoning: str
        metrics: Dict[str, Any]
    
  3. 可插拔架构

    • 新的投资大师 Agent 可以轻松添加
    • LLM 提供商可切换(OpenAI、Anthropic、本地模型等)

6.2 Prompt Engineering 最佳实践

# 1. 角色定义清晰
SYSTEM_PROMPT = """你是一位遵循{philosophy}投资哲学的投资大师。
你的决策风格是:{decision_style}
你的核心原则是:{core_principles}
"""

# 2. 结构化输出要求
OUTPUT_FORMAT = """
请以以下 JSON 格式输出你的分析:
{
    "action": "buy|sell|hold",
    "confidence": 0.0-1.0,
    "reasoning": "详细解释你的思考过程",
    "key_metrics": {
        "metric1": value,
        "metric2": value
    }
}
"""

# 3.  few-shot 示例
EXAMPLES = """
示例 1:
输入:苹果公司,ROE 25%,毛利率 40%,市盈率 25
输出:{...}

示例 2:
输入:特斯拉,ROE 5%,毛利率 18%,市盈率 80
输出:{...}
"""

6.3 风险与局限

  1. 回测过拟合风险

    • 历史表现不代表未来收益
    • 需要样本外测试和滚动回测
  2. LLM 幻觉问题

    • 需要结构化输出和验证机制
    • 关键计算应使用传统算法,而非完全依赖 LLM
  3. 数据质量依赖

    • 财务数据的准确性和及时性
    • 另类数据(情绪、新闻)的噪声
  4. 市场结构变化

    • 投资大师的方法论基于历史市场环境
    • AI 和算法交易的普及可能改变市场微观结构

七、扩展思考:AI Hedge Fund 的未来

7.1 可能的改进方向

  1. 强化学习优化

    # 使用 RL 优化 Agent 权重
    class RLPortfolioOptimizer:
        def train(self, historical_decisions, outcomes):
            # 训练强化学习模型优化各 Agent 的投票权重
            pass
    
  2. 知识图谱增强

    • 构建公司关系图谱
    • 产业链分析
    • 宏观因子关联
  3. 实时情绪分析

    • 接入 Twitter/X、Reddit 等社交媒体
    • 新闻情绪实时流处理
    • 分析师报告 NLP 解析
  4. 多模态数据融合

    • 财报电话会议音频分析
    • 管理层面部表情识别
    • 卫星图像(停车场、工厂等)

7.2 从投资到通用决策

AI Hedge Fund 的架构可以泛化到其他复杂决策场景:

  • 医疗诊断:多位专家 Agent 会诊
  • 法律分析:不同法系律师 Agent 协作
  • 产品设计:用户研究、技术、商业 Agent 协同
  • 内容审核:多角度风险评估

八、总结:当金融遇见 AI

AI Hedge Fund 项目虽然定位为"概念验证",但它展示了多智能体系统在复杂决策场景中的巨大潜力:

  1. 思维的可计算化:将人类投资大师的思维模式转化为可执行的代码
  2. 群体智慧:通过多 Agent 协作实现比单一模型更稳健的决策
  3. 可解释性:每个决策都有明确的推理链条,符合金融监管要求
  4. 可扩展性:架构清晰,易于添加新的 Agent 或策略

正如一位网友的评论:"能不能赚不知道,但起码学了点 Agent 框架知识。"

或许,这个项目的最大价值不在于它能否战胜市场,而在于它为我们展示了如何用 AI 复刻人类智慧的工程路径。


参考资源

  • 项目仓库:https://github.com/virattt/ai-hedge-fund
  • Star 数:51.7k+(截至 2026年4月)
  • Fork 数:9k+
  • 主要技术:Python、Poetry、OpenAI API、React

免责声明:本文仅作技术探讨,不构成任何投资建议。AI Hedge Fund 项目明确声明仅供教育用途,不适用于真实交易。

推荐文章

全新 Nginx 在线管理平台
2024-11-19 04:18:33 +0800 CST
Vue3中如何处理路由和导航?
2024-11-18 16:56:14 +0800 CST
php内置函数除法取整和取余数
2024-11-19 10:11:51 +0800 CST
浅谈CSRF攻击
2024-11-18 09:45:14 +0800 CST
Linux 网站访问日志分析脚本
2024-11-18 19:58:45 +0800 CST
跟着 IP 地址,我能找到你家不?
2024-11-18 12:12:54 +0800 CST
前端代码规范 - 图片相关
2024-11-19 08:34:48 +0800 CST
前端代码规范 - Commit 提交规范
2024-11-18 10:18:08 +0800 CST
智能视频墙
2025-02-22 11:21:29 +0800 CST
基于Flask实现后台权限管理系统
2024-11-19 09:53:09 +0800 CST
Vue3中的响应式原理是什么?
2024-11-19 09:43:12 +0800 CST
Golang Select 的使用及基本实现
2024-11-18 13:48:21 +0800 CST
Boost.Asio: 一个美轮美奂的C++库
2024-11-18 23:09:42 +0800 CST
LangChain快速上手
2025-03-09 22:30:10 +0800 CST
php使用文件锁解决少量并发问题
2024-11-17 05:07:57 +0800 CST
推荐几个前端常用的工具网站
2024-11-19 07:58:08 +0800 CST
Rust 中的所有权机制
2024-11-18 20:54:50 +0800 CST
最全面的 `history` 命令指南
2024-11-18 21:32:45 +0800 CST
纯CSS绘制iPhoneX的外观
2024-11-19 06:39:43 +0800 CST
程序员茄子在线接单