Agency is a Go language library for developers, used to explore the capabilities of large language models (LLMs) and other generative AI. The project is developed by neurocult and hosted on GitHub, emphasizing the construction of generative AI applications in a clean, effective, and Go-idiomatic way.
Purpose: Agency aims to empower users to build autonomous agents, suitable for various generative AI applications from chat interfaces to complex data analysis. Its ultimate goal is to simplify the creation of autonomous AI systems, whether building a single assistant or coordinating agent swarms, providing the necessary tools and flexibility.
Main capabilities and features:
- Pure Go implementation: fast, lightweight, statically typed, with no need to deal with Python or JavaScript.
- Clean architecture: encourages writing clean code by separating business logic from concrete implementations.
- Custom operations: easily create custom operations by implementing simple interfaces.
- Composable processes: operations can be combined into processes, and each step can be observed through interceptors.
- OpenAI API bindings: supports any OpenAI-compatible API, covering text-to-text (completion), text-to-image, text-to-speech, and speech-to-text.
Usage: The project provides installation instructions (the specific installation command is not shown in the materials; refer to the instructions in the repository), and includes examples to demonstrate more complex use cases, including RAG (retrieval-augmented generation) and multimodal operations. Developers can learn how to use it by reading these examples.
Applicable scenarios: Suitable for developers who need to build generative AI applications in Go, including chat interfaces, complex data analysis, autonomous agents, single assistants, agent swarms, and more.
Limitations and future plans: Currently, the library mainly uses OpenAI API bindings. According to the materials, future versions plan to support external function calling, metadata (such as the number of tokens used, audio duration, etc.), more provider adapters (not limited to OpenAI), image-to-text operations, a powerful API for autonomous agents, tagging, and JSON output parsers. The current version does not yet provide these features.
About fees and pricing: The materials do not provide any information about fees, pricing, or business model.
About platform support: The materials do not clearly list the supportedoperating systems or platforms, but as a Go library, it can theoretically be used in any environment that supports Go.