個人でもここまでできる!AI coding toolと一緒にKubernetesコスト最適化ツール「kost」を開発した話
はじめに
「OSSを開発してみたいけど、個人だと時間も人手もない...」
「設計から実装、テスト、リリースまで、全部一人でやるのは大変そう...」
そんな風に思ったことはありませんか?
私も以前はそうでした。でも、AI coding toolを使うことで、その常識が完全にひっくり返りました。設計・実装・テスト・リリースといったソフトウェア開発のすべての工程を、AIと一緒に効率的に進められる時代が来ています。
今回は、Kubernetesのリソース最適化ツール「kost (Kubernetes Optimization & Sizing Tool)」を実際にAI coding toolを活用して開発した体験をシェアします。
開発したOSS:kost とは
kostは、Kubernetesクラスタのコスト最適化を支援するCLIツールです。
主な機能
- リソース設定の最適化推奨: Deployment の CPU/メモリ requests/limits を Prometheus メトリクスから分析
- HPA設定の最適化: minReplicas/maxReplicas の適切な設定を推奨
- AI駆動の説明: OpenAI/Claude APIを活用して、最適化の理由を自然言語で説明
- 適用可能なYAMLパッチ生成: そのまま適用できる kubectl patch 用のファイルを生成
# 使い方はシンプル
kost scan --namespace prod --config config.yaml
kost suggest --namespace prod --config config.yaml
kost report --namespace prod --config config.yaml
詳細は GitHub リポジトリ をご覧ください。
AI coding toolで変わった開発体験
ここからが本題です。kostを開発する過程で、AI coding toolがどれほど強力だったかをフェーズごとに紹介します。
1. 設計フェーズ:アイデアから仕様へ
従来の課題:
- 機能仕様を書くのに時間がかかる
- アーキテクチャ設計で悩む時間が長い
- データモデルの設計が曖昧になりがち
AI coding toolでの体験:
「Kubernetesのリソース最適化ツールを作りたい」
このシンプルな要望から、AIは:
- 必要な技術スタックの提案(Prometheus、Kubernetes client-go)
- データモデルの設計案
- CLIインターフェースの構造
- セキュリティ考慮事項のチェックリスト
を数分でドラフトしてくれました。
特に助かったのは、「この設計だと、こういう問題が起きる可能性がある」といったアンチパターンの指摘もしてくれる点。一人で開発していると見落としがちな視点を補ってくれます。
2. 実装フェーズ:コーディングの高速化
従来の課題:
- Goの標準ライブラリやKubernetesクライアントのAPIドキュメントを行ったり来たり
- ボイラープレートコードを書くのが面倒
- エッジケースの処理を忘れがち
AI coding toolでの体験:
例えば、Prometheusからメトリクスを取得する部分。
「PrometheusのAPIからPod CPU使用率をP95で集計したい」
と伝えると、AIは:
- Prometheus APIクライアントの初期化コード
- 適切なPromQLクエリの生成
- エラーハンドリング
- レート制限への対応
まで含めた実装を提案。しかも、Goの慣習に従った命名やエラーメッセージの書き方もちゃんとしているので、そのまま採用できることが多いです。
特に驚いたのは、コードレビューのような指摘もしてくれること。
// 私が書いた最初のコード
func getMetrics(url string) (*Result, error) {
resp, _ := http.Get(url) // エラー無視してた!
// ...
}
「エラーハンドリングが不足しています。http.Getのエラーをチェックすべきです」
一人開発でもペアプログラミングしているような感覚でした。
3. テストフェーズ:品質担保の効率化
従来の課題:
- テストケースの網羅性が不安
- モックの作成が面倒
- エッジケースのテストを書き忘れる
AI coding toolでの体験:
「この関数のテストを書いて」と依頼すると:
- 正常系のテストケース
- エラーケースのバリエーション
- 境界値テスト
- テーブル駆動テストの構造
を自動生成。
さらに、「このテストカバレッジは十分か?」と聞くと、抜けているテストケースを指摘してくれるので、品質を担保しやすくなりました。
特に重宝したのは、セキュリティテストの観点。
「このコードにセキュリティ上の問題はないか?」
と聞くと、API keyのログ出力リスク、コマンドインジェクションの可能性、TLS証明書検証の重要性など、見落としがちな点を指摘してくれました。
4. リリースフェーズ:継続的なメンテナンス
従来の課題:
- GitHub Actionsの設定が面倒
- リリースノートを書くのに時間がかかる
- ドキュメント整備が後回しになる
AI coding toolでの体験:
CI/CDパイプラインの構築も、AIに任せました。
「Go 1.25.5でCI/CDを構築して、Linuxバイナリをリリースしたい」
すると:
- GitHub Actionsのワークフロー
- GoReleaserの設定
- マルチプラットフォームビルド
- 脆弱性スキャンの統合
を含む完全な設定を提案。
README、CONTRIBUTING.md、セキュリティポリシーなどのドキュメントも、テンプレートから一緒に作成できました。
AI駆動開発で感じた3つの価値
1. 「考える時間」が増えた
コードを書く時間が減った分、「何を作るか」「どう作るべきか」を考える時間が増えました。AIが実装の細部を担当してくれるので、アーキテクチャやユーザー体験といった本質的な部分に集中できます。
2. 学びながら開発できる
AIが生成したコードを読むことで、GoのベストプラクティスやKubernetesの仕様を自然に学べました。「なぜこの実装なのか?」と質問すると、背景も教えてくれるので、理解が深まります。
3. 完成させるハードルが下がった
一番大きな変化は、「個人でも最後までやり切れる」という自信がついたこと。
以前は「個人開発だと途中で挫折しそう...」と思っていましたが、AIがサポートしてくれることで、設計→実装→テスト→リリースの全工程を完走できました。
これからOSS開発を始める人へ
もし、あなたが「OSSを作ってみたいけど、ハードルが高そう...」と感じているなら、AI coding toolを使ってみることを強くおすすめします。
はじめの一歩
- 小さなアイデアから始める:「こんなツールがあったら便利だな」という小さな不満を解決するツールから
- AIに質問しながら進める:わからないことは遠慮せずAIに聞く
- 完璧を求めない:まずは動くものを作り、後から改善していく
kostの開発で使ったツール
- AI coding tool: Claude Code (設計・実装・テスト・レビューの全般)
- LLM統合: OpenAI API / Anthropic Claude API(kostの機能として)
- CI/CD: GitHub Actions
- テスト環境: minikube + Prometheus
まとめ:AIと一緒に楽しむ個人開発ライフ
AI coding toolは、個人開発者にとっての強力な相棒です。
- 設計で迷ったら相談相手に
- 実装で詰まったらペアプログラマーに
- テストで不安ならレビュアーに
- ドキュメントが面倒なら編集者に
AIがいることで、「一人でも全部できる」という感覚を味わえます。そして何より、開発そのものが楽しい。
kostの開発を通じて、私は「個人でもOSSを作れる」という確信を得ました。みなさんも、ぜひAI coding toolと一緒に、素敵な個人開発ライフを楽しんでください。
あなたのアイデアが、誰かの課題を解決するOSSになる日を楽しみにしています!
参考リンク
- kost GitHubリポジトリ: https://github.com/takahiro-impara/kost
- Claude Code: https://claude.com/claude-code
- Anthropic API: https://docs.anthropic.com/