Tiny Type Agent - Safely Improving Python Code
As a companion to my talk at The Artificially Intelligent Enterprise Summit, I'd like to demonstrate a minimal yet useful and safe Autonomous DevTool.
Definitions
Let's adopt these loose terms for now.
- Assistant: Takes ~1 action per user interaction
- Agent: Completes a meaningful task by taking many actions with environment feedback
- Autonomous DevTool: AI agent packaged into a polished product, ready to integrate with your software development lifecycle
Use case: Add type-hints to legacy Python
Suppose you like type checking for Python, but the hints are toilsome to add!
This 400-line Python script shows how to address this with LLMs combined with safegaurds: tiny-type-agent on GitHub.
- LLM suggests types
- Agent uses Tree-Sitter to update the syntax tree in a tmp "shadow file"
- MyPy validates the shadow file
- Based on the result, Agent updates the original source or discards suggestion
It is perhaps not yet a DevTool because it's not polished (for that, help us finish the larger tool Menderbot), but it shows a workflow that is safe enough to improve production code with extremely low risk. In fact, it has already been used to update production code at a major company and found bugs in the process.
Background
With patience the most tangled cord may be undone.
Want to help out? See where you fit in!