Skip to content

draft code for discovery script#15

Open
NamsanMan wants to merge 8 commits into
PyTorchKR:mainfrom
NamsanMan:improve-discover-new
Open

draft code for discovery script#15
NamsanMan wants to merge 8 commits into
PyTorchKR:mainfrom
NamsanMan:improve-discover-new

Conversation

@NamsanMan

@NamsanMan NamsanMan commented May 13, 2026

Copy link
Copy Markdown

관련이슈 #8

Summary

이 PR은 최근 arXiv cs.RO 논문 중 Physical AI 후보를 찾기 위한 maintainer review용 discovery script를 추가하고 개선합니다.

scripts/discover_new.py는 최근 arXiv 논문을 가져오고, 후보 링크를 추출한 뒤, 기존 data/*.yaml 항목과 중복 여부를 확인합니다. 이후 링크 검증, keyword/rule-based relevance 판단, artifact availability 정리, recommendation 생성, markdown/json/jsonl report 출력을 수행합니다.

LLM review는 선택 기능입니다. --llm-review-command로 외부 reviewer command를 호출할 수 있으며, 이번 PR에는 Gemini API를 사용하는 예시 reviewer인 scripts/llm_reviewer_gemini.py가 포함되어 있습니다.

LLM 결과는 rule-based 판단을 대체하지 않습니다. 링크 검증과 artifact availability의 기준값은 rule-based checker이며, LLM 결과는 maintainer 검토를 돕기 위한 참고용 annotation으로만 사용됩니다.

Current behavior

URL classification

현재 crawler는 링크를 다음 7종으로 분류합니다.

  • github: GitHub repository
  • hf_model: Hugging Face model repository
  • hf_dataset: Hugging Face dataset repository
  • hf_space: Hugging Face Space/demo
  • paper: arXiv 또는 paper link
  • publication: DOI/publication link
  • project: 일반 project page

URL 분류는 단순 문자열 포함 여부가 아니라 실제 hostname을 기준으로 수행합니다. 또한 같은 GitHub/arXiv/Hugging Face 링크가 URL 모양 차이 때문에 서로 다른 링크처럼 비교되지 않도록 canonical URL 정규화를 적용했습니다.

Link status

링크 검증 결과는 다음 status를 가질 수 있습니다.

  • available
  • placeholder
  • not_found
  • private_or_gated
  • private_or_rate_limited
  • archived
  • not_available
  • unofficial
  • unknown
  • not_checked
  • invalid

Physical AI relevance

Rule-based relevance는 Physical AI keyword와 exclusion keyword를 기준으로 판단합니다.

현재 keyword에는 robotics, embodied AI, manipulation, locomotion, humanoid, quadruped, teleoperation, imitation learning, reinforcement learning, VLA/VLN, navigation, motion/path/task planning, robot policy, simulation/simulator, world model, sim-to-real, action generation/prediction, physical interaction 등 관련 용어가 포함되어 있습니다.

분류 기준은 다음과 같습니다.

  • low: exclusion keyword가 발견되었거나, Physical AI keyword가 하나도 없는 경우
  • medium: Physical AI keyword가 정확히 1개 발견된 경우
  • high: Physical AI keyword가 2개 이상 발견된 경우

Exclusion keyword는 Physical AI keyword보다 먼저 검사됩니다.

Artifact availability

Crawler는 project page와 실제 artifact를 구분합니다.

별도로 추적하는 항목은 다음과 같습니다.

  • has_verified_model_link
  • has_verified_dataset_link
  • has_verified_code_link
  • has_verified_space_link
  • has_verified_artifact_link
  • has_verified_project_page

Project page가 있다고 해서 곧바로 model/code/dataset이 공개된 것으로 보지 않습니다. 또한 DOI 링크는 publication으로 분류하며, DOI만으로 verified project/artifact가 있다고 판단하지 않습니다.

Usage

Rule-based only:

python scripts/discover_new.py --days 7 --max-arxiv 20 --llm-review-mode off --output report.md

Gemini-assisted review:

pip install -U google-genai
$env:GEMINI_API_KEY="YOUR_REAL_GEMINI_API_KEY"
python scripts/discover_new.py --days 7 --max-arxiv 20 --max-ambiguous 5 --llm-review-mode ambiguous --llm-review-command "python scripts/llm_reviewer_gemini.py" --output report.md

Skip link verification:

python scripts/discover_new.py --days 7 --max-arxiv 20 --no-verify --output report.md

주요 옵션:

  • --days
  • --max-arxiv
  • --format
  • --output
  • --no-verify
  • --max-ambiguous
  • --llm-review-mode
  • --llm-review-command

필요하면 $env:GEMINI_MODEL="gemini-2.5-flash-lite"로 사용할 모델을 지정할 수 있습니다.

Tests

python -m pytest -q

Result:

77 passed

@NamsanMan NamsanMan requested a review from jih0-kim as a code owner May 13, 2026 05:19
Comment thread scripts/discover_new.py
Comment on lines +234 to +237
if repo.get("archived"):
status = "archived"
elif repo.get("disabled"):
status = "not_available"

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

archived와 not_available 상태는 올려주신 코드 내에서 활용되는 부분이 없습니다. 오픈소스 여부를 판단하는 데 사용되는 지표로 해석되는데 활용되지 않는 이유 확인 부탁드려요.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

확인 감사합니다.

말씀해주신 것처럼 archivednot_available 상태는 verify_github_url()에서 GitHub repository의 상태를 분류하기 위해 추가했지만, decide_recommendation()bad_links 판단에는 포함되어 있지 않아 recommendation 결정에는 직접 반영되지 않고 있었습니다.

의도상 archived repository나 disabled repository는 자동으로 available public artifact로 간주하면 안 되므로, bad_links 상태 집합에 archivednot_available을 추가하는 방식으로 수정했습니다. 또한 해당 경우가 maintainer review 사유에 더 명확히 드러나도록 reason 문구도 함께 보완하겠습니다.

@jih0-kim

Copy link
Copy Markdown
Member

@NamsanMan
실제 코드 실행 결과 예시도 2~3개 정도 첨부해 주실 수 있나요?

@NamsanMan

Copy link
Copy Markdown
Author
image report.md의 예시 이미지 첨부하였습니다.

예시 candidate 3개에 대한 판단 결과입니다.

1. AwareVLN: Reasoning with Self-awareness for Vision-Language Navigation

  • Source: arxiv
  • Published: 2026-05-21
  • Relevance: low
  • Recommendation: reject
  • Reasons: no strong Physical AI keyword evidence; low Physical AI relevance

Verified links

2. GesVLA: Gesture-Aware Vision-Language-Action Model Embedded Representations

  • Source: arxiv
  • Published: 2026-05-21
  • Relevance: high
  • Recommendation: needs_review
  • Reasons: physical-ai keywords: manipulation, robot, vision language action, vla; verified public link and high Physical AI relevance

Verified links

3. Superhuman Safe and Agile Racing through Multi-Agent Reinforcement Learning

  • Source: arxiv
  • Published: 2026-05-21
  • Relevance: medium
  • Recommendation: needs_review
  • Reasons: physical-ai keyword: reinforcement learning; requires maintainer review

Verified links

위 결과에서 확인할 수 있듯이, 스크립트는 arXiv 후보를 수집한 뒤 relevance, recommendation, verified link status를 포함한 maintainer review report를 생성합니다. 실행 시점의 arXiv 최신 논문 및 네트워크/API 응답 상태에 따라 결과 후보와 링크 검증 결과는 달라질 수 있습니다.

하지만 실제로 reject된 "AwareVLN: Reasoning with Self-awareness for Vision-Language Navigation"를 확인해 보면, Physical AI계열의 논문이 맞으나, keyword의 한계로 reject된 것을 확인하였습니다. 따라서 keyword의 보완이 필요합니다.

@jih0-kim

Copy link
Copy Markdown
Member

@NamsanMan
키워드에 navigation을 추가하는 것도 좋을 것 같네요. 주행 기능이 들어간 로봇에 필요한 키워드인 것 같습니다.

Comment thread scripts/discover_new.py Outdated
Comment on lines +115 to +118
if "huggingface.co/datasets/" in url:
return "hf_dataset"
if "huggingface.co/" in url:
return "hf_model"

@jih0-kim jih0-kim May 23, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

huggingface.co/datasets/ 외에도 아래 같은 url 패턴이 있어서 dataset 외에는 hf_model로 처리하는 게 맞을지는 잘 모르겠네요. 한 번 고민해 봐주시면 좋을 것 같습니다!

  • huggingface.co/spaces/org/demo
  • huggingface.co/papers/...

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

반영했습니다. Hugging Face URL 분류를 hf_dataset, hf_space, paper, hf_model 순서로 세분화하여 spacespapers 링크가 hf_model로 잘못 분류되지 않도록 수정했습니다.

@NamsanMan

Copy link
Copy Markdown
Author

이번 commit에서는 저번 주 회의 내용을 반영하여 discovery script의 후보 분류, artifact 검증, LLM-assisted review 흐름을 정리했습니다.

핵심 방향은 다음과 같습니다.

  • 기존 keyword/rule-based discovery는 기본 흐름으로 유지했습니다.
  • LLM은 discovery logic을 대체하지 않고, 선택된 후보에 대한 보조 reviewer로 추가했습니다.
  • LLM review 결과는 rule-based 결과를 덮어쓰지 않고, report에 side-by-side로 출력되도록 했습니다.
  • weekly GitHub issue triage에서 사람이 빠르게 판단할 수 있도록 entry_summary(일반 사용자용 요약)와 maintainer_summary(repo maintainer가 issue에서 후보를 검토하기 위한 참고 요약)를 LLM이 생성하도록 했습니다.

주요 변경사항

1. Hugging Face URL 분류 세분화

기존에는 huggingface.co/datasets/... 외의 Hugging Face 링크가 대부분 hf_model로 처리될 수 있었습니다. 이를 아래처럼 세분화했습니다.

  • huggingface.co/datasets/...hf_dataset
  • huggingface.co/spaces/...hf_space
  • huggingface.co/papers/...paper
  • 그 외 일반 model repository → hf_model

이를 통해 Hugging Face Spaces나 Papers 링크가 model release처럼 잘못 해석되지 않도록 했습니다.

2. verified artifact availability 분리

후보의 link status만 보는 것이 아니라, 실제로 어떤 종류의 verified artifact가 있는지 별도 필드로 정리했습니다.

  • has_verified_model_link
  • has_verified_dataset_link
  • has_verified_code_link
  • has_verified_space_link
  • has_verified_artifact_link
  • has_verified_project_page

이렇게 분리한 이유는, project page만 있는 후보가 공식 model/code/dataset release처럼 처리되는 것을 막기 위함입니다. 특히 이번 workflow에서는 verified model link를 가장 강한 positive signal로 보고, project page는 concrete artifact와 분리해서 다룹니다.

3. Rule-based discovery flow 유지

discover_new.py의 기본 흐름은 deterministic하게 유지됩니다.
키워드를 기존보다 추가해서 강화했습니다.

1. Fetch recent arXiv cs.RO papers
2. Extract URLs from arXiv metadata and abstracts
3. Classify URLs into github / hf_model / hf_dataset / hf_space / paper / project
4. Verify GitHub, Hugging Face, and project links
5. Check duplicates against data/*.yaml
6. Apply keyword/rule-based Physical AI relevance filtering
7. Build artifact availability flags
8. Assign recommendation and review bucket
   - normal
   - ambiguous
   - reject

여기까지는 LLM 없이도 동작합니다.

python scripts/discover_new.py --days 7 --max-arxiv 10 --llm-review-mode off --output report_rule.md

4. Optional LLM reviewer 추가

LLM review는 discover_new.py 내부에 특정 provider를 직접 hard-code하지 않고, --llm-review-command를 통해 외부 reviewer command를 호출하는 방식으로 추가했습니다.

discover_new.py
  → candidate JSON 생성
  → selected candidate를 external LLM reviewer command에 stdin으로 전달
  → LLM reviewer가 JSON schema 형태로 review 결과 반환
  → rule-based result와 LLM-assisted result를 함께 report에 출력

즉, discover_new.py는 provider-agnostic 구조를 유지하고, 이번 commit에서는 Gemini API를 사용하는 예시 wrapper인 llm_reviewer_gemini.py를 추가했습니다.

5. LLM이 수행하는 기능

LLM reviewer는 candidate JSON을 입력으로 받아 다음 정보를 판단/생성합니다.

  • is_physical_ai: Physical AI / robotics / embodied AI 관련 후보인지
  • is_official: 공식 artifact로 볼 수 있는지
  • has_verified_model_link: verified model link가 있는지
  • has_verified_artifact_link: verified code/model/dataset/space artifact가 있는지
  • entry_type: model / dataset / tool / benchmark / simulator / paper_only / irrelevant / unclear
  • decision: accept / needs_review / reject
  • entry_summary: 최종 Awesome list에 사용할 수 있는 public-facing 설명
  • maintainer_summary: weekly GitHub issue triage에서 maintainer가 검토할 수 있는 요약
  • reason: LLM 판단 사유

특히 entry_summarymaintainer_summary의 역할을 분리했습니다.

  • entry_summary: 사용자가 Awesome list에서 보게 될 수 있는 2~3문장 설명
  • maintainer_summary: 사람이 이 후보를 유지/추가할지 판단할 수 있도록, Physical AI relevance, artifact availability, paper-only 여부, unofficial/placeholder/gated/inconclusive link 여부를 요약한 triage note

LLM은 최종 결정을 강제하지 않고, maintainer가 판단할 수 있도록 보조 정보를 제공합니다.

6. LLM-assisted flow

LLM을 사용하는 경우 전체 흐름은 다음과 같습니다.

1. Run deterministic discovery and link verification
2. Build rule-based recommendation and review_bucket
3. Select candidates for LLM review
   - off: no LLM review
   - ambiguous: only ambiguous candidates up to --max-ambiguous
   - all: all non-reject candidates
4. Send selected candidates to external LLM reviewer
5. Receive structured JSON review
6. Render report with:
   - rule-based relevance/reasons
   - verified artifact availability
   - LLM decision
   - LLM entry type
   - LLM entry summary
   - LLM maintainer summary

Example command:

python scripts/discover_new.py --days 7 --max-arxiv 10 --max-ambiguous 5 --llm-review-mode ambiguous --llm-review-command "python scripts/llm_reviewer_gemini.py" --output report_gemini.md

7. Gemini wrapper

llm_reviewer_gemini.py는 optional example wrapper입니다.

사용 시에는 아래가 필요합니다.

pip install -U google-genai

PowerShell 기준:

$env:GEMINI_API_KEY="API_KEY"

LLM review는 optional이므로, API key가 없거나 LLM을 사용하지 않는 환경에서는 기존 rule-based report만 생성할 수 있습니다.

실행 예시는 아래와 같습니다.

Execution example

python scripts/discover_new.py --days 7 --max-arxiv 10 --max-ambiguous 5 --llm-review-mode ambiguous --llm-review-command "python scripts/llm_reviewer_gemini.py" --output report_gemini.md

# Physical AI Discovery Report

This report is for maintainer review. No GitHub issues were created.

| Recommendation | Count |
|---|---:|
| `needs_review` | 9 |
| `reject` | 1 |

| Review bucket | Count |
|---|---:|
| `normal` | 0 |
| `ambiguous` | 9 |
| `reject` | 1 |

| LLM review | Count |
|---|---:|
| `selected` | 5 |
| `completed` | 5 |

### 1. Beyond Binary: Sim-to-Real Dexterous Manipulation with Physics-Grounded Contact Representation

- Relevance: `high`
- Recommendation: `needs_review`
- Review bucket: `ambiguous`
- Has verified model link: `False`
- Has verified artifact link: `False`
- LLM decision: `needs_review`
- LLM entry type: `model`
- LLM reason: The candidate is relevant to physical AI, but no verified model or artifact link was found.

**LLM entry summary**

This work introduces Center-of-Pressure (CoP), a physics-grounded tactile representation for sim-to-real transfer in dexterous manipulation tasks.

**LLM maintainer summary**

This paper is highly relevant to Physical AI, but no verified model or code link is available, so it remains `needs_review`.

다만, 너무 잦은 실행을 하면 arxiv에서 접속을 차단하거나, llm의 token 제한이 걸리는 것 같습니다.
확인해보시고 review 해 주시면 issue 자동생성도 진행하겠습니다.

@jih0-kim jih0-kim left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

리뷰 남겨드린 내용 확인 부탁드립니다. 수정 사항 반영해 리퀘스트 주신 점 감사합니다~!

Comment thread scripts/discover_new.py
Comment on lines +335 to +337
status = "private_or_gated" if gated else "available"
if len(files) <= 1:
status = "placeholder"

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

private 모델은 실제로는 웨이트 파일이 공개되어 있기는 하지만 사이트 상에서 terms에 동의하거나 해야 접근 가능한 경우라 placeholder로 두는 게 고민이 되기는 하네요. 🤔

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

gated=True인 경우에는 파일 수와 관계없이 private_or_gated 상태를 유지하고, non-gated repository에 대해서만 파일 수를 기준으로 placeholder를 판정하도록 수정했습니다.

Comment thread scripts/discover_new.py Outdated
Comment on lines +489 to +490
reasons.append("requires maintainer review")
return "needs_review", reasons, "normal"

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

relevance의 값이 ["low", "medium", "high"] 중 하나일 것 같습니다. 위에서 if 문을 타고 내려오면 이 두 줄에는 도달할 일이 없을 것 같은데 삭제해도 괜찮으려나요?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

말씀대로 정상 평가 흐름에서는 low, medium, high가 모두 앞에서 처리됩니다. 기존 fallback은 제거하고, 예상하지 못한 relevance 값이 들어오는 경우를 명확히 확인할 수 있도록 ValueError를 발생시키도록 수정했습니다.

Comment thread scripts/llm_reviewer_gemini.py Outdated
Comment on lines +29 to +30
"is_physical_ai": {"type": "boolean"},
"is_official": {"type": "boolean"},

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

이 두 가지 필드는 LLM이 생성하지만, 코드 내에서 이 두 필드를 활용하는 부분이 없습니다. 사용되지 않는 값이라면 삭제해서 LLM 호출 비용을 줄이는 게 좋을 것 같습니다.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@NamsanMan
이 부분 삭제하신다고 의견 주셨던 것 같은데 확인 한 번 더 부탁드릴게요~!

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

사용되지 않는 is_physical_ai, is_official 필드를 Gemini 응답 스키마의 properties와 required에서 모두 제거했습니다.

Comment thread scripts/discover_new.py Outdated
Comment on lines +790 to +801
f"- Has verified model link: `{availability.get('has_verified_model_link', False)}`",
f"- Has verified artifact link: `{availability.get('has_verified_artifact_link', False)}`",
f"- Has verified project page: `{availability.get('has_verified_project_page', False)}`",
])
if candidate.llm_review:
lines.append(f"- LLM review status: `{candidate.llm_review.get('status', 'unknown')}`")
if candidate.llm_review.get("decision"):
lines.append(f"- LLM decision: `{candidate.llm_review.get('decision')}`")
if "has_verified_model_link" in candidate.llm_review:
lines.append(f"- LLM has verified model link: `{candidate.llm_review.get('has_verified_model_link')}`")
if "has_verified_artifact_link" in candidate.llm_review:
lines.append(f"- LLM has verified artifact link: `{candidate.llm_review.get('has_verified_artifact_link')}`")

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

룰베이스로도 링크를 검증하고 LLM으로도 검증하는 것 같습니다. 둘 중 어떤 값을 유효값으로 보게 되나요?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@NamsanMan

링크 검증값은 rule-based checker의 결과를 source of truth로 두겠습니다. LLM의 has_verified_model_link, has_verified_artifact_link는 ambiguous candidate에 대한 보조 검토 annotation으로만 사용하고, artifact_availability나 rule-based verified link field를 override하지 않도록 유지하겠습니다. 이 점은 report 또는 PR 설명에 명시하겠습니다.

위 내용 댓글로 남겨주신 것 확인했습니다. 혹시 현재 코드상 LLM 평가 결과가 참고용인 게 report에 작성되고 있나요?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

기존 report에서는 rule-based 결과와 LLM 결과가 구분되어 출력되었지만, LLM 결과가 참고용이라는 설명은 명시적이지 않았습니다. 이번 수정에서 report 상단에 rule-based 링크 검증이 source of truth이며 LLM 링크 평가는 참고용 annotation으로만 사용되고 rule-based 결과를 override하지 않는다는 안내를 추가했습니다. 각 출력 필드도 Rule-based와 LLM ... (reference only)로 구분했습니다.

@jih0-kim

jih0-kim commented Jun 7, 2026

Copy link
Copy Markdown
Member

@NamsanMan
low/medium/high로 분류되는 기준에 대해서도 표로 정리해 남겨주실 수 있을까요? 이 위에 변경사항 기술하신 쪽에 편집하여 작성해주셔도 좋습니다.

@NamsanMan

Copy link
Copy Markdown
Author

Keyword-based relevance 분류 기준

Relevance 분류 기준 의미
low exclusion keyword가 하나 이상 발견되거나, Physical AI keyword가 하나도 발견되지 않은 경우 Physical AI 관련성이 낮거나, repository 범위에서 제외해야 할 가능성이 높은 후보
medium Physical AI keyword가 정확히 1개 발견된 경우 Physical AI 관련 가능성은 있으나, keyword 기반 근거가 약한 후보
high Physical AI keyword가 2개 이상 발견된 경우 Physical AI / robotics / embodied AI 관련성이 keyword 기준으로 비교적 높은 후보

Exclusion keyword는 Physical AI keyword보다 먼저 검사됩니다. 따라서 autonomous driving, traffic, lane detection, ADAS, self driving 등 제외 대상 keyword가 발견되면, Physical AI keyword가 함께 포함되어 있더라도 low로 분류됩니다.

@jih0-kim

Copy link
Copy Markdown
Member

@NamsanMan
자세히 답변해주셔서 감사합니다.
말씀해주신 수정사항 반영해주시면 다시 리뷰하겠습니다.

코드 라인에 인라인 코멘트로 남긴 부분에 대해서는, 가능하면 해당 코멘트 스레드 안에서 답변해주실 수 있을까요? ☺️ 인라인 스레드에서 논의가 이어지면 해당 코드 라인과 함께 맥락을 볼 수 있어 리뷰가 훨씬 수월할 것 같습니다! 👍

@jih0-kim

Copy link
Copy Markdown
Member

@NamsanMan
링크에 코멘트 드린 내용 확인 부탁드리겠습니다~!

@NamsanMan

Copy link
Copy Markdown
Author

discover_new crawler의 링크 처리와 report 표현을 조금 더 명확하게 개선했습니다.

  • 기존에는 URL 문자열 안에 github.com, huggingface.co 같은 글자가 포함되어 있는지를 보고 링크 종류를 판단했습니다. 이 방식은 단순하지만, 실제 접속 대상이 아닌 부분에 해당 문자열이 들어간 경우에도 잘못 분류될 수 있었습니다. 이제는 URL을 파싱해서 실제 접속 대상 도메인을 기준으로 GitHub/Hugging Face/arXiv/DOI/project 링크를 분류하도록 수정했습니다.

  • 기존에는 같은 GitHub repo나 arXiv 논문이라도 URL 모양이 조금 다르면 서로 다른 링크처럼 비교될 수 있었습니다. 예를 들어 github.com/org/repo, github.com/org/repo/, github.com/org/repo.git은 같은 repo인데 문자열은 다릅니다. 이번 수정에서는 이런 URL들을 같은 대상으로 비교할 수 있도록 정규화했습니다. arXiv 논문도 v2 같은 버전 표기가 붙어도 같은 논문으로 비교되도록 했습니다.

  • 기존에는 GitHub, Hugging Face, arXiv, project page에 요청하는 코드가 각각 흩어져 있었는데, 이제는 공통 함수로 모아서 같은 방식으로 요청하고, 사이트가 잠깐 바쁘거나 rate limit이 걸렸을 때 바로 실패하지 않고 잠깐 기다렸다가 재시도하도록 개선했습니다.

  • 기존에는 arXiv에서 최신 논문을 가져온 뒤 Python 코드 안에서 최근 N일 조건을 확인했습니다. 현재는 arXiv 검색 조건 자체에 최근 N일 범위를 넣고, 가져올 최대 개수는 기존처럼 max_results로 제한하도록 단순화했습니다.

  • 기존에는 doi.org 링크가 일반 project page처럼 보일 수 있었습니다. 하지만 DOI는 보통 코드나 모델 링크가 아니라 논문 출판 페이지입니다. 따라서 DOI 링크는 publication으로 따로 분류하고, DOI가 있다는 이유만으로 코드/모델/project artifact가 공개된 것으로 판단하지 않도록 수정했습니다.

  • 기존 report의 LLM review selected 표현은 실제 LLM 검토가 완료된 것처럼 보일 수 있었습니다. 이를 Targeted for optional LLM review로 바꿔, LLM 검토 대상으로 선정된 것과 실제 검토 완료 여부를 구분하기 쉽게 했습니다.

@jih0-kim

jih0-kim commented Jul 8, 2026

Copy link
Copy Markdown
Member

@NamsanMan
수정 사항 확인했습니다. 기능 고도화하시느라 고생 많으셨어요!
마마마지막으로 아래 사항 확인 부탁드려요~!

(1) 실제 코드 실행 결과 예시 첨부 요청

이번 커밋까지 반영 후 실제 동작에 영향을 주는 변경이 많이 들어갔습니다. 최신 코드 기준으로 실행 결과 예시를 2~3개 다시 첨부해주실 수 있을까요? 이전에 첨부해주셨던 형식처럼 후보 3개 정도에 대한 리포트 결과를 확인할 수 있으면 좋겠습니다.

확인 후에 리포트 포맷과 관련해 사소한 내용 한 가지 더 수정 요청 드릴 수 있을 것 같습니다. 참고 부탁드려요!

(2) PR description 업데이트 요청

현재 PR 설명은 초기 커밋 시점에 머물러 있어 실제 코드와 어긋나는 부분이 여러 곳 있습니다. merge 전에 아래 항목들을 업데이트 부탁드립니다. 제가 작성한 항목 외에도 description이 수정되어야 하는 부분이 있다면 확인해 주시고 반영 부탁드려요!

  • URL 분류 종류: 설명에는 GitHub / HF model / HF dataset / arXiv paper / project page (4~5종)로 되어 있지만, 실제로는 github, hf_model, hf_dataset, hf_space, paper, publication, project 7종으로 확장되었습니다.
  • 링크 상태: 설명에는 6종만 나와있지만, 실제로는 archived, not_available, private_or_rate_limited, not_checked, invalid가 추가되어 있습니다.
  • Physical AI 키워드 목록: 초기 13개에서 현재 약 40개(navigation, VLN, motion planning, simulator, physical interaction 등)로 확장되었습니다.
  • CLI 사용법 예시: --llm-review-mode, --max-ambiguous, --llm-review-command 옵션이 추가되었으니 사용 방법 섹션에 포함해주세요.
  • "선택적 LLM 리뷰 인터페이스" 섹션: "특정 LLM provider 연동이나 reviewer script는 이 PR에 포함하지 않았습니다"라고 되어 있지만, 실제로는 scripts/llm_reviewer_gemini.py가 포함되어 있어 정정이 필요합니다. Gemini reviewer 사용 방법(필요 패키지, GEMINI_API_KEY 환경변수 등)도 함께 안내해주시면 좋겠습니다.
  • 테스트 개수: "70 passed"로 되어 있는데, 테스트 내용/개수에 수정된 바가 없는지 확인 부탁드립니다.

감사합니다.

@NamsanMan

NamsanMan commented Jul 9, 2026

Copy link
Copy Markdown
Author

최신 코드 기준으로 다시 실행한 report 예시를 첨부드립니다.

실행 명령은 아래와 같습니다.

python scripts/discover_new.py --days 7 --max-arxiv 20 --max-ambiguous 5 --llm-review-mode ambiguous --llm-review-command "python scripts/llm_reviewer_gemini.py" --output report.md

요약 결과는 다음과 같습니다.

항목 | Count -- | -- needs_review | 19 reject | 1 LLM targeted for optional review | 5 LLM completed | 5

1. Continuous and large-scale: ELEANOR, the soft architected arm inspired by the elephant trunk

  • Source: arxiv
  • Published: 2026-07-08
  • Relevance: high
  • Recommendation: needs_review
  • Review bucket: ambiguous
  • Targeted for optional LLM review: True
  • Keyword hits: dexterous, grasp, manipulator, robot, robotic, robotics
  • Rule-based reasons: physical-ai keywords: dexterous, grasp, manipulator, robot, robotic, robotics; paper found, but no verified public code/model/dataset/project link
  • Rule-based verified model link: False
  • Rule-based verified artifact link: False
  • Rule-based verified project page: False
  • LLM review status: ok
  • LLM decision: needs_review
  • LLM entry type: model
  • LLM reason: No verified model or artifact link was found. The entry is relevant to physical AI and robotics, but artifact availability is unclear.

Verified links

  • No official code/model/dataset/project links found in arXiv metadata.

LLM entry summary

This paper introduces ELEANOR, a soft architected arm inspired by the elephant trunk, designed for continuous and large-scale manipulation. The biomimetic design, achieved through 3D printing and tendon-driven actuation, enables elephant-like movements and grasping, demonstrating high adaptability.

LLM maintainer summary

This entry describes ELEANOR, a soft robotic arm inspired by an elephant's trunk, relevant to manipulation and robotics. While the paper is available, there is no verified model or artifact link provided, hence it is marked for review.


2. Dual Latent Memory in Vision-Language-Action Models for Robotic Manipulation

  • Source: arxiv
  • Published: 2026-07-08
  • Relevance: high
  • Recommendation: needs_review
  • Review bucket: ambiguous
  • Targeted for optional LLM review: True
  • Keyword hits: manipulation, robot, robotic, vision language action, vla
  • Rule-based reasons: physical-ai keywords: manipulation, robot, robotic, vision language action, vla; paper found, but no verified public code/model/dataset/project link
  • Rule-based verified model link: False
  • Rule-based verified artifact link: False
  • Rule-based verified project page: False
  • LLM review status: ok
  • LLM decision: needs_review
  • LLM entry type: model
  • LLM reason: The paper is relevant to robotic manipulation, but no verified model or artifact link was found.

Verified links

  • No official code/model/dataset/project links found in arXiv metadata.

LLM entry summary

LaMem-VLA is a latent-memory-native framework for Vision-Language-Action (VLA) models that addresses challenges in long-horizon robotic manipulation tasks. It reconstructs historical experience into latent memory tokens, allowing for fluid interleaving with VLA reasoning and action formation.

LLM maintainer summary

This paper introduces LaMem-VLA, a novel framework for VLA models relevant to robotic manipulation. While the paper is highly relevant, there is no verified model or code link available, hence it is marked as needs_review.


3. CARLA-GS: Decoupling Representation, Reasoning, and Physics Simulation for Autonomous Driving Corner-Case Synthesis

  • Source: arxiv
  • Published: 2026-07-08
  • Relevance: low
  • Recommendation: reject
  • Review bucket: reject
  • Targeted for optional LLM review: False
  • Exclusion hits: autonomous driving, vehicle trajectory
  • Rule-based reasons: exclusion keywords: autonomous driving, vehicle trajectory; excluded by domain-specific exclusion keywords
  • Rule-based verified model link: False
  • Rule-based verified artifact link: False
  • Rule-based verified project page: False

Verified links

  • No official code/model/dataset/project links found in arXiv metadata.

위 예시에서 확인할 수 있듯이, 최신 report는 rule-based 판단 결과와 optional LLM review 결과를 함께 출력합니다. 링크 검증의 기준값은 rule-based checker이며, LLM의 링크 관련 판단은 report에서 reference-only annotation으로만 표시됩니다.

테스트는 아래 명령으로 확인했습니다.

python -m pytest -q

결과는 77 passed입니다.

PR description도 최신 코드 기준으로 업데이트했습니다.

  • URL classification 7종 반영
  • link status 목록 업데이트
  • Physical AI keyword/relevance 기준 업데이트
  • CLI 옵션 및 실행 예시 업데이트
  • Gemini reviewer 포함 사실과 사용 방법 반영
  • 테스트 결과 77 passed로 업데이트

확인 감사합니다!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants