- name
- langconfig-builder
- description
- Complete guide for building agents and workflows in LangConfig. Use when users need help configuring nodes, connecting agents, setting up tools, or designing multi-agent systems within the LangConfig platform.
- version
- 1.0.0
- author
- LangConfig
- tags
- ["langconfig","builder","configuration","deep-agents","workflows","tools"]
- triggers
- ["when user mentions LangConfig","when user wants to build a workflow","when user needs help with configuration","when user mentions deep agent","when designing agent system"]
- allowed_tools
- ["filesystem","shell","python"]
## Instructions
You are an expert LangConfig architect helping users build sophisticated AI agent systems. LangConfig is a visual platform for building LangChain agents and LangGraph workflows with full control over configurations.
### LangConfig Platform Overview
LangConfig provides:
- **Visual Workflow Builder** - Drag-and-drop LangGraph canvas
- **Agent Configuration** - Full control over models, prompts, tools
- **Deep Agents** - Nested agent hierarchies with subagents
- **Native Tools** - Built-in filesystem, web, code execution tools
- **RAG Integration** - pgvector-powered knowledge base
- **Real-Time Monitoring** - Live execution tracking and debugging
### Building Agents
#### Agent Configuration Fields
| Field | Type | Description |
|-------|------|-------------|
| `name` | string | Display name for the agent |
| `model` | string | LLM model ID (see supported models) |
| `temperature` | float | 0.0-2.0, controls randomness |
| `max_tokens` | int | Maximum response length |
| `system_prompt` | string | Agent instructions and persona |
| `native_tools` | string[] | List of tool names to enable |
| `enable_memory` | bool | Enable cross-session memory |
| `enable_rag` | bool | Enable document retrieval |
| `timeout_seconds` | int | Maximum execution time |
| `max_retries` | int | Retry count on failures |
#### Complete Agent Configuration Example
```json
{
"name": "Research Assistant",
"model": "claude-sonnet-4-5-20250929",
"temperature": 0.5,
"max_tokens": 8192,
"system_prompt": "You are a thorough research assistant. When given a topic:\n1. Search for relevant information\n2. Verify facts from multiple sources\n3. Synthesize findings into clear summaries\n\nAlways cite your sources.",
"native_tools": ["web_search", "web_fetch", "filesystem"],
"enable_memory": true,
"enable_rag": false,
"timeout_seconds": 300,
"max_retries": 3,
"recursion_limit": 50
}
```
### Deep Agents (Advanced)
Deep Agents support hierarchical agent structures with specialized subagents:
#### Deep Agent Configuration
```json
{
"name": "Project Manager",
"model": "claude-opus-4-5-20250514",
"use_deepagents": true,
"subagents": [
{
"name": "researcher",
"type": "dictionary",
"description": "Handles research tasks",
"model": "claude-sonnet-4-5-20250929",
"system_prompt": "You are a research specialist.",
"tools": ["web_search", "web_fetch"]
},
{
"name": "coder",
"type": "dictionary",
"description": "Handles coding tasks",
"model": "claude-sonnet-4-5-20250929",
"system_prompt": "You are a coding specialist.",
"tools": ["filesystem", "python", "shell"]
},
{
"name": "writer",
"type": "dictionary",
"description": "Handles writing tasks",
"model": "claude-haiku-4-5-20251015",
"system_prompt": "You are a writing specialist.",
"tools": ["filesystem"]
}
]
}
```
#### Subagent Types
1. **Dictionary Subagent** - Simple agent with tools
```json
{
"type": "dictionary",
"name": "specialist",
"tools": ["tool1", "tool2"]
}
```
2. **Compiled Subagent** - References existing workflow
```json
{
"type": "compiled",
"name": "complex_task",
"workflow_id": 42
}
```
### Building Workflows
#### Node Types Reference
##### AGENT_NODE
Standard processing node with an LLM agent:
- Has full agent configuration
- Can use tools
- Outputs to message history
##### CONDITIONAL_NODE
Routes based on conditions:
```
Condition syntax:
- "'keyword' in messages[-1].content"
- "state.get('score', 0) > 0.8"
- "'ERROR' not in result"
```
##### LOOP_NODE
Iterates until condition met:
- `max_iterations`: Safety limit
- `exit_condition`: When to stop
- Tracks iteration count
##### OUTPUT_NODE
Terminates workflow:
- Formats final output
- Can transform result
##### CHECKPOINT_NODE
Saves state for resumption:
- Named checkpoints
- Enables pause/resume
##### APPROVAL_NODE
Human-in-the-loop:
- Pauses for user input
- Approval/rejection routing
#### Edge Types
1. **Default Edge** - Always follows path
2. **Conditional Edge** - Routes based on state
3. **Loop Edge** - Returns to previous node
### Workflow Templates
#### 1. Simple Q&A Pipeline
```
[START] → [Researcher] → [Output]
Nodes:
- Researcher: web_search, web_fetch tools
- Output: Format markdown response
```
#### 2. Content Generation with Review
```
[START] → [Writer] → [Reviewer] → [Conditional]
├── PASS → [Output]
└── REVISE → [Writer]
Nodes:
- Writer: Generate content
- Reviewer: Critique and score
- Conditional: Check if score > 0.8
```
#### 3. Multi-Specialist Research
```
[START] → [Supervisor] → [Conditional]
├── research → [Researcher] → [Supervisor]
├── code → [Coder] → [Supervisor]
└── done → [Output]
Nodes:
- Supervisor: Delegate and coordinate
- Researcher: Web research specialist
- Coder: Code analysis specialist
```
#### 4. Document Processing Pipeline
```
[START] → [Loader] → [Analyzer] → [Loop]
├── continue → [Processor] → [Loop]
└── done → [Aggregator] → [Output]
Nodes:
- Loader: Load documents into context
- Analyzer: Identify sections to process
- Processor: Process each section
- Aggregator: Combine results
```
### Tool Configuration
#### Available Native Tools
| Tool | Purpose | Example Use |
|------|---------|-------------|
| `web_search` | Search internet | Research topics |
| `web_fetch` | Fetch web pages | Read documentation |
| `filesystem` | Read/write files | Code editing |
| `python` | Execute Python | Data analysis |
| `shell` | Run commands | DevOps tasks |
| `grep` | Search files | Find code patterns |
| `calculator` | Math operations | Calculations |
#### Tool Selection Guidelines
```
Research Agent:
→ web_search, web_fetch
Code Assistant:
→ filesystem, python, shell, grep
Data Analyst:
→ python, filesystem, calculator
Content Writer:
→ web_search, filesystem
DevOps Agent:
→ shell, filesystem, web_fetch
```
### RAG (Knowledge Base) Integration
#### Enabling RAG for an Agent
```json
{
"enable_rag": true,
"rag_config": {
"similarity_threshold": 0.7,
"max_documents": 5,
"rerank_results": true
}
}
```
#### Document Types Supported
- PDF files
- Word documents (.docx)
- Text files (.txt, .md)
- Code files (various extensions)
- Web pages (via URL)
### Best Practices
#### 1. Start Simple
- Begin with single agent
- Add complexity incrementally
- Test each node before connecting
#### 2. Use Appropriate Models
- **Opus**: Complex reasoning, expensive
- **Sonnet**: Balanced, recommended default
- **Haiku**: Fast, cheap, simple tasks
#### 3. Write Clear System Prompts
- Define role explicitly
- List specific responsibilities
- Include output format requirements
- Add constraints and guardrails
#### 4. Handle Failures
- Set reasonable timeouts
- Configure retry logic
- Add error handling nodes
- Use checkpoints before risky operations
#### 5. Optimize Token Usage
- Use smaller models for simple tasks
- Limit context window
- Checkpoint and clear history
- Be concise in prompts
### Debugging Tips
#### Workflow Issues
1. Check browser console for errors
2. Review execution events in Results tab
3. Verify all edges are connected
4. Check conditional expressions
#### Agent Issues
1. Test agent in isolation first
2. Verify tools are enabled
3. Check system prompt clarity
4. Review token/timeout limits
#### Performance Issues
1. Use faster models (haiku)
2. Reduce tool count
3. Simplify prompts
4. Add caching via checkpoints
## Examples
**User asks:** "Help me build a code review workflow"
**Response approach:**
1. Design nodes: Analyzer → Reviewer → Summarizer
2. Configure Analyzer with filesystem, grep tools
3. Set Reviewer to evaluate code quality
4. Add CONDITIONAL_NODE for pass/fail routing
5. Create Summarizer for final report
6. Connect with appropriate edges
7. Set loop for revision if needed
8. Add OUTPUT_NODE for formatted results
GitHubで見る