Noeron:科学播客的人工智能研究伴侣
播客与论文之间的认识论桥梁
一款基于人工智能的研究伴侣,使用谷歌Gemini 3实时将播客内容与学术文献联系起来。专为双子座3黑客马拉松而设计,旨在展示人工智能如何在不重复数千名听众的认知劳动的情况下,使深度科学变得触手可及。
 
问题
科学播客的听众会遇到未充分理解的说法,并希望更深入地理解,但阅读密集的学术论文非常困难。目前的解决方案迫使每个听众独立地重复相同的研究工作,这是对认知劳动的巨大浪费。
例子: 当Michael Levin在Lex Fridman#325上说“生物电模式控制形态发生”时,有什么论文支持这一点?哪些实验证明了这一点?我在哪里可以了解更多?
解决方案:理解基础设施
Noeron创造 认识论桥梁 -将非正式播客解释与正式科学文献联系起来。一个人的深度合成成为数千名听众的可重用基础设施,就像物理基础设施为许多用户服务一样。
诺能做什么
- 实时研究流:在收听播客时实时显示相关论文
- 上下文卡片:人工智能生成的摘要,将具体主张与支持性研究联系起来
- 深潜探索:探索带有证据线索、支持文件和相关概念的索赔
- 带有思维痕迹的AI聊天:与实时显示其推理过程的AI聊天
- AI图像生成:生成科学可视化
/visualize或/image命令 - 迷你播客:生成NotebookLM风格的两个主持人讨论任何索赔
- 滑道生成:为任何索赔创建带有视觉幻灯片的人工智能生成演示文稿
- 研究笔记本:保存和组织声明、论文、片段和人工智能见解
- 知识制图:用分类集群可视化研究领域
- 测验模式:测试你对播客内容的理解
- 移动优先设计:响应式用户界面经过优化,适合随时随地收听
把它想象成有一个研究助理,他已经阅读了播客嘉宾引用的每一篇论文。
为什么选择双子座3?
Noeron展示了Gemini 3在科学推理方面的独特能力:
- 长上下文窗口(1M令牌)
- 加载整个播客记录+150+生物电论文 - 在多小时的面试中保持背景
- 上下文缓存
- 一次处理论文语料库,查询数千次 - 在播客播放期间启用实时响应
- 思维水平增强推理
- 检测自然语言中微妙的科学主张 - 在相互矛盾的发现中综合证据 - 生成准确的上下文卡,不会产生幻觉
- 多模式理解
- 分析论文中的实验数据 - 处理来自YouTube采访的视频时间戳 - 从图表和可视化中提取见解
- 结构化输出生成
- 创建带有适当引用的上下文卡片 - 构建知识图谱,将索赔与证据联系起来 - 维护所有信息的来源跟踪
演示
演示视频 -观看Noeron的表演
演示的主要功能:
- 实时研究流显示莱文讲话时的论文
- 用证据线索深入研究“生物电模式”主张
- 具有实时思维痕迹的AI聊天
- 解释复杂概念的迷你播客生成
- 显示研究领域覆盖范围的知识制图
- 移动响应式聆听体验
自己试试: 现场演示 (需要Gemini API密钥)
黑客马拉松提交
适用于: Gemini 3全球黑客马拉松\ 类别: 教育与科学素养\ Gemini 3集成: 使用上下文缓存、多模态分析和具有思维水平的结构化输出的核心推理引擎
影响潜值
目标市场: 深度科学播客生态系统每月有1000万至3000万听众\ 问题已解决: 消除了数千名学习者重复的研究工作\ 可扩展性: 一个合成→ 许多用户(基础设施模型)
主要特点
1.实时研究流
与播客播放同步的实时论文推荐。
# As podcast plays, Noeron identifies claims and surfaces papers
process_podcast_segment(
transcript_window="I think bioelectric patterns...",
timestamp="00:45:23"
)
# Returns: Relevant papers with specific sections highlighted2.AI驱动的上下文卡
Gemini 3检测索赔,检索支持性研究,并生成可扫描的摘要。
# Two-pass Gemini approach:
# Pass 1: Detect claims with context tags
claims = detect_claims(transcript_segment, use_gemini=True)
# Example: "Bioelectric patterns control morphogenesis"
# Tags: [organism: planaria, mechanism: gap_junctions]
# Pass 2: Generate research queries and retrieve papers
for claim in claims:
papers = rag_search(claim.generate_query())
context_card = create_context_card(claim, papers)上下文卡输出:
{
"claim": "Bioelectric patterns control morphogenesis",
"timestamp": "00:45:23",
"supporting_evidence": [
{
"paper_id": "levin_2014_bioelectric",
"relevance": "Primary experimental validation",
"key_finding": "Ion channel manipulation altered planarian head shape"
}
],
"summary": "Planarian experiments show bioelectric signals determine body structure",
"confidence": "high"
}3.研究线程可视化
追踪科学理解是如何随着时间的推移而演变的。
build_research_thread(
topic="bioelectric morphogenesis",
year_range=(1993, 2025)
)
# Shows: Initial observations → Experimental validation →
# Molecular mechanisms → Current applications4.跨集合成
在多个播客中找到共同的主题。
synthesize_episodes([
"lex_fridman_325",
"sean_carroll_203",
"jim_rutt_165"
])
# Gemini 3 identifies: recurring themes, evolving ideas,
# contradictions explained over time5.思维痕迹互动问答
与已阅读播客记录和所有参考论文的人工智能聊天。通过SSE流媒体实时查看Gemini 3的推理过程。
answer_question(
question="How do gap junctions enable collective intelligence?",
context=["transcript", "papers", "figures"]
)
# Uses Gemini 3's enhanced reasoning to synthesize answer
# Shows thinking traces: "Let me consider the bioelectric signaling..."6.人工智能图像生成
直接在聊天中生成科学可视化。
# Explicit commands
/visualize cell membrane voltage gradients
/image planarian regeneration process
# Natural language
"Show me a diagram of bioelectric pattern formation"7.迷你播客生成
生成NotebookLM风格的两个主持人讨论任何索赔。
generate_mini_podcast(
claim_id="claim_123",
episode_id="lex_325",
style="educational"
)
# Returns: 3-5 minute audio with ALEX and SAM discussing the claim
# Uses Gemini 3 for script + Gemini 2.5 TTS for multi-speaker audio8.滑道生成
使用人工智能生成的视觉效果为任何索赔创建演示幻灯片。
generate_slide_deck(
claim_id="claim_123",
episode_id="lex_325",
style="presenter" # or "detailed"
)
# Returns: PDF with 5-12 slides, thumbnail previews, shareable link
# Uses Gemini 3 for content + Imagen for slide visuals两种风格:
- 主持人 (5-7张幻灯片):清晰的视觉效果,包含现场演示的关键点
- 详细的 (8-12张幻灯片):无需旁白即可分享的综合幻灯片
特征:
- 4个阶段的进度指标(规划→ 内容→ 视觉效果→ 装配)
- 缩略图旋转木马,点击展开灯箱
- 社区共享切换
- 在页面刷新过程中保持不变
9.研究笔记本
使用书签保存和组织您的研究之旅:
- 带有证据线索的索赔
- 带有亮点的论文片段
- 人工智能生成的见解和图像
- 插曲时刻
10.知识制图
使用分类集群可视化研究景观:
- GMM聚类中的8-12个“研究领域”
- 查看每集涵盖哪些地区
- 跟踪您的探索进度
- 发现新的探索领域
建筑
数据管道
Podcasts/Interviews
↓
[AssemblyAI Transcription]
↓
[Speaker Diarization]
↓
[Window Segmentation] (60s chunks with 10s overlap)
↓
[Gemini 3: Claim Detection] ← thinking_level='medium'
↓
[RAG: Paper Retrieval] ← Supabase pgvector + Gemini embeddings
↓
[Gemini 3: Context Synthesis] ← thinking_level='high', context_caching
↓
[Context Card Registry]
↓
[User Interface]Gemini 3集成点
# 1. Claim Detection (with thinking)
model = genai.GenerativeModel('gemini-3-flash-preview')
claims = model.generate_content(
f"Detect scientific claims in: {transcript}",
generation_config=genai.GenerationConfig(
thinking_level='medium',
response_mime_type='application/json'
)
)
# 2. Context Card Generation (with cached corpus)
cache = genai.caching.CachedContent.create(
model='gemini-3-pro-preview',
contents=bioelectricity_papers, # 150+ papers
ttl=datetime.timedelta(hours=1)
)
context_card = model.generate_content(
f"Synthesize evidence for: {claim}",
cached_content=cache,
generation_config=genai.GenerationConfig(
thinking_level='high'
)
)
# 3. Multimodal Figure Analysis
response = model.generate_content([
"Extract experimental protocol from this figure:",
{'mime_type': 'image/jpeg', 'data': figure_bytes}
])矢量搜索管道
Papers (150+ on bioelectricity)
↓
[GROBID: PDF → Structured JSON]
↓
[Section Detection: Methods, Results, Discussion]
↓
[Chunking] (400 tokens, 50 token overlap, tiktoken)
↓
[Embedding: Gemini text-embedding-004] (768 dimensions)
↓
[Supabase pgvector] (production) / [ChromaDB] (local dev)
↓
[RAG Search] ← Query from Gemini claim detection安装
先决条件
- Python 3.10+
- 紫外线 (Python包管理器)
- Node.js 18+,带pnpm
- Google Gemini API密钥(免费获得一个)
- Supabase项目(用于生产)或当地发展模式
- AssemblyAI API密钥(用于生成转录本,可选)
- ffmpeg(用于音频处理,可选)
快速开始
# Clone repository
git clone https://github.com/beckpiscopo/bioelectricity_researcher
cd bioelectricity_researcher
# Install Python dependencies with uv
uv sync
# Set up environment variables
cp .env.example .env
# Edit .env with your API keys:
# - GEMINI_API_KEY (required for all AI features)
# - SUPABASE_URL and SUPABASE_SERVICE_KEY (for production)
# - ASSEMBLYAI_API_KEY (for transcript generation)BYOK(自带钥匙)
用户必须提供自己的Gemini API密钥才能使用人工智能功能。应用程序重定向到设置页面(/settings)在首次使用时,用户可以输入他们的API密钥。密钥安全地存储在浏览器的本地存储中。
首次通过魔术链接登录的用户在继续之前会被提示设置显示名称。
构建矢量存储
# Process papers into vector database
python scripts/build_vector_store.py
# Verify corpus
python scripts/validate_corpus.py生成上下文卡
# Process a podcast episode
python scripts/fetch_assemblyai_transcript.py \
--youtube-url "https://youtube.com/watch?v=..." \
--paper-id lex_325 \
--title "Lex Fridman #325"
# Generate context cards for all segments
python scripts/run_context_card_builder_batch.py \
--podcast-id lex_325 \
--episode-title "Lex Fridman #325" \
--use-gemini \
--redo运行应用程序
# Start the backend HTTP server
uv run python -m src.bioelectricity_research.http_server
# In another terminal, start the Next.js frontend
cd frontend
pnpm install
pnpm dev访问 http://localhost:3000
环境变量
| 变量 | 必填 | 描述 |
|---|---|---|
GEMINI_API_KEY | 是 | 谷歌Gemini API人工智能功能密钥 |
SUPABASE_URL | 生产 | Supabase项目URL |
SUPABASE_SERVICE_KEY | 生产 | 供应链服务角色关键 |
USE_SUPABASE | 否 | 设置为 false 用于本地开发(默认值: true) |
ASSEMBLYAI_API_KEY | 可选 | 用于生成新成绩单 |
当前语料库
论文
- 150+篇论文 生物电、形态发生、再生
- 日期范围: 1993-2025(迈克尔·莱文的全集)
- 话题: 间隙连接、离子通道、模式形成、异种机器人、集体智能
播客/访谈
- 莱克斯·弗里德曼#325(迈克尔·莱文)-完整一集的索赔
- 万物理论(迈克尔·莱文)-预览集
- 其他剧集正在筹备中
处理统计数据
- 块总数: ~15,000
- 平均块大小: 400个代币
- 嵌入模型: Gemini文本嵌入-004(768维)
- 分类集群: 通过GMM聚类得到8-12个研究领域
- 储存: Supabase pgvector(生产)/ChromaDB(本地)
UI/UX设计
四个交互层
- 被动倾听
- 时间戳同步的上下文卡会自动出现 - 播客流不会中断
- 主动提问
- 后续问题的聊天界面 - 双子座3个理由超过成绩单+论文
- 精心策划的探索
- 按主题浏览研究主题 - 复杂性的逐步披露
- 主要来源
- 直接链接到论文 - 突出显示的相关章节
设计理念
- 移动优先: 专为播客收听场景而设计
- 渐进式披露: 显示简单摘要,隐藏复杂性
- 来源追踪: 始终明确引用来源
- 最小认知负荷: 10-15字可扫描摘要
项目结构
bioelectricity-research-mcp-v2/
├── agents/ # Gemini-powered reasoning agents
│ └── verification_agent.py # Claim verification logic
├── data/
│ ├── papers_collection.json # Metadata for all papers
│ ├── cleaned_papers/ # Processed, chunkable JSON
│ ├── grobid_fulltext/ # Raw GROBID extraction
│ ├── vectorstore/ # ChromaDB persistence (local mode)
│ ├── context_card_registry.json # Generated context cards
│ ├── episodes.json # Episode metadata
│ ├── episode_summaries.json # AI-generated summaries
│ ├── window_segments.json # Transcript temporal windows
│ └── knowledge_graph/ # Entity-relation extractions
├── scripts/
│ ├── build_vector_store.py # Chunk and embed papers
│ ├── build_taxonomy_clusters.py # GMM clustering for knowledge cartography
│ ├── fetch_assemblyai_transcript.py
│ ├── context_card_builder.py # Gemini claim → RAG → card
│ ├── generate_episode_summaries.py
│ ├── supabase_client.py # Database client
│ └── migrate_to_supabase_full.py # Data migration
├── src/
│ ├── bioelectricity_research/
│ │ ├── server.py # FastMCP server + MCP tools
│ │ ├── http_server.py # REST API adapter
│ │ ├── context_builder.py # Layered chat context system
│ │ ├── vector_store.py # ChromaDB/Supabase pgvector
│ │ └── storage.py # Paper CRUD operations
│ ├── chunking_papers.py # Tiktoken-based chunking
│ └── embeddings.py # Gemini embedding utilities
├── frontend/ # Next.js application
│ ├── app/
│ │ ├── page.tsx # Landing page
│ │ ├── library/page.tsx # Episode library
│ │ ├── episode/[id]/page.tsx # Episode player
│ │ ├── notebook/[id]/page.tsx # Notebook view
│ │ └── api/ # API proxy routes
│ ├── components/
│ │ ├── listening-view.tsx # Podcast player with live research
│ │ ├── deep-exploration-view.tsx # Claim deep dive
│ │ ├── episode-overview.tsx # Episode summary + clusters
│ │ ├── notebook-view.tsx # Research notebook
│ │ ├── mini-podcast-player.tsx # AI podcast player
│ │ ├── taxonomy-bubble-map.tsx # Knowledge cartography
│ │ ├── quiz-mode.tsx # Interactive quizzes
│ │ ├── ai-chat/ # AI chat components
│ │ └── mobile/ # Mobile-optimized components
│ ├── hooks/
│ │ └── use-ai-chat.ts # Chat state management
│ └── lib/
│ ├── supabase.ts # Supabase client + types
│ └── chat-types.ts # TypeScript interfaces
├── supabase/
│ ├── migrations/ # Database schema migrations
│ └── schema.sql # Full schema reference
├── cache/ # Runtime caches
│ └── generated_podcasts.json # Mini podcast cache
├── tests/
└── docs/
├── ARCHITECTURE.md # System architecture
├── pipeline.md # Data flow documentation
├── TAXONOMY_CLUSTERS.md # Clustering system guide
└── DEPLOYMENT.md # Deployment instructions测试
# Run unit tests
pytest tests/
# Validate context card quality
python scripts/validate_context_card_registry.py
# Test RAG search accuracy
python tests/test_rag_accuracy.py未来路线图
第二阶段(黑客马拉松后)
- \[\]YouTube视频集成(视觉时间戳)
- \[\]扩展到其他生物电研究人员
- \[\]引文网络可视化
- \[\]黑曜石出口
第三阶段(产品愿景)
- \[\]多播客支持(Huberman、Carroll、Rutt)
- \[\]社区贡献的背景卡片
- \[\]移动应用程序(iOS/Android)
- \[\]YouTube浏览器扩展
第四阶段(规模)
- \[\]超越生物电
- \[\]任何科学播客的平台
- \[\]成为“深度学习的基础设施”
影响指标
对于研究人员:
- 节省时间:每次论文查找2-4小时→ 30 秒
- 可访问性:使前沿研究易于理解
对于播客听众:
- 深度科学播客每月有1000万至3000万听众
- 每个上下文卡被数千人使用(基础设施效应)
科学传播:
- 弥合可访问性和严格性之间的差距
- 无需学术把关,即可实现更深入的参与
双子座3竞争优势
该项目展示了Gemini 3在科学推理方面的优势:
- 与GPT-4相比:更好地理解论文语料库的长上下文
- vs.克劳德:上下文卡的输出更加结构化
- 与双子座2.5相比:增强推理消除幻觉
- 双子座3独有:上下文缓存使这在经济上可行
成本效益:
- 无缓存:每1000次查询50美元以上
- 使用Gemini 3缓存:每1000个查询2美元(减少25倍)
文档
贡献
该项目目前处于黑客马拉松模式,但欢迎在2026年2月9日之后捐款!
许可证
MIT许可证-请参阅 许可证 详情
致谢
- 迈克尔·莱文 -用于开创性的生物电研究
- 谷歌DeepMind -对于Gemini 3 API
- 组装AI -用于播客转录
- 语义学者 -用于纸质元数据
联系
贝克·皮斯科波
- 网站: beckpiscopo.xyz
- 十、 @贝克皮斯科波
- 项目链接:
______________________________________________________________________
为Gemini 3全球黑客马拉松精心打造
“认识论基础设施:一个人的深刻理解成为数千人可重复使用的知识。”
