目录

MoonPolicyEval

MoonPolicyEval is a small MoonBit library for offline reinforcement-learning style evaluation. It focuses on the parts that are easy to reuse across projects:

  • episode return
  • discounted return
  • episode length
  • coverage-aware success rate
  • policy comparison with aligned trajectories
  • policy ranking across multiple datasets
  • Markdown report generation
  • simple CSV trajectory parsing

The project is intentionally decoupled from any training framework. It accepts raw trajectory data and produces reusable reports.

Why this shape

The OSC2026 guide emphasizes:

  • MoonBit as the primary implementation language
  • public repository and traceable commits
  • clear README, runnable example, CI, tests, and mooncakes.io publication
  • open-source license and source provenance

MoonPolicyEval is designed around those expectations. The code is small enough to review, but the data model can grow with new metrics later.

Data model

An Episode contains:

  • episode_id
  • task_id
  • policy_name
  • rewards
  • success

The library derives:

  • EpisodeScore
  • PolicySummary
  • PolicyComparison

CLI

The demo binary is intentionally lightweight and does not depend on a training stack.

moon run cmd/main demo
moon run cmd/main csv-demo
moon run cmd/main rank-demo
moon run cmd/main summary '<evaluation-json>'
moon run cmd/main compare '<comparison-json>'
moon run cmd/main csv-summary '<csv-text>'
moon run cmd/main report '<evaluation-json>'

Evaluation request

{
  "gamma": 0.9,
  "policy_name": "demo",
  "episodes": [
    {
      "episode_id": "ep-1",
      "task_id": "task-a",
      "policy_name": "demo",
      "rewards": [1.0, 0.0, 0.0],
      "success": true
    }
  ]
}

Comparison request

{
  "gamma": 0.95,
  "baseline_name": "baseline",
  "candidate_name": "candidate",
  "baseline": [],
  "candidate": []
}

Library entry points

  • episode_return
  • discounted_return
  • episode_length
  • summarize
  • compare
  • parse_evaluation_request
  • parse_comparison_request

Tests

Run:

moon test

The tests cover:

  • single-episode metrics
  • summary aggregation
  • comparison alignment
  • ranking helpers
  • Markdown report rendering
  • CSV sample parsing
  • JSON round-trip for requests

Repository layout

  • moonpolicyeval.mbt: core library
  • analysis.mbt: policy ranking helpers
  • csv.mbt: CSV parser and sample payload
  • report.mbt: Markdown report rendering
  • cmd/main/main.mbt: demo CLI
  • moonpolicyeval_test.mbt: public tests
  • moonpolicyeval_wbtest.mbt: white-box tests
  • docs/SOURCE.md: provenance note

License

Apache-2.0

关于

MoonPolicyEval 是一个面向离线强化学习与策略评估的 MoonBit 评估库。它接收轨迹数据,自动计算 return、discounted return、success rate、episode length,并支持两组策略的对比分析,适合作为训练框架之外可复用的评估层。

52.0 KB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9 京公网安备 11010802047560号