0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

「知らない技術でも、その日のうちに動かす」|4時間でQiita API×Gemini×GitHub Actionsを自動化した話

0
Last updated at Posted at 2026-09-11

1. はじめに:記事自動化システムを4時間で作りました

「初心者向けの記事で、最近どんな記事が読まれているのか」を定期的にキャッチアップしたいと思い、完全自動でランキングを更新する仕組みを作りました。

【実装したこと】

  • Qiita APIから「初心者」タグの記事を取得

  • 直近1週間のいいね数を集計してTOP10をランキング化

  • Gemini APIで各記事を「一言要約」

  • Markdownを自動生成し、GitHub Actionsで定期実行・Qiitaを自動更新

実際の記事はこちら:

GitHub:

2. 実は「GitもActionsもAPIも」ほぼ未経験だった

今回の実装で使った以下の技術は、着手時点で実務レベルで触ったことがありませんでした。

  • Git / GitHub

  • GitHub Actions

  • Qiita API

「必要になったから調べながら作る」スタイルで進め、調査開始から約4時間後には本番処理が走り、自動更新されるところまで到達しました。

3. 4時間のタイムラインとシステム構成

爆速で完成させるまでの流れは以下の通りです。

0:00  完成系のイメージを固める
0:10  Gitの基本コマンドをキャッチアップ
0:30  Qiita APIの仕様を調査
0:40  Qiita記事取得・ランキング生成
1:00  Gemini APIによる要約を追加
1:30  GitHub Actionsで自動実行
1:50  エラー修正・出力調整
3:00  本番実行・動作確認
4:00  最終調整・ブラッシュアップ

【システム構成】

 ┌───────────────────────────┐
 │ GitHub Actions (定期実行)  │
 └─────────────┬─────────────┘
               ▼
 ┌───────────────────────────┐
 │ Qiita API: 記事取得&集計   │
 └─────────────┬─────────────┘
               ▼
 ┌───────────────────────────┐
 │ Gemini API: 要約&MD生成    │
 └─────────────┬─────────────┘
               ▼
 ┌───────────────────────────┐
 │ Qiita API: 記事を自動更新   │
 └───────────────────────────┘

4. こだわりポイント:AIとプログラムの役割分担

ランキングの集計やデータ取得といった「決定的な処理」は通常のプログラムで行い、「この記事は結局何の記事なのか?」という「自然言語の解釈」はLLM(Gemini API)に任せました。

すべてをAIに丸投げするのではなく、適材適所で役割を分けることで、安定性と利便性を両立させています。

5. 開発中にハマった2つの壁と教訓

AIを活用して高速でコードを書いても、実環境でのデバッグにはやはり時間がかかりました。特に苦労した点と得られた教訓です。

① APIの 429 Too Many Requests との戦い

開発中、APIのレート制限に引っかかり処理が止まることが多発しました。闇雲に再実行するとトークンも時間も消費してしまいます。

💡 得た教訓:
AIを使った高速開発だからこそ「適切なログ出力」が命。どこまで進み、どんなエラーが返ってきたかを可視化することで、原因特定が劇的に早くなりました。

② 手元では動くのにGitHub Actionsで動かない

ローカルでは完璧に動いたコードが、本番(Actions)でコケる現象に遭遇。原因は恐らくはGitHub側のSecret Keyの設定不備でしたが、その切り分けと本番環境でのループ実行の検証にかなり時間を費やしました。

💡 得た教訓:
外部APIやActionsが絡む構成では「手元で動いた=完成」ではありません。本番実行をデバッグ手段にしないよう、「APIをモックした小さなテスト」を用意することの重要性を痛感しました。

6. おわりに

未経験の技術が複数あっても、AIのサポートと「とりあえず動かす」精神があれば、たった数時間で実用的な自動化ツールをデプロイできる時代になりました。

次回はファインチューニングについて理解を深めたいので題材を探して実装します。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?