Skip to main content

Command Palette

Search for a command to run...

ChatGPT 和我写了个小工具:Pipe2GPT

Updated
1 min read

开通了尊贵的 ChatGPT Plus 之后,在平时做些控制台操作的时候,就多了个习惯——把各种控制台内容投喂给 ChatGPT,看他如何反馈。结果还是不错的,经过适当的 Prompt 设计,ChatGPT 不但能够读懂这些输出内容,更可以提供进一步排查或者解决问题的建议。

懒惰是进步的动力——我连拷贝黏贴都懒了,还是想 ChatGPT 帮我写个小工具吧。按照官方客户端情况来说,Python 才是一等公民,然而为了方便分发,而且不是自己动手,我选择了高大上的 Golang。

实现思路

其实起初我是想模仿 kubectl,用 krew 插件的形式写个 gpt-diag 子命令,例如 kubectl gpt-diag pod xxxx,直接将 Describe Pod 内容输出,结合一个关于诊断 Kubernetes Pod 信息的 Prompt 来对某种对象,于是我让 ChatGPT 使用 Cobra 给我生成一个这样的框架。有趣的是,生成途中,它根据我提供的这些对象名称,自动给这个程序加了个简介——一个 Kubernetes 检查工具。

命令行代码生成之后,要求它用接口、类的方式来定义各种检测行为,这里包含了 Pod、Node、Event、API Server、ETCD 等在 kubectl 命令中能够拿到输出的内容,每个类都有自己的 Prompt,利用 Kubernetes 获取信息,OpenAI Client 进行解答。

在这之后,我意识到一个问题:这玩法太传统了,我压根不需要替 ChatGPT 做这种前期工作,于是我删掉了这套代码,另起炉灶。

所以以下的工作步骤就四班顺滑了:

  1. 要求 ChatGPT 输出 Shell 脚本,用来初始化一个 Golang CLI 应用的目录结构。然后用 Goland 打开。
  2. ChatGPT 生成代码,读取环境变量中的 OpenAI API Key
  3. 加入一个配置文件,要求 ChatGPT 判断命令行参数,根据 JSON 格式,生成代码
  4. 继续生成代码,从管道读取输入,加入 Prompt,调用 OpenAI。

说起来还是比较辛苦的,实际上这些功能在 ChatGPT 4.0 中一个 Prompt 就差不多搞定了:

用 golang 编写一个 CLI 应用,它带有一个配置文件,格式如下: { "data":{"k8s": "简明扼要地用 Kubernetes 专家的身份判断一下这段输出有什> 么问题,要整齐列出问题对象和可能原因以及操作建议:"} } 这个命令行接受 --type 参数,参数值就是配置文件中的 data.[key]。 另外这个命令还要从环境变量中读取 OPENAI_APIKEY 运行时,这个工具从管道接收其它应用输出的内容,根据从配置文件中取得的值作为 > Prompt,调用 OpenAI 的 API,获得反馈内容。

我这里测试的时候,只有模型选择不太合适,其它都可以直接进行调试。

生成代码之后,Debug 一下下,基本就 OK 了。

接下来又让他生成了双语版本的 README.md。以及一个用于 golang 交叉构建的 GitHub Action。

最后,这个非人产生的项目保存在了 https://github.com/fleeto/pipe2gpt

运行效果大致如下:

接下来我可能会在项目 README.md 里面写一句:本 REPO 仅接受 AI 生成代码,人工勿入,面斥不雅

More from this blog

龙虾恐慌:AIOps 又要改名了?

ChatGPT 开始,把 AI 拉近到普罗大众的面前,让无数人感受到 AI 的亲民魅力。而龙虾,则把大模型驱动的自动化能力,突然间变得水灵灵、活泼泼地走进千家万户。它不只是“风口上的猪”,而是风口本身。热度高到让 Mac mini 一度断货,不知道这在不在库克的预料之内。 每代人都有每代人的鸡蛋,春节期间,我就领了我的鸡蛋。翻出古老的 MacBook Air M1,充值各种大模型。当然了,这个工具

Mar 9, 20261 min read

再见 2025

我猜不少人以为这个号废了吧?并没有,只是今年变化有点大,一直有种抄起键盘,无从说起的感觉,所以一直偷懒到今天,2025 的最后一天。 今年是我的第四个本命年,去年末一期播客里,大内说本命年不是灾年,是变化年,有危也有机。可是讲真啊,只看到危,没看到机。 各种因缘际会,从鹅厂跳槽到前东家,已经接近四年,第一个合同期已经进入尾声。除了前两年还在云原生领域嗷嗷叫,后两年基本都是些鸡零狗碎的东西了,用老东家的术语说是——偏离主航道,可谓是前景暗淡了。 一旦确定要滚蛋,反倒心思轻松起来,每天骑着我的小红车...

Jan 5, 20261 min read

辅助编程?dora 说:我知道你很急可是请你别急

从 OpenGPT 把大模型的火烧旺了之后,这三年来,相信很多组织或摩拳擦掌、或躬身入局,希望借助聪明能干的大模型,或想偿还技术宅,或想降本增效,或想弯道超车。一时间,沉寂许久的 AIxx 又活过来了,LLM Ops、Vibe Coding、中医大模型、GPT 算命等等,全都老树发新芽,焕发了勃勃生机。那么视角拉回从业者最关注的饭碗相关的领域之一——AI 辅助开发,产生了什么触动,应该如何拥抱呢? DORA 的年度报告中给出了很有意思的结论——强者恒强。 执行摘要部分总结了几个有趣的点: 问题...

Oct 6, 20251 min read

[译]dora:ai 辅助软件开发状态报告

执行摘要 在 2025 年,科技领导者面临的核心问题已不再是“是否要采用 AI”,而是“如何实现其价值”。 DORA 的研究基于超过 100 小时的定性访谈和来自全球近 5,000 名技术专业人士的问卷调查。研究揭示了一个关键事实:AI 在软件开发中的主要角色是“放大器”。它会放大高效能组织的优势,也会凸显组织的缺陷。 关键结论:AI 是放大器 AI 投资的最大回报并非来自工具本身,而是来自组织底层系统的战略性建设: 高质量的内部平台 清晰的工作流 团队的协同能力 缺少这些基础,AI ...

Oct 2, 202514 min read

僭越了,有人在用 Rust 写 Kubernetes

一个新语言问世,最爱做的事情之一,就是重写存量软件了。 云原生喝酒 SIG 重点扶持项目——rk8s(https://github.com/rk8s-dev/rk8s) 也可以归在这个范畴里,只不过这个项目重写的东西比较大,是 Kubernetes。 从 2025 年 1 月第一个 Commit 开始,到现在有了 200 多次 Commit,十几万行代码。当然距离 Kubernetes 的几百万行代码还差得远——老马就是喜欢整这种大无畏项目。 另外该项目也是国内第一个脱离 Cargo 转向使用 ...

Sep 27, 20253 min read

【伪】架构师

342 posts