An agent in 100 lines of Lisp
18 hours ago
- #Lisp Language
- #AI Programming
- #Agent Systems
- The author recalls a university AI course around 2000 focused on Lisp as the language for symbolic AI, which lacked modern elements like neural networks or deep learning.
- Reflecting on Lisp's elegance for recursion, the author connects it to building AI agents, proposing that an agent loop is essentially a recursive function.
- A simple 8-line Common Lisp function demonstrates an agent loop where messages are processed, tools are executed if needed, and recursion handles the state.
- By leveraging Lisp's homoiconic nature (code as data), the agent uses a single eval tool to run arbitrary Lisp code, allowing dynamic function creation and execution.
- Memory persistence is achieved in 20 lines by serializing message lists to/from a file, enabling conversations to survive across sessions without complex dependencies.
- The agent dynamically built its own web search function using eval, showcasing an open tool catalog where capabilities are created at runtime rather than pre-defined.
- Skills are stored as memories in transcripts, contrasting with traditional agent platforms that fix tools at design time, suggesting a more flexible, human-like learning approach.
- The author concludes that while symbolic AI lost to deep learning, Lisp's strength in manipulating programs as data aligns well with modern AI agent engineering.