Thoughts on starting new projects with LLM agents
17 hours ago
- #Go Programming
- #Software Development
- #LLM Agents
- The author successfully used LLM agents to rewrite a Python project previously, and has now completed a new Go project (watgo) from scratch with agent assistance.
- The process involved iterative design with agents, using Markdown files for design documentation, and submitting small, reviewable CLs (Changelists). Large CLs may require multiple refactoring rounds or reverts if needed.
- Projects are categorized as low-importance (suitable for 'vibe-coding' without review) or high-importance (requiring thorough human review and understanding). The watgo project falls into the latter category, emphasizing code comprehension and maintenance.
- A practical workflow involves using a CLI agent locally, reviewing changes in VSCode's diff view, making manual tweaks, and committing manually once satisfied. Small CLs are crucial for human comprehension and effective review.
- A solid testing strategy is essential; agents perform best with robust test suites. For new projects, building or adapting tests should be prioritized, while avoiding self-reinforcing loops where agents write both tests and implementations.
- Go is highlighted as an excellent language for agent-written projects due to its readability, minimal changes, limited ways to accomplish tasks, rich standard library, and design choices that reduce mental burden, aligning with the need for extensive code review.
- The author advises against using agents for learning completely new subjects, as genuine learning requires personal effort. Junior engineers should be cautious, while senior engineers can benefit from agents as productivity tools when used judiciously.