用OpenClaw时特别好奇一个点,用户发的消息,是如何通过OpenClaw的各种处理,最终调用模型的?
为此不惜扒了一遍源码,结果没想到,这条大龙虾和模型的交互,根本不是在它自己的代码里实现的[破涕为笑],而是调用了一个叫Pi的第三方SDK。OpenClaw只负责把给模型的背景信息准备好,然后交给Pi去跑,连最核心的agent loop都不是它自己实现的(用的是pi-agent-core)。可以说Pi基本上就是OpenClaw的核心引擎。
后来查了一下,这个Pi包来自一个叫pi-mono的开源项目,提供了一整套AI agent工具包,作者也是个大神,Mario Zechner,做了一套开源游戏框架,貌似很多游戏社区都在用。现在OpenClaw这么火,背后功臣:Pi工具包的开发者却默默无闻,感觉真的挺亏的[捂脸]