Claude Codeで出会い系Arxivチェックツールを作る
【イントロ】
Arxivは世界中の研究のプレプリント(正式な出版前の論文原稿)が毎日アップロードされているサイトです。
その中でもCond-matは、特に凝縮物性系の研究がアップロードされるカテゴリになっています。
その中でもCond-matは、特に凝縮物性系の研究がアップロードされるカテゴリになっています。
筆者は趣味として、Cond-matの論文を毎日チェックしています。
特に仕事で研究開発をしているわけでも、凝縮物性の知識を使うわけでもないのですが、
趣味としてチェックしています。
毎日無料でワンピースや名探偵コナンの続きが読めるなら、ついつい読んじゃいますよね・・・?
一方で、最近は仕事が忙しかったり子育てワッショイで時間の使い方が課題です。
丁寧な手作業ですべての論文をチェックしてメモしてブログ記事に貼り付けて、、、とやりたいのですが、なんだかんだ1時間くらいかかってしまい、「本当にこんな時間の使い方していてよいのか・・・?」と現実と向き合う必要がでてきました。
そこで天啓が降りてきました。
「Tinder形式でCond-mat論文をチェックして論文をまとめるツールをつくればいいのでは?」
でも、そんなツール作るの大変だなぁというめんどくささが勝っていましたが、そこに登場したのが世界を席巻するAIコーディングです。
特に最近機能が充実してきたClaude CodeやCodexでは、自然言語による指示だけでソフトウェアが作れるとのこと。
であれば、AIコーディングでTinder形式の論文チェックツール作ってやろうじゃないか!
ということで取り組むこととしました。
【方法】
AIコーディングツールとしては、Claude Codeを採用しました。
理由は、Claude Codeの入門書として、
が発売されており、取り組みやすいと考えたためです。
早速丸善書店で本書を購入しました。
本書では、Githubリポジトリの作り方、VSCodeの設定方法、Dockerファイルの作り方から記載されており、コレを読むだけでClaude Codeによる開発が始められるありがたい一冊です。
さらに、参考Githubページも付随しており、Claude Codeの挙動を指定するClaude.mdのサンプルコードを自分の開発にも参考することができます。
スペック駆動開発ってすごい。
本書を一読したあと、実装を開始しました。
設計思想としては以下の通りとしました。
- 当日のCond-matに掲載されたすべての論文を取得して、Tinder形式で気になる論文とそれ以外の論文を選択する
- 各論文のカードには可能であればグラフの図を表示する。これは該当論文のArxivページに論文のHTMLページがある場合、そのURLを指定することでFig. 1を取得することで対応する
- 注目単語一覧のマスタファイルを作り、そこにある単語は強調表示する
- さらにいいねした論文の記録を蓄積し、お気に入り著者ランキングも実装
- ただし、Soft matterとOthers Condensed matterのカテゴリは除く。個人的な趣味ではないので
- いいねした論文について、論文タイトル、URL、著者、アブストラクトの情報をcsvでDLして保存できる
- 保存した論文について、論文ごとにアブストラクトを日本語訳して要訳する
- 3の結果をブログに貼り付けられる形式でcsvに出力する
1については、すべての論文を保存して翻訳・要訳することも考えましたが、
「面白い論文を見つけたい」
という自分の好奇心満たすために、気になるものならないものを選択するアクションを残したかったので、このような設計としました。
年末にお気に入り論文を選定する、という趣味のためでもあります。
また、3については、保存した論文をClaude Codeに読み込ませて、翻訳・要訳を実行することとしました。
ClaudeのAPIを使って、プログラム内で翻訳することも考えましたが、従量課金となるのが懸念点でした。見積額としては大した金額ではありませんが、無駄な出費は避けたいです。
一方で、Claude Codeの利用に必要なClaudeのProプランは月に2000円強の定額のため、どうせ使うならClaude Codeに直接翻訳・要訳させたほうがお得です。日々の利用トークン数も大した値にならないことが確認できたため、本ツールでは、CSVの保存を行ったあと、手動でClaude Codeに指示して翻訳・要訳を実行させる運用としました。もちろん翻訳・要訳はClaude CodeのSkillとして登録し、コマンド一つで実行できる状態としています。
こうした設計案を、Claude Codeに投げ、Claude.mdに記載したドキュメント形式で各種仕様書を作成させ、実装を開始しました。
この間、著者がやったことは、仕様書の出来を確認しながらClaude Codeから投げかけられる継続実行の可否に対してYesと答えることだけ。仮想環境の作成やライブラリのインストールなどの環境整備まで全部Claude Codeがやってくれました。
どう考えてもワイよりClaude codeのほうが優秀です。
イノベーションすぎるだろ。
【結果】
こちら、動かしているところを動画に撮ってみました。
30秒弱の動画です。
うむうむ、いい感じです。
【まとめ】
本ツールの作成にかかった時間は2-3時間程度です。
仕様書の作成とツールの実装で1時間くらい。
気になった部分の修正で、プラス1-2時間程度です。
怖いよコレ。
AIコーディングツールの実力を見せつけられました。
これはもう無職待ったナシ。
自分のキャリアを見直さないといけません。
これからはAIコーディングツールありきで、自分の労働を見つめ直さないといけないですね。
はぁーしんど!
一方で、作りたいものがたくさんあるが、実装力や時間が足りてなかった人にとっては天国のような環境とも言えます。
AIコーディングツールを使いこなせる人と、そうでない人。ゴールが同じなら、業務において圧倒的なスピードの差が生じそうです。
AIコーディングの進化が凄すぎてめまいがしそうです。
とはいえ、この技術進化の波を乗りこなして、自分のSkillの一つとしていきたいものです。
今後もMCPツールの活用や並列エージェントによる開発なども試してみたいです。
前向きにがんばるぞい!
Tinder形式…なんか凄そう…
返信削除と思ったらアレかい!