MIT License

技术解读

以下内容由 GitRead 中文社区 编辑团队基于项目 README 与官方资料整理, 结合中文开发者的常见使用场景补充技术选型建议。具体以项目官方文档为准。

Artemis —— 互动学习与自动化反馈

项目背景与痛点

在教育技术领域,Artemis 是一款致力于实现互动学习且提供自动化反馈的工具。它解决了传统在线学习系统中缺乏互动性和即时反馈的问题。随着在线教育的普及,如何有效提升学习者的参与度和学习效果,成为开发者和教育者共同关注的重点。Artemis 通过提供即时、自动化的反馈机制,能够在学习过程中为学生提供个性化的指导,从而大幅提升学习体验和学习效果。

核心技术揭秘

Artemis 的核心设计思想是实现一种互动性强且能提供即时反馈的学习环境。它通过分析用户的输入、自动校验结果并提供相应反馈,最终实现了这一目标。Artemis 的技术实现采用了以下几个关键技术栈和设计模式:

  1. 自动化反馈系统:通过机器学习算法实时分析学生的答案和状态并提供反馈,从而提升学习效率。
  2. 高可用与可扩展设计:采用了现代化的多层架构设计,确保系统的高性能和扩展性。
graph TD A[用户请求] --> B{"参数校验"} B -->|"通过"| C[执行业务] C --> D[自动反馈] B -->|"失败"| E[返回错误] D --> F[更新学习状态] F --> A

上图展示了 Artemis 的核心流程:通过用户请求触发,系统首先校验参数,确保符合要求后执行相关业务逻辑,核心机制是即时反馈的生成和反馈循环的更新学习状态,构建了系统的关键闭环。

功能亮点与差异

相较于其他同类竞品,Artemis 提供了更多的互动性和贴心的设计,具体包括:

  1. 自动化学习跟踪:系统会自动跟踪用户的学习进度,并提供个性化推荐,使学习过程产生更直接的引导。
  2. 实时反馈机制:通过机器学习算法实现即时反馈,不仅仅局限于问题的对错,还能分析学生存在的问题并进行针对性指导。
  3. 高质量内容平台:支持多种内容形式,包括视频教程、编程测试等,有利于提供丰富多样的互动体验。

应用场景与落地建议

在实际生产环境中使用 Artemis,需要考虑以下几点:

  1. 自定义配置及个性化需求:系统需根据实际教育项目的需要进行配置,包括绑定用户数据库、设置课程内容、设计自动化反馈逻辑等。
  2. 互动性和反馈设计:活动设计和反馈形式需要根据目标群体特性有策略地设计,如初级课程和高级课程的反馈机制可能存在不同。

Artemis 适用于教育科技公司、在线教育平台和需要个性化学习路径和实时反馈的项目。

综合评价

优点:

  • 提供了实时互动反馈,强化学习效果。
  • 架构设计现代化,确保了系统的性能和扩展性。
  • 多内容形式支持,提升学习体验多样性。

不足:

  • 自动化反馈要求算法工程师能准确刻画评估逻辑,有一定技术门槛。
  • 可定制程度高需要开发者进行细致的系统配置,初期部署成本相对较高。

总的来说,Artemis 在教育技术领域提供了强大的互动学习平台,极大提升了在线教育的互动性和效果。其自动化反馈机制和丰富的功能特性使其成为极具竞争力的产品。对于有志于提升在线课程体验的教育机构和开发者而言,Artemis 是一个值得深入研究和尝试的优秀工具。

关于

GitHub 原始描述(英文)

Artemis - Interactive Learning with Automated Feedback

描述取自 GitHub 官方 API,保持仓库作者书写的原文。

语言占比

Assembly
C
C#
C++
CMake
CSS
Dart
Dockerfile
Go
Go Template
Groovy
HTML
Handlebars
Haskell
Java
JavaScript
Kotlin
MATLAB
MDX
Makefile
OCaml
PHP
Python
R
Ruby
Rust
SCSS
Shell
Smalltalk
StringTemplate
Swift
TypeScript
VHDL

Release

README

Artemis

Interactive Learning with Individual Feedback

Artemis is an open-source platform for interactive learning with individual feedback. It enables universities to provide scalable, interactive learning experiences with individual feedback, authentic assessment, adaptive learning, and responsible AI support. Institutions deploy and operate Artemis on their own infrastructure.

CI Documentation Code Quality Status Quality Gate Status Reliability Rating Security Rating Maintainability Rating Duplicated Lines (%) Coverage Status Latest version License: MIT OpenSSF Scorecard OpenSSF Best Practices

Why Artemis

  • Individual feedback at scale. Programming submissions are built, tested, and analyzed automatically; quizzes are evaluated on submission; text and modeling exercises combine manual assessment with feedback suggestions.
  • Interactive exercises as first-class objects. Programming, modeling, text, quiz, and file-upload exercises, with version control, continuous integration, and static code analysis built in.
  • Authentic assessment and online exams. Coursework and examinations use the same exercise types, with exercise variants per student, test runs, plagiarism checks, and structured student reviews.
  • Adaptive learning. Competencies, learning paths, and learning analytics let courses adapt to individual progress.
  • Responsible AI support. Iris, Athena, and Hyperion are optional, configuration-gated integrations; instructors and tutors stay responsible for assessment decisions.
  • Open digital infrastructure. MIT-licensed, developed in public, self-hosted, and built to scale horizontally for large courses.
Try Artemis (one Docker command) https://docs.artemis.tum.de/about/try
Documentation https://docs.artemis.tum.de
About the project https://docs.artemis.tum.de/about
Get started (development setup) https://docs.artemis.tum.de/developer/setup
Deployment (administrators) https://docs.artemis.tum.de/admin/intro
Roadmap https://docs.artemis.tum.de/about/roadmap
Releases (minor release every two weeks) https://github.com/ls1intum/Artemis/releases
Release and support policy https://docs.artemis.tum.de/about/releases
Security policy .github/SECURITY.md
Trust and transparency https://docs.artemis.tum.de/about/trust
Contributing .github/CONTRIBUTING.md
Project governance https://docs.artemis.tum.de/about/governance
Research and publications https://docs.artemis.tum.de/publications
Platform comparison https://docs.artemis.tum.de/compare
Questions GitHub Discussions

Try it

A complete Artemis with working programming exercises, from the repository root. No configuration, published images for amd64 and arm64:

# Linux with a native Docker daemon only: the build agent needs your host's docker group to reach the
# Docker socket, and Compose resolves it when it creates the container, so set it first.
export ARTEMIS_DOCKER_GROUP_ID=$(getent group docker | cut -d: -f3)
docker compose --env-file .env -f deployment/docker/artemis-dev-local-vc-local-ci-postgres.yml pull
docker compose --env-file .env -f deployment/docker/artemis-dev-local-vc-local-ci-postgres.yml up

Then open http://localhost:8080 and sign in as artemis_admin / artemis_admin. This includes the integrated code lifecycle, so Artemis hosts the git repositories and a build agent runs the tests. Docker Desktop on macOS and Windows needs no docker group, so the export line is harmless there and can be skipped. See Try Artemis for what it leaves out and how to get a hosted trial instead. The TUM instance is at https://artemis.tum.de.

Key capabilities

Each entry links to the full documentation. The instructor guide has the complete reference.

Area What it does
Exercises Automatic and manual assessment, team exercises, multiple submissions, and a practice mode
Programming exercises Version control, test-case-based feedback, static code analysis, submission policies, and templates for 20 languages; any language that runs in a build container can be added
Integrated code lifecycle Built-in version control and continuous integration with scalable build agents, so no external VCS or CI system is required
Quiz exercises Multiple choice, drag and drop, and short answer questions in live, practice, and exam mode
Modeling exercises UML diagrams in the Apollon editor with semi-automatic assessment
Text exercises Manual and semi-automatic assessment with feedback suggestions
File upload exercises Free-form submissions assessed against structured grading criteria
Exam mode Online exams with exercise variants, test runs, plagiarism checks, and student reviews
Assessment and grading Double-blind grading, structured criteria, assessment training, complaints, grade keys, and export
Communication Channels, threads, direct messages, announcements, notifications, and FAQs
Lectures Slides, units, video integration, and transcriptions linked to learning objectives
Adaptive learning Competencies, learning paths, and learning analytics (Atlas)
Artemis Intelligence The maintained map of every AI-enabled subsystem: Iris, Athena, Hyperion, Atlas agents, and global search
Tutorial groups Session planning, tutor assignment, registration, and attendance
Plagiarism checks Programming (JPlag), text, and modeling exercises, with a student review workflow
LTI Integration into existing learning management systems such as Moodle
Mobile apps Native iOS and Android clients

AI services

Artemis integrates with the EduTelligence suite of AI services. Iris is an LLM-based virtual tutor that guides students with hints and leading questions, and Athena suggests feedback for text, modeling, and programming exercises. Hyperion is Artemis-native AI-assisted exercise authoring built on Spring AI. All of them are optional and gated by configuration.

EduTelligence maintains a compatibility matrix that states which service versions match which Artemis versions. Artemis Intelligence documents which capability is native to Artemis, which is an external service, and where the boundaries are.

Used and developed across universities

Artemis is used and evaluated by universities and schools in several countries, each operating its own instance. The canonical list, including instance URLs and contact people, is on the adoption page.

Artemis is also developed across institutions: it is initiated and primarily maintained by the Applied Education Technologies (AET) group at the Technical University of Munich, with contributions from a growing community. See About Artemis.

Deployment

Artemis is self-hosted. A production deployment consists of the Artemis server and client, a database (PostgreSQL; MySQL is deprecated and removed in Artemis 11), and, for programming exercises, one or more build agents. For smaller deployments such as schools, and for institutions that want to try Artemis before running it themselves, the Artemis team at TUM can host an instance; write to [email protected].

Development setup

Follow the setup guide. For programming exercises we recommend the integrated code lifecycle setup; Artemis can alternatively be run with LocalVC and Jenkins, which is deprecated and removed in Artemis 11.

Building for production

./gradlew -Pprod -Pwar clean bootWar

This produces build/libs/Artemis-<version>.war. To run it locally:

java -jar build/libs/*.war --spring.profiles.active=dev,localci,localvc,artemis,scheduling,buildagent,core,local

Then open http://localhost:8080. You may need to copy a configuration YAML file into build/libs first; see the development setup.

The following command automates deployment to a test server:

./deployment/artemis-server-cli deploy [email protected] -w build/libs/Artemis-10.6.war

Repository layout

Directory Contents
src/ Application sources, resources, and tests
packages/ Shared packages, including TUM AET UI
config/ Quality-tool settings, client configs, dependency patches, and the OpenAPI specification
deployment/ Docker Compose setups, Helm charts, deployment CLI, and Kubernetes runners
supporting_scripts/ Developer tooling, CI helpers, client prebuild, and local E2E runners
gradle/ Gradle build logic and wrapper
documentation/ Documentation site
skills/ Repository agent procedures

Build and workspace entry points remain at the repository root. Run commands from there unless a setup guide specifies another working directory.

Architecture

Artemis is decomposed into an application client (Angular) and an application server (Spring Boot). For programming exercises, the server contains its own version control (LocalVC, an integrated Git server) and continuous integration (LocalCI, a build queue whose jobs run in Docker containers on horizontally scalable build agents). No external version control or CI system is needed. Shared state of a multi-node installation goes through a distributed data provider (Hazelcast or Redis), and data is stored in PostgreSQL. Authentication can be delegated to an external user management system.

Top-Level Design

Deprecated, removed in Artemis 11 (planned for March 2027): Jenkins, the only external CI system Artemis still supports, and MySQL as a database. Use LocalCI and PostgreSQL for new installations and plan the migration of existing ones. See the roadmap and the upgrade guide.

The system design documentation contains the server architecture, the deployment view, and the data model.

Contributing

Contributions are welcome, from bug reports and documentation fixes to new features. Start with .github/CONTRIBUTING.md, which explains the contribution flow, the identity and transparency policy, and where the detailed guidelines live.

Development in Artemis follows a documented engineering process: feature request, feature proposal, implementation against the coding guidelines, automated tests, manual verification on a test server, peer review, feature-maintainer approval, and a final review by an Artemis maintainer. See Open-source development and the development process.

Please also read the Code of Conduct.

Project governance

Artemis has named maintainers per goal area and per feature module, layered code review, and a set of automated quality gates that every change has to pass. Project governance documents the roles, the maintainer tables, the decision path, and the gates. .github/CODEOWNERS is the machine-readable counterpart.

Artemis is not a separate legal entity. It is developed at the Technical University of Munich under the MIT license, and every Artemis instance is operated by the institution running it.

Security

Please report suspected vulnerabilities privately as described in .github/SECURITY.md, not as a public issue. Confirmed issues are published as GitHub Security Advisories once operators have had a chance to upgrade. The same document describes the supported versions, the security architecture, and the supply chain measures in place. Trust and transparency is the entry point for security, privacy, accessibility, and AI data processing questions.

Every release ships with SHA256SUMS, CycloneDX SBOMs for the server and the client, and a signed build provenance attestation:

sha256sum --check SHA256SUMS
gh attestation verify Artemis.war --repo ls1intum/Artemis

Research

Artemis grew out of research on interactive learning and is still used as an education research platform. The research page explains the loop from research question to released feature and lists the peer-reviewed publications behind the platform.

If you reference Artemis in your work, please use the citation metadata in CITATION.cff.

Documentation

The documentation is published at https://docs.artemis.tum.de and lives in documentation/. See documentation/README.md for how to build and write it.

License

Artemis is released under the MIT license, Copyright © TUM Applied Education Technologies.

评论

暂无评论