Skip to content
Back to skills

Future House Aviary Aviary Agent Gym

ASecurity

Aviary is FutureHouse's open-source gymnasium for defining and benchmarking LLM agents on scientific tasks (math, multi-hop QA, biological sequences, scientific literature search, Jupyter notebooks). Use when the user wants to evaluate an LLM agent on standardized scientific environments, build custom RL-style environments for agent training, or reproduce results from the Aviary paper.

  • 3 stars
  • 0 votes
  • 0 copies
  • 4 views
  • Added September 11, 2026
ai-agentspythongobashgitapi

Works with

  • api

Security analysis

A96/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro shows the line behind each finding and how to fix it

Scanned September 11, 2026

npx -y skills add qhjqhj00/research-skills-pool --skill Future-House--aviary--aviary-agent-gym --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Future House Aviary Aviary Agent Gym?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Future House  Aviary  Aviary Agent Gym
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/qhjqhj00-future-house-aviary-aviary-agent-gym/badge)](https://www.skillsdirectory.com/skills/qhjqhj00-future-house-aviary-aviary-agent-gym)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: aviary-agent-gym
description: Aviary is FutureHouse's open-source gymnasium for defining and benchmarking LLM agents on scientific tasks (math, multi-hop QA, biological sequences, scientific literature search, Jupyter notebooks). Use when the user wants to evaluate an LLM agent on standardized scientific environments, build custom RL-style environments for agent training, or reproduce results from the Aviary paper.
metadata:
  skill-author: Compiled from FutureHouse aviary (Apache-2.0)
  upstream: https://github.com/Future-House/aviary
---

# Aviary — Language-Agent Gymnasium for Scientific Tasks

Aviary is a gym (in the OpenAI-Gym sense) for LLM agents. It defines five drop-in scientific environments and a clean Python API for adding your own. Pair it with the sister library [LDP](https://github.com/Future-House/ldp) to actually run / train agents against the environments.

Reference: [arXiv:2412.21154](https://arxiv.org/abs/2412.21154) ("Aviary: Training Language Agents on Challenging Scientific Tasks").

## Built-in environments

| Env | Task |
|---|---|
| `gsm8k` | Grade-school math word problems |
| `hotpotqa` | Multi-hop general-knowledge QA |
| `labbench` | Biological sequence reasoning (LAB-Bench tasks) |
| `lfrqa` | Scientific literature search QA (LitQA-style) |
| `notebook` | Run / inspect a Jupyter notebook |

## Install

```bash
pip install fhaviary                                       # core only
pip install 'fhaviary[gsm8k,hotpotqa,labbench,lfrqa,notebook]'  # with envs
pip install 'fhaviary[dev]'                                # +tutorials
```

Python 3.11–3.13. License Apache-2.0.

## Quickstart — define a custom environment

```python
from collections import namedtuple
from aviary.core import Environment, Message, ToolRequestMessage, Tool

CounterState = namedtuple("CounterState", ["count"])

class CounterEnv(Environment[CounterState]):
    """Agent must increment a counter to 10."""
    async def reset(self):
        self.state = CounterState(count=0)
        self.target = 10
        self.tools = [Tool.from_function(self.incr), Tool.from_function(self.decr)]
        return [Message(content=f"Count to 10. counter={self.state.count}")], self.tools

    async def step(self, action: ToolRequestMessage):
        obs = await self.exec_tool_calls(action)
        reward = int(self.state.count == self.target)
        return obs, reward, reward == 1, False

    def incr(self): self.state = CounterState(self.state.count + 1); return f"counter={self.state.count}"
    def decr(self): self.state = CounterState(self.state.count - 1); return f"counter={self.state.count}"
```

## Run a built-in env with a simple agent

```python
import asyncio
from aviary.envs.gsm8k import GSM8KDatasetEnv
from ldp.agent import SimpleAgent
from ldp.alg import RolloutManager

async def main():
    env = GSM8KDatasetEnv()
    agent = SimpleAgent()                # uses default OpenAI model
    rollouts = RolloutManager(agent, env)
    trajectories = await rollouts.sample_trajectories(num=10)
    accuracy = sum(t.steps[-1].reward for t in trajectories) / len(trajectories)
    print(f"Accuracy: {accuracy:.1%}")

asyncio.run(main())
```

## Common recipes

### Evaluate a custom agent on LFRQA (scientific literature)
Useful for benchmarking your own retrieval-augmented agent against PaperQA-style baselines.

### Build a Jupyter-notebook environment
The `aviary/notebook` env lets you wrap arbitrary Jupyter workflows as a gym task. This is the foundation under FutureHouse's `finch` agent.

### Plug into RL training
Aviary environments expose `reset / step / reward / done` like Gym, so they drop into any RL framework. FutureHouse's [ldp](https://github.com/Future-House/ldp) is the canonical companion; `trl` (Hugging Face) also works.

## Demo-friendly first call

```python
import asyncio
from aviary.envs.gsm8k import GSM8KDatasetEnv

async def demo():
    env = GSM8KDatasetEnv()
    obs, tools = await env.reset()
    print("Observation:", obs[0].content[:300])
    print("Tools available:", [t.info.name for t in tools])

asyncio.run(demo())
```

## When to use Aviary

| Use case | Pick |
|---|---|
| Benchmark a research agent on standard scientific tasks | **Aviary** (this skill) |
| Train an LLM agent with RL on custom science tasks | Aviary + LDP |
| Just want answers from an agent (not training) | Crow / Falcon / paper-qa |

## Caveats

- Aviary is a *framework* not a *product* — it expects you to bring an agent and an evaluation goal.
- Some envs (`labbench`, `lfrqa`) require dataset downloads on first use.
- For full reproduction of the paper's training results, you also need LDP and significant GPU compute.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.