---
title: "agency"
type: "tool"
slug: "neurocult-agency"
canonical_url: "https://www.graphcanon.com/tools/neurocult-agency"
github_url: "https://github.com/neurocult/agency"
homepage_url: null
stars: 512
forks: 36
primary_language: "Go"
license: "MIT"
categories: ["vector-databases", "ai-agents", "llm-frameworks"]
tags: ["agents", "ai", "artificial-intelligence", "generative-ai", "autonomous-agents", "chatgpt", "artificial-neural-networks", "artificial-general-intelligence"]
updated_at: "2026-07-07T17:43:31.403053+00:00"
---

# agency

> 🕵️‍♂️ Library designed for developers eager to explore the potential of Large Language Models (LLMs) and other generative AI through a clea

🕵️‍♂️ Library designed for developers eager to explore the potential of Large Language Models (LLMs) and other generative AI through a clean, effective, and Go-idiomatic approach.

## Facts

- Repository: https://github.com/neurocult/agency
- Stars: 512 · Forks: 36 · Open issues: 4 · Watchers: 8
- Primary language: Go
- License: MIT
- Last pushed: 2025-01-08T06:11:11+00:00

## Categories

- [Vector Databases](/categories/vector-databases.md)
- [AI Agents](/categories/ai-agents.md)
- [LLM Frameworks](/categories/llm-frameworks.md)

## Tags

agents, ai, artificial-intelligence, generative-ai, autonomous-agents, chatgpt, artificial-neural-networks, artificial-general-intelligence

## Related tools

- [ECC](/tools/affaan-m-ecc.md) - The agent harness performance optimization system (★ 226,962)
- [hermes-agent](/tools/nousresearch-hermes-agent.md) - The self-improving AI agent built by Nous Research (★ 210,880)
- [AutoGPT](/tools/significant-gravitas-autogpt.md) - AutoGPT: Build, Deploy, and Run AI Agents (★ 185,417)
- [ollama](/tools/ollama-ollama.md) - Get up and running with Kimi-K2.6, GLM-5.1, MiniMax, DeepSeek, gpt-oss, Qwen, Gemma and other models. (★ 175,659)
- [prompts.chat](/tools/f-prompts-chat.md) - The world's largest open-source prompt library for AI (★ 165,019)
- [transformers](/tools/huggingface-transformers.md) - 🤗 Transformers: the model-definition framework for state-of-the-art machine learning models (★ 162,347)
- [langflow](/tools/langflow-ai-langflow.md) - Langflow is a powerful platform for building and deploying AI-powered agents and workflows. (★ 151,298)
- [dify](/tools/langgenius-dify.md) - Production-ready platform for agentic workflow development (★ 148,070)

## README (excerpt)

```text
# Agency: The Go Way to AI

Library designed for developers eager to explore the potential of Large Language Models (LLMs) and other generative AI through a clean, effective, and Go-idiomatic approach.

**Welcome to the agency!** 🕵️‍♂️



## 💻 Quick Start

Install package:

```bash
go get github.com/neurocult/agency
```

Chat example:

```go
package main

import (
	"bufio"
	"context"
	"fmt"
	"os"

	_ "github.com/joho/godotenv/autoload"

	"github.com/neurocult/agency"
	"github.com/neurocult/agency/providers/openai"
)

func main() {
	assistant := openai.
		New(openai.Params{Key: os.Getenv("OPENAI_API_KEY")}).
		TextToText(openai.TextToTextParams{Model: "gpt-4o-mini"}).
		SetPrompt("You are helpful assistant.")

	messages := []agency.Message{}
	reader := bufio.NewReader(os.Stdin)
	ctx := context.Background()

	for {
		fmt.Print("User: ")

		text, err := reader.ReadString('\n')
		if err != nil {
			panic(err)
		}

		input := agency.NewTextMessage(agency.UserRole, text)
		answer, err := assistant.SetMessages(messages).Execute(ctx, input)
		if err != nil {
			panic(err)
		}

		fmt.Println("Assistant:", string(answer.Content()))

		messages = append(messages, input, answer)
	}
}
```

That's it!

See [examples](./examples/) to find out more complex usecases including RAGs and multimodal operations.

## 🚀 Features

✨ **Pure Go**: fast and lightweight, statically typed, no need to mess with Python or JavaScript

✨ Write **clean code** and follow **clean architecture** by separating business logic from concrete implementations

✨ Easily create **custom operations** by implementing simple interface

✨ **Compose operations** together into **processes** with the ability to observe each step via **interceptors**

✨ **OpenAI API bindings** (can be used for any openai-compatable API: text to text (completion), text to image, text to speech, speech to text



## 🤔 Why need Agency?

At the heart of Agency is the ambition to empower users to build autonomous agents. While **perfect for all range of generative AI applications**, from chat interfaces to complex data analysis, our library's ultimate goal is to simplify the creation of autonomous AI systems. Whether you're building individual assistant or coordinating agent swarms, Agency provides the tools and flexibility needed to bring these advanced concepts to life with ease and efficiency.

In the generative AI landscape, Go-based libraries are rare. The most notable is [LangChainGo](https://github.com/tmc/langchaingo), a Go port of the Python LangChain. However, translating Python to Go can be clunky and may not fit well with Go's idiomatic style. Plus, some question LangChain's design, even in Python. This situation reveals a clear need for an idiomatic Go alternative.

Our goal is to fill this gap with a Go-centric library that emphasizes clean, simple code and avoids unnecessary complexities. Agency is designed with a small, robust core, easy to extend and perfectly suited to Go's strengths in static typing and performance. It's our answer to the lack of Go-native solutions in generative AI.

## Tutorial

- [Part 1](https://dev.to/emil14/agency-the-go-way-to-ai-part-1-1lhe) ([Russian translation](https://habr.com/ru/sandbox/204508/))

## 🛣 Roadmap

In the next versions:

- [x] Support for external function calls
- [ ] Metadata (tokens used, audio duration, etc)
- [ ] More provider-adapters, not only openai
- [x] Image to text operations
- [ ] Powerful API for autonomous agents
- [ ] Tagging and JSON output parser
```

---

**Machine-readable endpoints**

- JSON: [`/api/graphcanon/tools/neurocult-agency`](/api/graphcanon/tools/neurocult-agency)
- LLM index: [/llms.txt](/llms.txt)
- Full corpus: [/llms-full.txt](/llms-full.txt)

_GraphCanon - The knowledge graph for AI development. https://www.graphcanon.com/_
