导读:在 AI Agent 爆发的今天,如何让 Agent 不仅仅是一个机械的执行者,而是具备“自我进化”能力的智能体?百度百舸团队开源的 LoongFlow 框架,从王阳明“龙场悟道”中汲取灵感,提出 PES(Plan-Execute-Summarize) 进化范式,实现了 Agent 从“被动工具”到“自主智能”的跃迁。本文将带你深入解读 LoongFlow 的技术原理与实战用法。
💡 缘起:知行合一的 AI 哲学
LoongFlow 的名字源于王阳明“龙场悟道”(Enlightenment at Longchang)。其核心理念在于 “知行合一” :
- 知(Knowing) :大模型的认知与规划能力。
- 行(Doing) :工具的使用与实践验证。
传统的进化算法(Evolutionary Algorithms)往往依赖于“随机变异”,效率低且结果不可控。LoongFlow 试图打破这一瓶颈,通过 “认知指导行动,行动反哺认知” 的闭环,实现定向的认知进化(Directed Cognitive Evolution) 。
🛠️ 核心技术:PES 进化范式
LoongFlow 并没有采用复杂的黑盒魔法,而是抽象出了一套清晰的 PES 三阶段进化流,模拟了人类专家的探索模式:
1. Planner(规划者):不仅是想,更是“谋”
Planner 不只是简单地拆解任务,它负责全局进化状态的感知。
- 机制:结合采样(Sampling)与进化记忆(Evolutionary Memory) 。
- 作用:它会分析历史的成功与失败,为当前迭代提供“专家级”的改进方向,避免了盲目的随机试错。
2. Executor(执行者):线性优化与调试
Executor 负责将 Planner 的“想法”落地为“代码”或“方案”。
- 机制:它不仅仅是运行代码,还包含评估(Evaluate)与调试(Debug) 。
- 特点:在 Planner 的指导下,Executor 进行有针对性的线性优化,确保生成的解决方案是可运行且高质量的。
3. Summary(总结者):经验内化
这是进化的关键。Summary 负责对本轮结果进行复盘。
- 机制:分析新生成的解,提取成功经验与失败教训。
- 产出:将这些信息写入进化记忆,成为下一轮 Planner 决策的依据。
🌟 两大杀手级应用:General-Evolve 与 ML-Evolve
LoongFlow 在架构上非常灵活,目前主要提供了两个核心场景的实现:
1. General-Evolve(通用算法进化)
- 场景:解决数学难题、算法优化、Prompt 优化等。
- 战绩:在陶哲轩(Terence Tao)与 AlphaEvolve 团队提出的数学开放问题集上,LoongFlow 在 11 个问题上打破了之前的最佳已知结果。
- 案例:比如经典的“单位正方形内的圆堆积问题”,LoongFlow 能自动进化出比人类更优的排列解。
2. ML-Evolve(机器学习自动进化)
- 场景:AutoML,自动进行数据理解、模型构建与调优。
- 战绩:在 OpenAI MLE-Bench 基准的 20 个 Kaggle 竞赛中,LoongFlow 斩获了 14 枚金牌。
- 能力:它就像一个 24 小时工作的 Kaggle Grandmaster,自动探索特征工程与模型架构。
💻 快速上手:你的第一个进化 Agent
LoongFlow 基于 Python 3.12+,安装非常便捷。推荐使用 uv 或 conda。
1. 安装
Bash
# 克隆仓库
git clone https://github.com/baidu-baige/LoongFlow.git
cd LoongFlow
# 使用 uv 安装 (推荐)
uv venv .venv --python 3.12
source .venv/bin/activate
uv pip install -e .
2. 运行示例:圆堆积问题
LoongFlow 预置了 packing_circle_in_unit_square 示例。你需要先配置 LLM(推荐 Gemini 3 Pro 或 DeepSeek-R1)。
修改 agents/general_evolve/examples/packing_circle_in_unit_square/task_config.yaml:
YAML
llm_config:
url: "https://api.example.com/v1"
api_key: "sk-xxxxxx"
model: "openai/gemini-3-pro" # 或 deepseek-r1
运行进化任务:
Bash
# 安装依赖
uv pip install -r ./agents/general_evolve/examples/packing_circle_in_unit_square/requirements.txt
# 启动任务
./run_task.sh packing_circle_in_unit_square --background
# 查看实时日志(看着它变强!)
tail -f ./agents/general_evolve/examples/packing_circle_in_unit_square/run.log
3. 自定义你的进化任务
要让 LoongFlow 解决你自己的问题,只需准备三个文件:
task_config.yaml:定义目标、LLM 配置和进化参数(迭代次数、目标分数等)。initial_program.py:提供一个初始代码框架(甚至可以是个空函数,让它填空)。eval_program.py:最关键的部分。你需要写一个评估函数,输入是生成的代码/结果,输出是分数。分数越高,Agent 就知道方向越对。
Python
# initial_program.py 示例
def solve_problem():
"""
在这里写下你的初始思路,或者留空让 Agent 发挥
"""
pass
🏗️ 架构深潜:ReAct 引擎与可扩展性
LoongFlow 的底层是基于 ReAct (Reason-Act-Observe) 范式构建的通用 Agent 引擎。
- 模块化设计:
Reasoner(推理)、Actor(行动)、Observer(观察)、Finalizer(总结)皆为可插拔组件。 - Hook 系统:支持在
pre_run、post_act等各个阶段注入自定义逻辑。 - EvolveAgent:上层的进化 Agent 通过
register_worker接口,可以轻松替换 Planner 或 Executor 的实现。
Python
from evolux.evolve import EvolveAgent
# 初始化 Agent
agent = EvolveAgent(config=config)
# 注册自定义 Worker,实现高度定制
agent.register_planner_worker("planner", MyCustomPlanAgent)
agent.register_executor_worker("executor", MyCustomExecuteAgent)
# 开始进化
await agent()
📝 总结
LoongFlow 不仅仅是一个 AutoML 工具,它展示了一种 Agent 开发的新思路:通过结构化的记忆与反思机制,驯服大模型的不确定性,将其转化为工程上的确定性进化。
如果你正在关注:
- Agent 自主进化
- 复杂算法的自动化搜索
- Kaggle 竞赛的自动化
那么 LoongFlow 绝对值得你 Star 和尝试!
👉 GitHub 传送门: github.com/baidu-baige…