伝えたいこと
- OpenClawは、自然言語で指示しながら環境構築・実装・運用補助まで進められるAIエージェント。
- OpenClawは、環境構築から開発、運用までをワンストップで担える。そのため、OpenClawの実行環境さえ確保できれば、同じ機能を持つシステムを自力で頑張って作るよりも、はるかに楽に構築・運用できる。
- OpenClawはOpenAI Plusで駆動でき、ローカルAPIサーバーも立てられるため、AIタスク(論文要約など)を含むシステムの構築・運用に最適。
きっかけ
- 駆け出し研究者を自称しつつも、大学在学時から論文サーベイが苦手だった(アイデアベースで考え始めてしまい、車輪の再発明をしがち)。
- サーベイを習慣化するためにGoogle Scholar Alertsを利用しているが、ノイズも多く、端的な要約を手軽に読めるようにしたいと考えた。
- また、生成AIに論文を投げると良質な要約が得られるが、数多くの論文に触れるためには、要約生成作業自体を自動化したいと考えた。
開発目的
- Google Scholar Alertsからの論文情報を自動で取得し、要約生成AIに投げて要約を生成し、Slackに通知するパイプラインを構築・運用すること。
着眼点
- 開発・運用自体は自分のやりたいことではないため、丸ごとAIエージェントに委託したい。
- そこで候補にしたのが、やりたいことを自然言語で伝えながら、ローカル環境で作業を進められるAIエージェントのOpenClaw。
- 近年、OpenClawは環境構築~開発~運用を1ストップで担えるツールとして注目されている。
➡ そこで今回は、自分で細かく実装する代わりに、OpenClawに「Google Scholar Alertsから論文情報を取得し、要約を作成して、Slackに通知する仕組みを作ってほしい」と依頼して進めることにした。
開発アプローチ
- 古いPCにUbuntuをクリーンインストールし、OpenClawの実行環境を構築。
- OpenClaw、Gmail API、Slack APIを設定。
- OpenClawに自然言語で実現したいことを伝え、必要なコードの生成、実装、実行設定を順に依頼。
開発の様子
Ubuntuのクリーンインストール
OpenClaw, Gmail API, Slack APIの設定
- OpenClaw
- Gmail API
- 参考文献: Gmail API ガイド
- Slack API
OpenClawへの依頼
開発したパイプライン
- GitHubリポジトリ: kazunosuke1108/scholar_pipeline
- README.md: 全体像を説明
- README.developer.md: 開発に関する説明
- アーキテクチャは以下の通り。
- Gmailから取得した Scholar Alerts を起点に、論文URLごとに本文取得・要約・通知までを自動化している。
- 本文取得には
PDF > Tavily > HTMLのような複数の経路を持たせ、Bot対策や JavaScript 依存のページでも、できるだけ要約できるようにしている。 - 1本の Python スクリプトを中心に外部サービスをつなぐ比較的シンプルな構成にしているため、後から挙動を追いやすいのも利点だった。
運用の様子
注意点
- 要約以前に、論文をWebサイトから取得する段階でBot対策に引っかかることがある。TavilyなどのWebスクレイピングツールを併用すると、ある程度は改善する。
- SlackよりもDiscordの方が、トーク履歴が消えないことや、AIエージェントの入力中に「入力中...」が表示されて止まっていないと分かることなどの点で、使いやすそうだった。


