我想要为Agent项目ZeroClaw实现Gen AI的可观测能力。
构建可观测能力时需要考虑的事情:
- 配置数据处理管线:在哪里初始化SIGNAL provider,如何导出,导出到哪里
- 在哪里插桩
- 如何将遥测发送出来
我认为ZeroClaw在可观测方面最需要的需求就是能够直观的看到agent是如何调用工具并和LLM Provider互动的,类似LangGraph的LangSmith平台的效果。我发现了一个Langfuse平台,是开源的,能够结构化的查看一次经过的所有操作。
确定要插桩的位置
我看过OTel给OpenAI实现的Monkey Patching插桩库,插桩的位置就是OpenAI SDK的请求方法。那么ZeroClaw是否有这样的方法呢?
ZeroClaw有一个目录是provider,其中存放了向一些厂商进行请求的方法,其中就OpenAI的,凭借OpenAI compatible,ZeroClaw能够使用国内的LLM Provider。
插桩的位置初步确定为Provider这里。
之前我以为要为Agent项目进行插桩,需要涉及很多环节,目前看来,只需要给LLM请求相关的方法进行插桩即可。
如果Agent项目使用的是诸如LiteLLM这样的流行LLM请求代理库,其中已内置了插桩,可以直接使用其可观测能力。
总而言之,在LLM交互的地方观察即可。