Agent Configuration UI
Relevant source files
The following files were used as context for generating this wiki page:
The Agent Configuration UI is a comprehensive suite of interfaces within the Flow platform dedicated to creating, managing, and optimizing autonomous agents. It encompasses the entire lifecycle of an agent, from initial "vibe coding" and template selection to advanced configuration of preferences, autonomous self-improvement parameters, and skill authoring.
This system ensures that agents are highly customizable and observable. It manages the Agent Genome, which is a versioned snapshot of an agent's configuration, including its system prompt, LLM settings, enabled tools, and learned skills. Every change in the UI typically triggers a version update, allowing for safe rollbacks and A/B testing between different configurations.
Sources: README.md:12-25, README.md:92-106
Agent Creation & Template System
The creation flow is designed as a multi-step wizard that guides users through choosing a template, configuring identity, and selecting tools. Users can either pick from pre-defined specialized templates or use a "Vibe Code" feature to generate a configuration based on a natural language description.
Template Definitions
The system utilizes specific graph templates that dictate the internal logic of the agent's LangGraph pipeline.
| Template | Icon | Description | Default Tools |
|---|---|---|---|
| Second Brain | BookOpen | Answers questions using personal documents and PDFs. | retrieve, long_term_memory |
| Web Researcher | Search | Searches the live web and fetches pages for up-to-date data. | tavily_search, fetch_webpage |
| Paper Synthesizer | Newspaper | Fetches ArXiv and HuggingFace papers to synthesize insights. | fetch_webpage, arxiv_search, hf_papers |
| Code Runner | Code2 | Executes Python code in a sandbox to solve problems. | sandbox |
Sources: apps/web/src/app/(app)/agents/new/page.tsx:32-88
Vibe Coding Logic
The "Vibe Code" feature uses a specialized API endpoint to transform a user's description into a structured AgentConfig.
Preference & Autonomous Mode Management
Once an agent is created, its behavior is fine-tuned through preferences and autonomous improvement settings. The configuration page is split into two primary functional areas: Preferences and Autonomous Mode.
Preference Facets
Agent preferences are organized into facet classes that control different aspects of agent behavior:
- Style: Communication tone and formatting.
- Tooling: Constraints on tool usage.
- Goal/Domain/Channel: Contextual targeting and delivery preferences.
Sources: apps/web/src/app/(app)/agents/[id]/config/page.tsx:10-12
Autonomous Mode Configuration
This module manages the agent's ability to self-improve without manual intervention. It utilizes failing items from "Golden Sets" to trigger prompt rewrites.
| Parameter | Type | Description |
|---|---|---|
auto_improve_threshold | float | Minimum rewrite confidence (0-1) required for auto-promotion to ACTIVE. |
auto_improve_rollback_delta | float | Maximum allowed score drop in safety evals before auto-rollback occurs. |
Sources: apps/web/src/app/(app)/agents/[id]/config/page.tsx:21-125
Skill Authoring and Versioning
Skills are modular instruction sets that agents apply when specific "triggers" are detected in user input. The UI provides a dedicated editor and versioning interface for these modules.
Skill MD Format
Skills are authored in a specialized Markdown format that includes a YAML frontmatter block for metadata.
---
name: my-skill
description: When and how to apply this skill
version: "1.0"
allowed-tools: retrieve, sandbox
triggers:
- "example trigger phrase"
---
# Instructions
...
Sources: apps/web/src/components/agents/SkillEditor.tsx:10-30
Skill Management Features
The Skill UI supports several advanced operations:
- Improvement Proposals: Users can trigger an "Improve" action which analyzes failure patterns and proposes a better version of the skill.
- Version Activation: A history of skill versions is maintained, allowing users to switch between different iterations of the same skill.
- Deactivation: Skills can be deactivated, removing them from the agent's available toolset without deleting the history.
Sources: apps/web/src/app/(app)/agents/[id]/skills/page.tsx:114-160
Versioning & The Agent Genome
Every significant configuration change is captured as a version in the Agent Genome. This is primarily managed through the Agent Detail Drawer, which provides an observability layer over the agent's history.
Genome Lifecycle
- Candidate: A new version created via manual snapshot or automated prompt rewriting.
- Active: The version currently serving requests.
- Archived: Previous versions kept for historical reference and diffing.
Sources: README.md:104-106, apps/web/src/components/agents/AgentDetailDrawer.tsx:102-110
Version Comparison (Diffing)
The UI allows users to compare two versions of an agent's configuration to see exactly what changed in the system prompt, tools, or model settings.
Summary
The Agent Configuration UI provides the necessary tools for both manual and autonomous optimization of agents. By combining structured templates, versioned "genomes," and an integrated skill editor, it allows developers to build agents that are not only functional but also capable of self-correction and continuous improvement based on performance data.
Sources: README.md:122-136