Choose a problem worth solving, build the system needed to study it, and support one clear claim with evidence.
The assignments specify the problem and the evaluation. The project asks you to make both decisions. You may build a tool that fills a practical gap or conduct original research on agents or the systems that run them. The tracks use the same deadlines and rubric dimensions, but the research track has a higher bar for novelty and evidence.
| Format | Individual |
|---|---|
| Proposal | Wed Oct 28, 11:59pm · 2% |
| Poster and demo | December, date to be confirmed · 10% |
| Blog post and repository | Tue Dec 8, 11:59pm · 8% |
The project is worth 20% of the course grade and is completed individually. Each student submits one proposal, presents one poster and demo, and publishes one blog post and repository.
You do not need to wait for starter code or a release date. Start when you have a problem worth testing. Email the instructor if you want feedback on scope, a compute allocation, or a reader for a draft.
Choose the track that matches the claim you want to make. Name it in the proposal. You may switch later by emailing the instructor.
Build an AI system that solves a real problem better than the strongest available alternative. The gap may come from missing context, poor reliability, high cost, slow response, privacy constraints, or a workflow that existing tools do not support.
Suitable directions include:
This track has a higher bar. It asks for an original, falsifiable claim that advances what is known about agents or AI systems. A polished implementation is not enough. A reproduction, benchmark, or collection of measurements is not enough by itself either. The work must establish a result that the closest published research does not already provide, explain why the result occurs, and define the conditions under which it holds.
You may work on either side of the course:
On either side, the contribution may take one of four forms:
If the main contribution is a useful application, choose the product track and evaluate it rigorously. Choose the research track when you can state the new claim, identify the closest published claim, and design the controlled experiment that distinguishes them.
Before building, determine what already exists and state its limitation in one testable sentence.
Product track. What can your system do that the strongest existing alternative cannot?
Research track. What will your experiment establish that the closest published result does not?
Run the closest commercial tools, open-source systems, research prototypes, and frontier models on your own task. Pasting the input directly into a frontier model is a baseline, even if it seems too simple. Name the concrete failure you observe. “It cannot access my cluster queue” is a testable gap. “Nothing quite like this exists” is not.
Read the closest published work on the agent side or the systems side and identify the precise claim it leaves unsettled. The gap often comes from one of three places. First, nobody measured the behavior on your workload, model, or hardware. Second, a published result uses conditions that should change the answer. Third, two results disagree. “We will try a new idea and see whether it works” is not yet a research question.
Reproduce before you improve. A number measured on somebody else's setup is context, not a baseline. Reproduce the closest result in your setup so that the effect of your change is not confused with a different model, prompt, task set, GPU, software version, or workload. If the published artifact cannot be reproduced, document why and build the closest defensible comparison.
A small gap supported by evidence is stronger than a large gap supported by assertion. Finding out in week one that a tool already solves the problem or that a paper already answers the question costs an afternoon. Finding out in week five costs the project.
Every project needs four parts:
| Track | Baseline 1 | Baseline 2 |
|---|---|---|
| Product | The strongest existing system, run on your tasks | The current by-hand workflow, timed before your tool changes it |
| Research | The unmodified agent or system | The strongest published method or result, reproduced in your setup |
If you introduce a mechanism, isolate it with an ablation or another controlled comparison. Report the alternatives and configurations that lose as well as those that win. A negative result is useful evidence. Omitting the strongest comparison is not.
A research project must make the result credible beyond the particular run that produced it. State the hypothesis and fix the protocol before the main experiment. Use repeated trials, report variation or uncertainty, isolate the proposed cause, test at least one boundary condition, and preserve the artifacts needed to reproduce the result.
For agent-side research, fix the model version, prompts, tools, task set, and success criteria. Use held-out tasks when the method was tuned on examples, and separate capability from token cost, latency, and stochastic variation. For systems-side research, fix the hardware and software stack, describe the workload, measure under controlled load, and report both central and tail behavior where applicable.
A single benchmark score, a favorable prompt example, or one throughput number is not a research result. The result must survive a strong baseline, repeated measurement, and an attempt to make it fail.
Choose metrics that match the claim. Agent projects may need success rate, latency, cost, token usage, steps, resource use, and human effort. Serving projects may need throughput, time to first token, per-token latency, tail latency, memory use, cache hit ratio, and prefill work avoided. A latency result must also state the request rate at which it was measured.
Measure one level deeper. Break the top-line result into the components that explain it. “The agent took 60 seconds” says what happened. “Tool calls took 40 seconds, including one 30-second call that could run in parallel” says what to change. Ousterhout's Always Measure One Level Deeper explains why this habit matters.
Fix the workload, task set, and metric before the main experiment. Product projects should record the by-hand workflow before the tool changes it. Research projects should not choose the workload after seeing which one makes the result look strongest.
The goal is a defensible answer, not a favorable answer. A well-explained failure can be a strong project. A speedup caused by a measurement artifact cannot.
| Due | Deliverable | Weight |
|---|---|---|
| Wed Oct 28, 11:59pm | Proposal | 2% |
| December (date to be confirmed) | Poster and demo, including peer evaluation | 10% |
| Tue Dec 8, 11:59pm | Blog post and repository | 8% |
These are submission deadlines, not start dates. Submit the proposal through Canvas. Present the poster and demo in person. Publish the blog post and repository by opening a pull request to the course blog repository; the deadline is when the pull request is open, not when it is merged.
Keep the proposal to one page. Name the track and hardware, then cover four items:
A research proposal must also identify whether it is agent-side or systems-side research, state the falsifiable claim or hypothesis, and explain why the planned evidence would meet the higher research bar. The proposal exists to test whether the project is interesting and feasible before most of the work begins. The track is not binding; email the instructor if the work changes direction.
Present the project at the poster session after classes end. A visitor should be able to identify the problem, the system, and the result quickly. Use at least one figure that remains legible from two meters away. When a live demonstration is appropriate, prepare a reliable version that runs in about two minutes.
The poster session includes peer evaluation, and peer scores contribute to the project grade. Each student reviews several other projects. Reviewing is part of the deliverable.
Write for a general technical audience, using the assignment write-ups as the model. Explain the problem or question, the gap, the system design, the experimental method, the results and comparisons, and the limitations and failure modes. Link to the repository and any public demo. There is no length requirement; keep the post focused.
The repository must let another person reproduce the main result. Include an installation and execution guide, the raw measurements behind each figure, the scripts that generate the figures, and the hardware, software versions, and workload used for every reported number. Label all axes and units, and keep figures legible in print and grayscale.
Include the note required by the AI use policy. State what you delegated, what you kept, where AI clearly helped, and where it misled you. Explain how you detected the problem and what it cost.
The four dimensions below are weighted equally. Both tracks use these dimensions, but research projects are held to a higher standard of novelty, experimental control, reproducibility, and engagement with published work because they claim to extend the research record.
| Dimension | What strong work shows | Warning sign |
|---|---|---|
| Problem and motivation | A clear problem or question, a serious review of what already exists, and a testable gap | An existing tool already solves the problem, or a paper already reports the answer |
| Technical execution | A substantive, technically sound implementation or measurement | Code that works only on one machine, one input, or one run |
| Evaluation | Appropriate baselines and metrics, controlled comparisons, and conclusions supported by the experiments | Single-run numbers, a weak baseline, or a comparison between your run and an unreproduced number from a paper |
| Reporting | Clear claims, reproducible evidence, and an honest account of limitations and negative results | A figure or claim that the underlying measurements do not support |
A project that does not work can still earn nearly full credit if it explains what you expected, what you measured, and why the two differ. A number you cannot defend loses credit regardless of its sign or size.
Obtain the first measurement early. Do not spend four weeks building infrastructure before running the complete path once. If the project needs a GPU, count queue time and reruns as part of the five weeks.
Most projects should fit on a laptop, model API access, or a small number of GPUs. Discuss unusual hardware or substantial compute with the course staff early. Assignment 5 is due Sat Nov 28, the poster session follows, and the project report is due Tue Dec 8, so do not leave either write-up to the final two weeks.
Product track. Build a tool that solves a problem you understand and would continue to use.
Research track. Make an original claim about agents or AI systems that you would be willing to defend in front of the authors of the closest work.
The computing setup page contains access instructions. Choose the simplest resource that can run the experiment, and contact the instructor early if the project needs something not listed here.
| Resource | Use it when | Plan for |
|---|---|---|
| Course model API | You need a hosted frontier model but do not need to control the serving stack | Request cost and data leaving your machine |
| Course HPC | You need CPU or RTX PRO 6000 Blackwell GPU resources; this is the default for most serving projects | A three-day CPU job limit, a two-day GPU job limit, and a shared GPU pool |
| AWS | You need cloud resources covered by an announced course allocation | Do not depend on credits until the allocation is confirmed |
| FASRC | You already have or can obtain access to research CPU nodes or GPUs such as H100 and H200 | Access approval and queue time |
| CloudLab | You need bare metal, kernel or network access, or isolation from a shared cluster | Environment setup and experiment reproducibility |
Start with the least expensive model and the smallest complete experiment. Cap API requests before a run, stop cloud jobs when they finish, and run a small sweep before launching the full one. A late GPU allocation is not grounds for an extension, but the course staff can help you debug access and scope.