# AI Assistant

CodeGrade allows you to configure multiple AI assistants tailored to different educational purposes for an assignment. Here’s an overview of the available assistants and how to configure them:

{% hint style="info" %}
The AI Assistant is currently in Beta. Please email <support@codegrade.com> for more information on joining the Beta and getting access.
{% endhint %}

***

### Types of AI Assistants

**Learning Assistant**

* Designed to focus on learning and understanding.
* It does not provide direct coding answers but helps students understand principles, concepts, and feedback from AutoTest.

**Feedback Assistant**

* Can provide detailed feedback on code from a code quality perspective.

**Coding Assistant**

* A powerful tool that assists students with coding by generating code and providing solutions. This gives students unparallelled access to any coding questions.

***

### Student Access to AI Assistants

* As an instructor, you can enable access to one or multiple AI assistants for students.
* Students can start a new chat with any enabled assistant configuration.
* The AI assistant is integrated into the **Editor**, allowing students to use it seamlessly while coding.
* If you’re using **Git submission** or **File Uploader**, students can access the assistant through the **Submission** overview.
* Both students and instructors can view and review all conversations with the assistant.

***

### Viewing Assistant Chats

* When the AI assistant is enabled, a dedicated **Assistant Chat** tab appears in the Submission Overview.

<figure><img src="/files/lL92oj7n6Yy37bcL47x9" alt=""><figcaption><p>Submission Overview: Assistant Chat Tab</p></figcaption></figure>

* This tab is accessible to both students and instructors, displaying all chat interactions.

***

### Configuring AI Assistants

**Access the Settings**

* Navigate to **Assignment Settings > Assistant**

<figure><img src="/files/HxWsLctBXs3GIxVQRKtY" alt=""><figcaption></figcaption></figure>

**Create assistant**

* Click on "Create new assistant" and choose the type of assistant you'd like to add.

<figure><img src="/files/NMwOSgw7pstML9UJ54Jm" alt=""><figcaption></figcaption></figure>

**Select a Model for the Assistant**

* After creating an assistant, choose which AI model it will use to generate answers.

**Customize the Assistant**

* Configure **Content Guardrails** to control what the assistant is allowed to respond to.
* Edit the **System Prompt** to customize the assistant’s behavior, tone, and instructions.

<figure><img src="/files/WWhGkvH4JCoVxizTDe3J" alt=""><figcaption><p>AI Assistants: Configuring a Coding Assistant</p></figcaption></figure>

* Adjust settings such as the programming language or specific topics the assistant should address.

**Set the Status**

* Set the assistant to **enabled** to allow students to start using it.
* Switch to **disabled** to stop new interactions while retaining access to previous chats for review.

***

### Key Notes

* Once status of an assistant is disabled, all prior chats remain accessible to both students and instructors.
* Configuring and customizing AI assistants provides flexibility in aligning them with your teaching objectives.

With these tools, CodeGrade makes it easy to enhance learning, provide valuable feedback, and assist students with coding in an integrated, efficient way.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://help.codegrade.com/setup-assignment/other-features/ai-assistant.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
