AssessMe AI-Assistant
What the AI Assistant is
AssessME AI Assistant is an AI tutor built directly into VS Code. It is available in the sidebar, always at hand, and responds in a way that is calibrated to the learning goals of your current assignment.
It is not a code generator. It is a thinking partner — one whose level of help your instructor can tune from "asks you questions back" to "explains everything in full," depending on what you are supposed to be learning right now.
The most important thing to understand before you start
Anthropic (the company behind Claude) published a study in January 2026 that ran a controlled experiment on exactly how you should use this tool. They gave junior engineers a new programming library to learn — half with AI access, half without — and tested comprehension afterwards.
The results:
How AI was used | Score |
|---|---|
Generate code, accept it, move on | 39% |
Debug by pasting errors into AI repeatedly | 24% |
Ask for code + explanation together | 65% |
Generate code, then ask follow-up questions | 68% |
Ask only conceptual questions, code yourself | 86% |
No AI at all | 67% |
The students who asked the AI to explain rather than generate learned more than the students who had no AI access at all. The students who delegated everything to AI scored lower than every other group — including the group that had no AI help.
The level system in AssessME AI Assistant is designed around this finding. The levels are not restrictions on what you deserve. They are the conditions under which research shows you will actually learn.
Getting started
Install the extension
Open the Extensions panel (Ctrl+Shift+X or Cmd+Shift+X), search for AssessME AI Assistant, and install. Restart VS Code if prompted.
Log in with GitHub
Click the AssessME AI icon in the VS Code sidebar. Click Login with GitHub and follow the prompts. After authorising the app, you will be automatically logged in and your tick balance will appear at the top of the panel.
You will only need to do this once — the same login works for both FLOW and the AI Assistant.
Check your backend URL
In Settings (Ctrl+, or Cmd+,), search for assessme and verify that Backend URL matches the address your instructor gave you.
Start asking questions
Type in the chat panel and press Enter. The AI responds according to your current level. Your tick balance decrements with each message.
AI levels — what each one means
Your instructor sets the level for each assignment. It will not change mid-assignment without notice.
Level 1 — Integrity Mode 🔒
The AI does not respond to programming questions. You will see:
"AI assistance is disabled for this assignment (Integrity Mode)."
When to expect this: Exams, in-class assessments, or assignments where your instructor wants evidence of your independent capability.
This is not a technical failure. It is intentional. Work through the problem yourself.
Level 2 — Diagnostic Feedback 🩺
The AI can tell you what is wrong but not how to fix it. It will ask you questions rather than answer them.
The AI can:
Identify the category of error (syntax, logic, runtime, design)
Ask guiding questions: "What do you expect this line to do? What does it actually do?"
Point you toward documentation or concepts to look up
The AI cannot:
Show you the corrected code
Give you variable names, syntax, or step-by-step fixes
Provide pseudocode
Example:
You: My sorting function is returning the wrong order.
AI: There's a logic error in how you're comparing elements. When you compare
a > b, what order does that produce? What order do you want? What would you need to change to reverse it?
This level is calibrated to the research finding that encountering errors and resolving them yourself is what produces lasting skill. The AI keeps you thinking — it does not think for you.
When to expect this: Introductory assignments, fundamental concept practice, early weeks of a course.
Level 3 — Hint-Based Guidance 💡
The AI explains concepts, points to the right tools, and shows structural templates — but does not write working code.
The AI can:
Explain what a function, algorithm, or concept does and why
Show structural outlines with blanks you fill in:
for ___ in ___:Name the built-in function or library method that applies to your problem
Suggest documentation to read or search terms to use
The AI cannot:
Write a working implementation
Complete function bodies
Example:
You: How do I reverse a list in Python?
AI: Python lists can be reversed with slice notation —
[::-1]reads the list backwards. You could writeresult = ___[::-1]. What should replace the blank to reverse your specific list?
When to expect this: Mid-course assignments, algorithm practice, projects where you know the concept but need direction.
Level 4 — Guided Partial Support 🛠️
The AI provides outlines, pseudocode, and partial implementations. It can write small helper functions. It will not hand you the complete solution to the core problem.
The AI can:
Write pseudocode for the overall approach
Provide partial implementations with gaps marked
# TODOComplete small utility functions (under 10 lines)
Write function signatures and docstrings
Explain design trade-offs
The AI cannot:
Write the complete implementation of the main assignment task
Example:
You: Help me implement binary search.
AI:
def binary_search(arr, target): """Search for target in sorted array. Return index or -1.""" left, right = 0, len(arr) - 1 while left <= right: mid = (left + right) // 2 # TODO: Compare arr[mid] with target # TODO: Update left or right accordingly return -1The key insight is how you update
leftandrightafter comparingarr[mid]totarget. What should happen in each case?
When to expect this: Complex assignments, capstone projects, learning new frameworks or languages.
Level 5 — Full Assistance 🚀
The AI operates as a full programming partner with no restrictions.
The AI can:
Write complete working implementations
Debug and refactor your code
Explain any concept in depth
Discuss architecture and design choices
Review and improve what you have written
When to expect this: Open-ended projects, independent research, post-submission review, or optional enrichment work.
A note on Level 5: The research shows that using full generation without engagement produces the lowest comprehension of any AI usage pattern. Even at Level 5, the students who learned the most were those who read what the AI produced, asked follow-up questions, and thought about why it worked. You are not being graded on how fast you finish — you are being graded on what you understand.
Tick budget
Every AI message costs a small number of ticks. Your instructor loads your account with ticks at the start of the semester and can add more at any time.
Costs by model
Model | Cost | When to use |
|---|---|---|
Ministral 8B | 1 tick | Quick clarifications, simple questions |
Mistral Small / Codestral | 2 ticks | Debugging help, syntax questions |
Mistral Large 3 | 3 ticks | Architecture decisions, complex explanations |
Devstral 2 | 4 ticks | Deep code analysis, multi-file problems |
Start with the cheaper models for straightforward questions. The more expensive models are not always better for simple queries — they are slower and consume your budget faster.
Your balance
Your current tick balance is shown at the top of the chat panel. It reflects ticks remaining in your account — your instructor can top you up at any time from the faculty portal.
If you run out
You will see:
"Insufficient ticks. Ask your instructor to top up your balance."
Contact your instructor or TA. Top-ups are straightforward and they can see your usage history.
Making your budget last
Use Ministral 8B for "what does this error mean?" questions
Provide context upfront with
@filementions — this avoids back-and-forth clarificationOne specific question beats three vague ones every time
Avoid asking the AI to regenerate something you already received and need to read more carefully
@file mentions — attaching your code
The AI gives much better answers when it can see your code. You can attach files directly in your message.
Attach a full file
@main.pyAttach specific lines
@utils.py:15-40Attach multiple files
@app.py @models.py @config.jsonAs you type @, VS Code shows an autocomplete dropdown of files in your workspace. Use the arrow keys and Enter to select.
Example:
I'm getting a TypeError in @app.py when I call the function defined in @utils.py. I think the issue is in how I'm passing arguments but I can't see it.
The AI will read both files and give you a precise answer rather than a generic one.
Limits: Maximum 5 files per message, 20 KB per file, 80 KB total. These are configurable in settings.
Marking milestones in chat
You can place a milestone directly from the AI chat, which also logs it in your FLOW activity record:
@MILESTONE Understood why the recursive base case needs to return an empty list, not NoneUse milestones to mark moments of genuine understanding — not just task completion. A log of milestones across a semester is a record of how you grew as a programmer.
Choosing a model
For quick, factual questions — "what does enumerate() return?", "what is the difference between == and is?" — use Ministral 8B. It is fast and costs one tick.
For debugging help — attach your code with @file, describe what you expected and what happened — use Codestral or Mistral Small. These are trained specifically on code.
For architecture or design questions — "should I use a list or a dictionary here and why?", "what is the trade-off between these two approaches?" — use Mistral Large 3 or Devstral 2. These give richer, more thoughtful answers.
Switch models using the dropdown at the top of the chat panel before sending your message.
Getting the most out of every question
Be specific
❌ "My code doesn't work."
✅ "My merge_sort function in @main.py:22-45 returns a sorted list for small inputs but fails with a RecursionError for lists longer than 1000 elements. Why?"
The first message produces a generic answer. The second produces a diagnosis.
Tell the AI what you already tried
"I already tried changing the comparison from
<to<=and the order is still wrong."
This prevents the AI from suggesting things you have already ruled out and gets you to the actual answer faster.
Ask the AI to explain, not just produce
Even at Level 4 or 5, you learn more when you ask:
"Here is my binary search — can you explain why the mid calculation uses
//instead of/?"
than when you ask:
"Write me a binary search."
The first question makes you the author. The second makes you a copy-paste operator.
Use the AI to check your understanding, not just your code
After getting an answer, try asking:
"Can you ask me a question about this so I can test whether I understood it?"
This is the interaction pattern that the Anthropic study found produced the highest comprehension scores (86%) — using AI as a teacher, not a solution machine.
Troubleshooting
"Cannot reach AssessME server"
Check your internet connection
Open Settings and verify Backend URL matches what your instructor provided
Check the Output panel:
View → Output → AssessME AI Assistant
"AI assistance is disabled"
Your instructor has set Level 1 (Integrity Mode) for this assignment
This is intentional — work independently
"Insufficient ticks"
Your balance is exhausted — message your instructor or TA to request a top-up
While waiting: review your notes, re-read documentation, and try to resolve the problem independently (this is also the highest-learning pattern per the research)
Login issues
Try
LogoutthenLoginfrom the panelMake sure you are using the same GitHub account your instructor enrolled
@file not working
Make sure the file is inside your open workspace folder
Check the file extension is supported
Verify the file is under 20 KB
Privacy
What is logged per AI message:
Your prompt text and the AI's response
The model used and the tick cost
The timestamp
Any files attached via @file mentions
The AI level active at the time
What is not logged:
Files outside your workspace
Anything typed elsewhere in VS Code
Passwords, API keys, or secrets in files you did not explicitly attach
Logs are stored locally in your workspace under .assessmeA/. Your instructor can review them for academic integrity purposes. They are not shared with any third party or used for any purpose beyond your course.