I’ve been testing out goose
an AI agent for writing code that runs on your machine instead of as an IDE co-pilot.
Writing features for my personal indexing service (a rust codebase), I learned:
- For small, additive, self-contained features, it works well. For example, spawning a long-running task that used to be blocking, adding a client-side PWA service-worker, and adding a test function.
- Sometimes I found that
goose
would replace a line rather than add it—when creating a new module it overwrote a line inlib.rs
which caused another module to no longer be linked and fail to compile. This also happened when adding a dependency. - One time it overwrote a file and truncated it and never finished outputting the rest.
- Responds well to guidance about correcting issues. For example, when implementing the server side implementation for push notifications it used a library incorrectly (probably an old version), but when I provided the readme example as context, it fixed it up.
- Typed languages are probably best for AI agents
Links to this note
-
Typed Languages Are Best for AI Agents
Typed languages should be the best fit for useful AI agents. Context is needed for practical LLM applications and type systems provide a ton of context. Compiling code provides a short loop that can help the agent.
-
What Does it Mean to Be AI Native?
With the capabilities of large language models getting more useful for real work, the pressure is on to incorporate them everywhere. I’m seeing an increase in loud voices proclaiming people and businesses must become “AI Native” if they are to survive.