RanD は、R&D Agent アーキテクチャを「導入層」と「実行層」に分けて束ねる親リポジトリです。固定コミットで周辺 OSS を導入し、論文・AI ニュース調査をローカル実行と Kestra 実行の両方で回しながら、通常運転の正規チェーン research -> insight -> gate -> sync -> notify を保つ母艦として振る舞います。
install-r-and-d-agent.batrun-research-once.bat paper_arxiv_ai_recentresearch-runtime/runs/<run_id>/report.mdを開く
最短導線だけ先に使いたい場合は上の 3 手順で十分です。設計の正本を確認したい場合は次の順で読んでください。
- 導入用リポジトリ
- 調査ランタイム
- Kestra flow 定義
- ルート入口バッチ
- 導入層
r-and-d-agent-installerが必要な OSS 群を固定コミットで導入します。- 実体は
r-and-d-agent-installer/.installed/に配置し、Git では管理しません。
- 実行層
research-runtimeが preset に従って source を巡回し、収集、正規化、洞察、評価、state 保存、外部同期 payload 生成まで担当します。kestra/flows/はresearch-runtimeを定期実行またはイベント起点で呼び出す flow 定義です。
open_deep_researchllm-guardkestrapulse-kestraagent-taskstateexperiment-gateai-product-requirement-documentRoadmap-Design-Skillstrategy-guided-policy-promptinsight-agentmemx-resolvertracker-bridge-materialsworkflow-cookbook
install-r-and-d-agent.batが導入対象 OSS を pinned commit で配置します。run-research-once.bat <preset>かrun-research-schedule.batがresearch-runtimeを起動します。research-runtimeはagent-taskstateを run / state / decision の正本として読み、memx-resolverを knowledge / read history の正本として参照します。- source を収集し、
NormalizedItemに正規化し、既読 URL と重複を整理します。 insight-agentとexperiment-gateを順に呼び、正規チェーンresearch -> insight -> gate -> sync -> notifyに沿って handoff します。replay は途中 stage から再開可能です。tracker-bridge-materialsは外部同期 payload の反映先として扱い、agent-taskstate形式の task state、memx-resolver向け journal、tracker-bridge-materials向け sync payload を更新します。research-runtime/runs/<run_id>/に 8 種の artifact を保存し、通知・再送・重複抑止のための集計元フィールドも残します。
各 run はトップレベル status を持ちます。
ok: source / state / report / integrations がすべて正常degraded: 一部 source 失敗、Insight/Gate/Memx/Tracker の個別失敗、fallback 利用ありfailed: source 全滅、state 読み書き失敗、report 保存失敗
taskstate への写像は次です。
ok -> donedegraded -> needs_reviewfailed -> failed
research-runtime/runs/<run_id>/ には次を保存します。
report.mdreport.jsoninsight.jsongate.jsonmeta.jsonmemx_journal.jsontracker_sync.jsonstate_context.json
JSON artifact には schema_version: "1.0" を持たせています。report.json には最低でも schema_version, status, status_reason, state_context, artifacts, dependency_health が入り、dependency_health.report によって artifact 保存障害を state 障害と分離して観測できます。
通常運転の正規経路は research -> insight -> gate -> sync -> notify です。
RanDの責務は、この chaining 順序と handoff 契約を束ねることです。- replay は途中 stage から再開可能です。
agent-taskstateは run / state / decision の正本です。memx-resolverは knowledge / read history の正本です。tracker-bridge-materialsは外部同期 payload の反映先です。
今の実装では、次の観測点を後から集計できるように field と log を定義しています。
- 日次 run 数
ok / degraded / failed件数report_save_failed件数state_write_failed件数- replay 実行件数
- 未通知再送件数
- notification failure 件数
- tracker sync failure 件数
- duplicate suppression 件数
- live fetch と live LLM 実行は外部依存に左右されるため、通常の受け入れでは fixture / local 実行確認を正本にします。
- notification / replay / dedupe の実件数は
pulse-kestra側の flow output と taskstate 記録に依存します。 - peer repo 側の API や schema が変わった場合は、
env-checkだけでは完全検知できないため定期的な統合確認が必要です。
現在の preset は次の 3 つです。
paper_arxiv_ai_recent- arXiv cs.AI recent を主入口にし、Hugging Face Papers と Papers with Code を補助ソースに使います。
ai_news_official- OpenAI News、Anthropic News、Google DeepMind Blog、Google AI Blog を巡回します。
ai_watch_dailypaper_arxiv_ai_recentとai_news_officialの合成 preset です。
heartbeat の自動選択は JST 基準で次の規則です。
| 時間帯 | 選択 preset |
|---|---|
| 08:00-11:59 | ai_watch_daily |
| 21:00-23:59 | paper_arxiv_ai_recent |
| それ以外 | paper_arxiv_ai_recent |
- この表は preset 選択規則の正本です。
- 定時実行の時刻そのものは
kestra/flows/research-ai-watch-daily.yamlとkestra/flows/research-arxiv-nightly.yamlの cron で管理します。 research-heartbeat.yamlは event/manual 起点で preset を補完するための flow です。- CLI で
--presetを明示した場合は時間帯規則より優先します。 - 合成 preset では child preset のどれか 1 つでも
degradedなら親もdegraded、すべてfailedなら親もfailedです。
正規の E2E は pulse-kestra -> Kestra -> guard -> research -> insight -> gate -> sync -> notify です。
pulse-kestraが mention / webhook / cron / heartbeat を受けます。Kestraが flow を起動します。- 必要なら
llm-guardを入口と出口に挟みます。 research-runtimeが research 実行を担当します。agent-taskstate,memx-resolver,tracker-bridge-materials向けの状態と payload を保存し、通知段へ handoff します。
現在持っている flow は次の 4 本です。
- research-manual-run.yaml
- research-ai-watch-daily.yaml
- research-arxiv-nightly.yaml
- research-heartbeat.yaml
通常インストール:
install-r-and-d-agent.bat1 回だけ論文調査を回す:
run-research-once.bat paper_arxiv_ai_recentスケジュール定義をまとめて回す:
run-research-schedule.batheartbeat の選択結果だけ見る:
cd research-runtime
python -m rand_research.cli heartbeat --dry-run --max-items 5依存と API 設定を確認する:
cd research-runtime
.\scripts\env-check.ps1