12|实践:如何让 Agent 利用日志和事件排查问题?
邢云阳

你好,我是邢云阳。
在上一节课我们是直接使用了 kubectl 作为工具,让 Agent 通过执行命令行的方式,帮我们解决运维问题。这种方法对于优秀的大模型来说,问题不大,因为它们已经熟练掌握了如何使用 kubectl ,以及如何根据 kubectl 的执行结果,分析问题。
但任何事物都有其两面性,这种方法虽然简单,但缺乏了一定的灵活性。比如,如果让 Agent 帮我们排查一个 pod 为什么起不来,Agent 可能会使用 kubectl get event 或者 kubectl describe pod xxx 来获取 pod 的事件。无论使用哪条命令,其中都会夹杂着一些无用信息,因为我们想要的只有 Type 是 Warning 的 Message。
这些无用信息一方面可能会影响大模型的理解,另一方面太多的信息会占用上下文窗口以及耗费更多的 token。因此本节课我们让 Agent 帮我们分析日志和事件的项目,与上一章一样,采用自己封装 API 的手法,从而达到工具返回的信息可筛选的目的。
Cobra 前端
为了和上一节课的手法区分开,我们来添加一条名字叫 analyze 的命令。
业务代码依然是在生成的 Run 方法中完成。
工具
EventTool
公开
同步至部落
取消
完成
0/2000
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结

1. 介绍了如何通过自己封装 API 实现工具返回信息可筛选的目的,以及 Cobra 前端的添加命令和工具描述部分的编写。 2. 详细介绍了 EventTool 和 LogTool 工具的设计和实现,包括代码结构、服务部分和控制器部分。 3. 给出了 Event 工具和 Log 工具的测试结果,展示了 Agent 如何调用工具以及给出分析结果。 4. 展示了 Agent 通过分析 Event,给出了问题原因和解决步骤。 5. 展示了如何通过 client-go 抓取 Kubernetes 的日志和事件,并结合 Agent 进行分析,从而自动给出解决方案。 6. 总结了“Agent + K8s 运维级开发”系列课程的内容,强调了 AI 应用开发的套路和思维方式。 7. 提出了思考题,讨论了如果工具不给力导致一直得不到“Final Answer”时的处理方法。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《AI 重塑云原生应用开发实战》,新⼈⾸单¥59
《AI 重塑云原生应用开发实战》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论