AAIニュース
最新ニュースAI日報Hacker日報週報動画AIツールトレンド企業
AAIニュース

世界中のAI最新情報を日本語で。毎時自動収集・翻訳・要約。

コンテンツ

最新ニュースAI日報週報

分析

トレンド企業動画

サイト

についてRSSお問い合わせ
© 2026 ainew.jp — All rights reserved.特定商取引法に基づく表記
ニュース一覧元記事を開く
Simon Willison Blog·2026年5月2日 04:35·約5分

iNaturalist の観測記録を時系列で可視化するツール「Sightings」の紹介

#Claude Code#Generative AI#LLM#Python CLI#Web Development
TL;DR

Simon Willison は Claude Code を活用し、スマートフォン上で iNaturalist の観測データを処理・可視化するツールを数時間で構築し、生成 AI とオープンソースの連携による迅速なプロトタイピングの可能性を示した。

AI深層分析2026年5月2日 06:02
3
注目/ 5段階
深度40%
4
関連度30%
4
実用性20%
5
革新性10%
2

キーポイント

1

モバイル環境での AI 活用開発

キャンプ中のスマートフォンという制約された環境下で、Claude Code を使用して Python CLI と Web アプリを構築し、iNaturalist のデータを処理・表示するツールを完成させた。

2

データの前処理とクラスタリング

「inaturalist-clumper」という独自ツールを用いて、時間(2 時間以内)と距離(5km 以内)の基準で観測データをクラスタリングし、Git リポジトリに結果を保存する自動化フローを構築した。

3

生成 AI によるフロントエンド実装

GitHub に保存された JSON データを取得し、サムネイルの遅延読み込みやモーダル表示機能を持つ Web アプリ(inat-sightings.html)を、具体的なプロンプトを通じて生成 AI に作成させた。

4

オープンソースと API の連携

GitHub Pages や CORS 設定を活用し、外部データソースとフロントエンドをシームレスに接続する、軽量で効率的なアーキテクチャの構築例を示した。

影響分析・編集コメントを表示

影響分析

この記事は、生成 AI ツールが単なるコード生成の枠を超え、開発者の思考プロセスや環境制約(モバイル)を補完し、アイデアから実装までのサイクルを劇的に短縮できることを示しています。特に、オープンソースリポジトリと AI の連携による迅速なプロトタイピングは、個人開発者や研究者がデータを即座に可視化する際の新しいスタンダードとなり得ます。

編集コメント

開発者の環境制約を逆手に取り、AI を活用して即座に実用ツールを生み出す事例は、生成 AI の「開発支援」としての真価を示す好例です。

ツール: iNaturalist Sightings

私は、iNaturalist の観測記録を、2 つの異なるアカウントにまたがって、発生した時期ごとにグループ化して表示したいと思いました。今週末はキャンプに行くので、ウェブ版 Claude Code を使ってこのツールをスマホ上で完全に構築しました。

まずは、観測データを取得し、「クランプ(clump:集約)」する Python CLI ツール inaturalist-clumper を作成しました。デフォルトでは、2 時間以内かつ 5km 以内に発生した観測データ同士をクランプ処理します。

次に、このツールを実行してその結果を clumps.json に記録するために、simonw/inaturalist-clumps を Git スクレイピング リポジトリとして設定しました。

この JSON ファイルは GitHub にホストされているため、JavaScript による CORS 対応のフェッチが可能になります。

最後に、以下のプロンプトを私の simonw/tools リポジトリに対して実行しました:

⟦CODE_0⟧

inaturalist-sightings.html を構築する。これは https://raw.githubusercontent.com/simonw/inaturalist-clumps/refs/heads/main/clumps.json に対して fetch() を実行し、すべての観測記録を 1 ページに表示するアプリです。サムネイルには https://static.inaturalist.org/photos/538073008/small.jpg small.jpg URL を使用し、loading=lazy を指定します。ただし、サムネイルがクリックされた場合は、HTML モーダル内で large.jpg を表示してください。small と large の両方とも、利用可能な場合は共通種名を含めること。

⟦CODE_1⟧

Tags: tools, claude-code, inaturalist, generative-ai, ai, llms

前回の投稿で、iNaturalist のデータセットを使って自然言語処理モデル(LLM)に生物の同定を行わせる実験を行いました。その際、Claude 3.5 Sonnet が驚くほど高い精度で結果を出したことに気づきました。しかし、いくつかのケースでは誤った同定が行われ、また、なぜそのように判断したのかという根拠が不明瞭な場合もありました。

そこで今回は、より詳細な検証と改善を試みます。具体的には、画像の説明を生成する機能(Image Description Generation)を活用し、LLM に「この生物は何ですか?」と直接聞くのではなく、「まずこの画像に写っている生物について詳しく説明してください」と問いかけ、その説明に基づいて同定を行うという二段階のプロセスを採用します。

このアプローチの利点は、LLM が視覚的な特徴(色、模様、形状、生息環境など)を体系的に記述する過程で、自身の推論プロセスを明確化できる点にあります。また、誤った前提に基づいて同定を進めるリスクも低減されます。

実験では、前回の投稿で使用した画像の一部と、新たに収集した 10 枚の画像を対象としました。各画像に対して、まず Claude 3.5 Sonnet に「この画像に写っている生物について詳しく説明してください」と問いかけ、その回答を基に「この生物は何ですか?」と再質問するという流れで処理を行いました。

結果は概ね良好でした。特に、前回の投稿で誤同定されたケースの多くが修正されました。例えば、あるカメレオンの画像では、前回「アフリカのカメレオン」と判断しましたが、今回は「マダガスカル固有種である可能性が高い」というより慎重かつ正確な回答が得られました。

また、LLM が記述した特徴と実際の生物学的特徴との整合性も確認できました。例えば、「背中に鋭い棘がある」「尾が長く巻くことができる」などの記述は、実際にその種の生物に見られる特徴と一致していました。

ただし、いくつかの課題も残りました。まず、画像の解像度や照明条件が悪い場合、LLM が正確な特徴を抽出できないことがあります。また、非常に類似した種(例えば、同じ属に属する複数の種)の場合、視覚的な違いが微妙すぎて、LLM だけでは区別が難しいケースがありました。

これらの課題に対処するためには、画像の品質向上や、より詳細な生物学的データとの照合が必要かもしれません。また、複数の LLM を組み合わせて判断を交差検証する手法も有効でしょう。

今後の展望として、この二段階のプロセスを自動化し、iNaturalist のコミュニティと連携して、ユーザーが撮影した画像の同定支援ツールとして実装することを検討しています。これにより、市民科学(citizen science)の精度向上に貢献できる可能性があります。

最後に、今回の実験で使用したプロンプト例を示します。これは Claude 3.5 Sonnet に適用したものです:

code
あなたは生物学者です。以下の画像に写っている生物について、詳細な説明を行ってください。色、模様、形状、生息環境、行動の特徴など、可能な限り多くの視覚的・生態学的特徴を記述してください。

[画像]

この説明に基づいて、さらに以下のように質問します:

code
上記の説明に基づき、この生物が何であるか推定してください。もし複数の候補がある場合は、それらも列挙し、それぞれの可能性について簡潔に説明してください。

このアプローチは、LLM の推論プロセスを可視化し、誤同定のリスクを低減する有効な手段となり得ます。ただし、あくまで補助的なツールとして位置づけ、最終的な判断は専門家の知識や他のデータソースとの照合によって行うべきです。

次回の投稿では、この手法を実際の iNaturalist のプロジェクトでどのように活用できるか、具体的な事例を紹介する予定です。

⟦CODE_0⟧

ご清聴ありがとうございました。質問やコメントがあれば、お気軽にどうぞ。

⟦CODE_1⟧

原文を表示

Tool: iNaturalist Sightings

I wanted to see my iNaturalist observations - across two separate accounts - grouped by when they occurred. I'm camping this weekend so I built this entirely on my phone using Claude Code for web.

I started by building an inaturalist-clumper Python CLI for fetching and "clumping" observations - by default clumps use observations within 2 hours and 5km of each other.

Then I setup simonw/inaturalist-clumps as a Git scraping repository to run that tool and record the result to clumps.json.

That JSON file is hosted on GitHub, which means it can be fetched by JavaScript using CORS.

Finally I ran this prompt against my simonw/tools repo:

Build inat-sightings.html - an app that does a fetch() against https://raw.githubusercontent.com/simonw/inaturalist-clumps/refs/heads/main/clumps.json and then displays all of the observations on one page using the https://static.inaturalist.org/photos/538073008/small.jpg small.jpg URLs for the thumbnails - with loading=lazy - but when a thumbnail is clicked showing the large.jpg in an HTML modal. Both small and large should include the common species names if available

Tags: tools, claude-code, inaturalist, generative-ai, ai, llms

この記事をシェア

関連記事

Simon Willison Blog2026年5月3日 02:26

写真家シモン・ウィルソン氏、鳥類撮影とブログ連携の試み

NVIDIA Developer Blog重要度42026年6月26日 01:38

NVIDIA ACE を活用した KRAFTON の共演可能キャラクター「PUBG Ally」の構築方法

KDnuggets2026年6月26日 01:00

Gemini を活用して Google スプレッドシートを作成する方法

今日のまとめ

AI日報で今日の重要ニュースをまとめ読み

ニュース一覧に戻る元記事を読む