Files
langflow/docs/versioned_docs/version-1.8.0/Components/bundles-cuga.mdx
Mendon Kissling b36444f5d9 docs: add versioning (#12218)
* fix: nightly now properly gets 1.9.0 branch (#12215)

before it was attempting to pull release-notes as letters are alphanumerically after numbers when we sort -V then grab tail
now we only look at branch names that follow the pattern '^release-[0-9]+\.[0-9]+\.[0-9]+$'

* docs: add search icon (#12216)

add-back-svg

* initial-content

* cut-1.8-release-and-include-next-version

* stage-1.8.0-and-next

---------

Co-authored-by: Adam-Aghili <149833988+Adam-Aghili@users.noreply.github.com>
2026-03-18 20:03:49 +00:00

96 lines
6.6 KiB
Plaintext

---
title: CUGA
slug: /bundles-cuga
---
import Icon from "@site/src/components/icon";
import PartialParams from '@site/docs/_partial-hidden-params.mdx';
<Icon name="Blocks" aria-hidden="true" /> [**Bundles**](/components-bundle-components) contain custom components that support specific third-party integrations with Langflow.
:::warning Model Provider Limitations
The **CUGA** component only supports **OpenAI** and **watsonx** models. To use other model providers, use the core [**Agent** component](/agents) instead.
:::
The **CUGA (ConfigUrable Generalist Agent)** component is an advanced AI agent that executes complex tasks using tools, optional browser automation, and structured output generation.
The **CUGA** component can be used in flows in place of an [**Agent** component](/agents).
Like the core **Agent** component, the **CUGA** component can use tools connected to its **Tools** port, and can be used as a tool itself.
It also includes some additional features:
* Browser automation for web scraping with [Playwright](https://playwright.dev/docs/intro).
To enable web scraping, set the component's `browser_enabled` parameter to `true`.
* Load custom instructions for the agent to execute.
To use this feature, use the component's **Instructions** input to attach markdown files containing agent instructions.
For more information, see the [CUGA project repository](https://github.com/cuga-project/cuga-agent).
## Use the CUGA component in a flow
For demonstration purposes, the following example modifies a template flow to use the **CUGA** component.
![A basic agent chat flow with Chat Input, CUGA, and Chat Output components, as well as various tool and file input.](/img/component-cuga.png)
1. Create a flow based on the **Simple Agent** template, and then replace the **Agent** component with the **CUGA** component.
2. Connect an [**MCP Tools** component](/mcp-client) and a [**Calculator** component](/calculator) to the **CUGA** component's **Tools** port, and then connect the **MCP Tools** component to any MCP server.
This example connects to a server containing sales data for a business organization.
3. Add a [**Read File** component](/read-file), and then connect it to the **CUGA** component's **Instructions** port.
Alternatively, click <Icon name="Scan" aria-hidden="true" /> **Edit text** to open the **Edit text content** pane, and enter your instructions directly into the **CUGA** component.
4. Create a Markdown file on your computer called `instructions.md`, and then insert the following content.
It's important to clearly format the document with `## Plan` and `## Answer` for the agent to understand your instructions.
```markdown
## Plan
- Break down complex queries into subtasks
- Prioritize information gathering before execution
- Consider dependencies between actions
- Validate intermediate results before proceeding
## Answer
- Provide concise summaries with key findings
- Include relevant data points and metrics
- Cite sources when using MCP tool results
- Use clear structure and formatting for readability
```
5. In the **Read File** component, click <Icon name="Plus" aria-hidden="true"/> **Add File**, and then attach your `instructions.md` file.
6. Open the **Playground**, and then ask the agent a question that could use your connected MCP server.
This example asked about the sales data provided by the MCP Server, such as `Which accounts are available?`.
The agent describes the tool calls it makes and then returns an answer according to the instructions.
For example, the list of available accounts is very large, but the **CUGA** component returns a concise summary as requested in the policy.
```
Based on the available data, here are the accounts:
Summit Solutions (NY) - Revenue: $1,200,000
Pacific Ventures (CA) - Revenue: $9,500,000
Lone Star Corp (TX) - Revenue: $4,500,000
Mountain Peak Systems (CO) - Revenue: $2,100,000
Digital Dynamics (CA) - Revenue: $5,500,000
Cascade Computing (WA) - Revenue: $4,300,000
Data Flow Systems (CA) - Revenue: $8,900,000
Rocky Mountain Enterprises (CO) - Revenue: $3,200,000
Blue Sky Partners (TX) - Revenue: $500,000
Liberty Manufacturing (PA) - Revenue: $3,400,000
This is a partial list; there are more accounts available. The total revenue across all accounts is $210,200,000.
```
## CUGA parameters
<PartialParams />
| Name | Type | Description |
|------|------|-------------|
| agent_llm | Dropdown | Model provider for the agent.|
| instructions | Multiline String | Custom instructions that define the agent's planning and answers. Can be provided directly or through Markdown files. Formatting is important in order for the agent to understand the instructions. See [Use the CUGA component in a flow](#use-the-cuga-component-in-a-flow). |
| n_messages | Integer | Number of chat history messages to retrieve. Useful for maintaining context in ongoing conversations identified by `session_id`. Default: `100`. |
| format_instructions | Multiline String | Template for structured output. |
| output_schema | Table | When `output_schema` is provided, structured responses are validated against a dynamically built schema. Invalid items are returned alongside validation errors. Fields: `name`, `description`, `type` (`str`, `int`, `float`, `bool`, `dict`), `multiple` (as list).|
| add_current_date_tool | Boolean | If true, adds a tool that returns the current date. Default: `true`. |
| lite_mode | Boolean | Set to `true` to enable CugaLite mode for faster execution when using a smaller number of tools. Default: `true`. |
| lite_mode_tool_threshold | Integer | The threshold to automatically enable CugaLite. If the CUGA component has fewer tools connected than this threshold, CugaLite is activated. Default: `25`. |
| shortlisting_tool_threshold | Integer | The threshold for tool shortlisting. When the total number of tools exceeds this threshold, the CUGA component enables its `find_tools` feature to filter tools down to a smaller subset before making tool selection decisions. This helps reduce token usage and improve performance when working with large numbers of tools. Default: `35`. |
| decomposition_strategy | Dropdown | Strategy for task decomposition. `flexible` allows multiple subtasks per app. `exact` enforces one subtask per app. Default: `flexible`. |
| browser_enabled | Boolean | Enable a built-in browser for web scraping and search. Allows the agent to use general web search in its responses. Disable (`false`) to restrict the agent to the context provided in the flow. Default: `false`. |