Integration Overview¶
The FCC Agent Team Framework provides 24 fully specified personas, each defined by a 10-component R.I.S.C.E.A.R. specification. These specifications are structured data -- YAML files loaded into Python dataclasses -- which makes them a natural fit for consumption by any agent orchestration framework.
This section shows you how to connect FCC personas to three popular agent frameworks: LangChain, CrewAI, and AutoGen. The pattern is the same in each case: load a persona from the FCC registry, extract its R.I.S.C.E.A.R. fields, and use those fields to configure an agent in the target framework.
Why Integrate FCC with Agent Frameworks?¶
FCC personas are not agents themselves. They are specifications -- detailed contracts describing what an agent should do, how it should behave, and how it interacts with other agents. Agent frameworks like LangChain, CrewAI, and AutoGen provide the runtime execution layer: tool use, memory management, inter-agent messaging, and LLM orchestration.
By combining FCC personas with an agent framework, you get:
- Rich persona definitions -- R.I.S.C.E.A.R. provides 10 components (Role, Input, Style, Constraints, Expected Output, Archetype, Responsibilities, Role Skills, Role Collaborators, Role Adoption Checklist) that translate directly into agent system prompts, goal descriptions, and behavioral constraints.
- Cross-reference awareness -- The 106-entry cross-reference matrix tells you which agents should communicate with which other agents, what they exchange, and whether the interaction is a handoff, feedback loop, coordination, governance check, or champion-of relationship.
- Quality gates -- FCC's 28 quality gates provide built-in validation criteria that agent frameworks can use as stopping conditions or evaluation rubrics.
- Reproducibility -- The deterministic simulation mode and trace format mean you can validate agent behavior against known-good baselines before deploying to production.
The Integration Pattern¶
Regardless of which framework you choose, the integration follows a three-step pattern.
Step 1: Load the Persona¶
from fcc._resources import get_personas_dir
from fcc.personas.registry import PersonaRegistry
registry = PersonaRegistry.from_yaml_directory(get_personas_dir())
persona = registry.get("RC") # Research Crafter
Step 2: Extract the R.I.S.C.E.A.R. Fields¶
Every PersonaSpec object carries a riscear attribute of type RISCEARSpec. This gives you structured access to all 10 components:
spec = persona.riscear
print(spec.role) # Narrative role description
print(spec.style) # Communication style
print(spec.archetype) # Behavioral archetype
print(spec.constraints) # List of behavioral constraints
print(spec.expected_output) # List of expected deliverables
print(spec.responsibilities) # List of duties
print(spec.role_skills) # List of required skills
For a complete system prompt, use the prompt builder:
from fcc.simulation.prompts import build_persona_system_prompt
system_prompt = build_persona_system_prompt(persona)
This function assembles all 10 R.I.S.C.E.A.R. components plus the Discernment Matrix, Design Target Factors, and Persona Dimensions into a structured system prompt.
Step 3: Configure the Agent¶
Map FCC fields to the target framework's agent configuration. The specific mapping depends on the framework:
| FCC Field | LangChain | CrewAI | AutoGen |
|---|---|---|---|
riscear.role |
System message | role |
system_message |
riscear.style |
System message | backstory |
system_message |
riscear.archetype |
System message | backstory |
system_message |
riscear.constraints |
System message | backstory |
system_message |
riscear.expected_output |
Output parser | expected_output |
system_message |
name |
Agent name | name |
name |
role_title |
Agent description | goal |
description |
Cross-Reference for Multi-Agent Orchestration¶
When building multi-agent systems, use the cross-reference matrix to determine communication topology:
from fcc.personas.cross_reference import CrossReferenceMatrix
from fcc._resources import get_personas_dir
matrix = CrossReferenceMatrix.from_yaml(get_personas_dir() / "cross_reference.yaml")
# Who does the Research Crafter hand off to?
for entry in matrix.downstream("RC"):
print(f"RC -> {entry.target_id}: {entry.interaction} ({entry.relationship_type})")
This data directly informs how you wire agents together in your framework's orchestration layer.
Available Integration Guides¶
| Guide | Framework | What You Learn |
|---|---|---|
| LangChain Integration | LangChain | Build LangChain agents from FCC personas, chain multiple personas |
| CrewAI Integration | CrewAI | Create CrewAI crews with FCC-defined roles, goals, and backstories |
| AutoGen Integration | AutoGen | Configure AutoGen conversable agents with FCC system messages |
Prerequisites¶
- Python 3.10+
- FCC Agent Team Extension installed (
pip install fcc-agent-team-ext) - The target framework installed (
pip install langchain,pip install crewai, orpip install pyautogen) - An API key for your LLM provider (OpenAI, Anthropic, etc.)
Related Resources¶
- R.I.S.C.E.A.R. Specification -- The full specification format
- Cross-Reference Matrix -- Persona interaction map
- Prompt Engineering Guide -- How FCC builds prompts from R.I.S.C.E.A.R.