Deadline: 3 hours to patch a critical CVE in a legacy internal tool. No docs, spaghetti Python. Perfect time to finally test Aider under fire.
Told it the problem: "Find all uses of `pickle.loads()` and replace with a safe serialization, probably `json.loads()`. The data is simple dicts." It scanned the codebase, identified 7 files. First pass was naive, broke everything because the pickle structures weren't 1:1 with JSON. Had to get specific:
```python
# I had to guide it like this
# The old code: data = pickle.loads(raw_bytes)
# The new code should handle the base64 decoding and missing keys
```
Iterated with error outputs. It suggested changes, I applied them, ran tests, fed back the tracebacks. The back-and-forth felt like pair programming with someone who never gets tired but occasionally hallucinates imports.
Got it working. The final diff was clean. Saved maybe an hour? The real win was it catching two other instances in test files I'd have missed. Pushed, deployed, crisis averted.
Verdict: Useful under pressure, but you're the pilot. It accelerates the grunt work, doesn't replace thinking. Don't expect magic, expect a very fast intern who reads every line of code instantly.