Two hands-on assignments in Part I, before the systems material begins. Both are individual.
Out Sep 15 · due Sep 29, 11:59pm
Use an existing agent framework to build something that does real work for you. The point is not the artifact — it is the write-up: where the agent succeeded, where it failed, and which of those failures were the model's fault versus the surrounding system's. Keep the transcripts; they are the evidence.
Out Sep 17 · due Oct 8, 11:59pm
Now write the loop yourself rather than importing one: tool calling, context management, retries and error recovery, and a stopping condition. A small agent you fully understand is worth more here than a capable one you assembled from parts. Report where your implementation costs the most tokens and the most wall-clock time — you will need that instinct for Part II.
Out Oct 8 · due Oct 20, 11:59pm
Take the agent you built in Assignment 2 and make it measurably cheaper to run. Three steps, in this order — and the order is part of the grade:
Techniques worth considering: parallelise or batch tool calls, restructure prompts so a stable prefix can be reused, stop re-sending unchanged context, route easy steps to a smaller model, cache tool results, or simply stop earlier. Which one wins depends on your profile — that is the point of doing step 1 first.
How the 10% breaks down: a profile accounting for essentially all of the cost (3%); the quality of your locked prediction — the reasoning, not whether it turned out right (2%); a measured, honestly reported improvement (3%); and the write-up, including what you tried that did not work (2%).