Upload README.md
Browse files
README.md
CHANGED
@@ -1,6 +1,17 @@
|
|
1 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
3 |
-
##
|
4 |
|
5 |
You are tasked with designing and implementing a **true multi-agent reasoning solution** (no fixed workflow) that, given partial or complete professional profile data, can autonomously determine whether a given person has changed jobs, identify their current company, assess if they fit a specific Ideal Customer Profile (ICP), and validate their business email.
|
6 |
|
@@ -8,7 +19,7 @@ The system should be capable of **dynamic orchestration**, where independent rea
|
|
8 |
|
9 |
**The challenge is not to hardcode rules or build a static pipeline, but to create agents that can intelligently reason about the data, decide what other agents or tools to invoke, and resolve ambiguous or incomplete inputs.**
|
10 |
|
11 |
-
##
|
12 |
|
13 |
### Core Capabilities
|
14 |
- **Autonomous Reasoning**: The system should be capable of making intelligent decisions on what data to fetch, how to interpret it, and when to request help from other agents.
|
@@ -22,41 +33,41 @@ The system should be capable of **dynamic orchestration**, where independent rea
|
|
22 |
- **Business Email Validation**: Identify the most probable business email if one exists.
|
23 |
- **Fault Tolerance**: Handle incomplete, noisy, or conflicting inputs.
|
24 |
|
25 |
-
##
|
26 |
|
27 |
### Multi-Agent System Design
|
28 |
Our solution implements a **LangGraph Supervisor** that orchestrates multiple specialized agents, each with autonomous reasoning capabilities:
|
29 |
|
30 |
-
####
|
31 |
- **Role**: Central orchestrator that decides which agents to invoke and when
|
32 |
- **Capability**: Dynamic workflow management based on data analysis needs
|
33 |
- **Intelligence**: Routes requests to appropriate agents based on current information state
|
34 |
|
35 |
-
####
|
36 |
- **Role**: Primary data gatherer using real-time web search
|
37 |
- **Tools**: Tavily search integration for current professional information
|
38 |
- **Autonomy**: Decides what search queries to run based on available data
|
39 |
- **Output**: Current company, title, and professional status
|
40 |
|
41 |
-
####
|
42 |
- **Role**: Determines employment transitions and company relationships
|
43 |
- **Intelligence**: Analyzes company relationships, mergers, acquisitions, rebranding
|
44 |
- **Reasoning**: Considers multiple factors beyond simple company name matching
|
45 |
- **Output**: Job change status with detailed reasoning
|
46 |
|
47 |
-
####
|
48 |
- **Role**: Evaluates fit against Ideal Customer Profile criteria
|
49 |
- **Flexibility**: Adapts to different ICP definitions dynamically
|
50 |
- **Analysis**: Considers role seniority, engineering focus, and leadership level
|
51 |
- **Output**: ICP match status with confidence level
|
52 |
|
53 |
-
####
|
54 |
- **Role**: Discovers and validates business email addresses
|
55 |
- **Intelligence**: Uses LLM to generate probable emails based on company research
|
56 |
- **Fallback**: Creates realistic email patterns when exact matches aren't found
|
57 |
- **Output**: Most probable business email with confidence metrics
|
58 |
|
59 |
-
###
|
60 |
The system doesn't follow a fixed pipeline. Instead:
|
61 |
|
62 |
1. **Initial Assessment**: Supervisor analyzes input data completeness
|
@@ -65,7 +76,7 @@ The system doesn't follow a fixed pipeline. Instead:
|
|
65 |
4. **Conflict Resolution**: Multiple agents collaborate to resolve discrepancies
|
66 |
5. **Final Synthesis**: Supervisor combines all findings into coherent output
|
67 |
|
68 |
-
##
|
69 |
|
70 |
### Technology Stack
|
71 |
- **LangGraph**: Multi-agent orchestration and workflow management
|
@@ -81,7 +92,7 @@ The system doesn't follow a fixed pipeline. Instead:
|
|
81 |
- **Error Handling**: Graceful fallbacks and fault tolerance
|
82 |
- **Extensible Architecture**: Easy to add new agents and capabilities
|
83 |
|
84 |
-
##
|
85 |
|
86 |
### Example 1: True Job Change
|
87 |
**Input:**
|
@@ -148,7 +159,7 @@ The system doesn't follow a fixed pipeline. Instead:
|
|
148 |
3. **ICP Assessor**: Confirms CTO role meets ICP criteria
|
149 |
4. **Email Finder**: Updates email to reflect new company domain
|
150 |
|
151 |
-
##
|
152 |
|
153 |
### 1. **Reasoning Quality**
|
154 |
- How well the system dynamically decides what to do next and why
|
@@ -170,7 +181,7 @@ The system doesn't follow a fixed pipeline. Instead:
|
|
170 |
- Ability to extend the system to other reasoning tasks without re-architecting
|
171 |
- **Our Solution**: Modular agent design with easy addition of new capabilities
|
172 |
|
173 |
-
##
|
174 |
|
175 |
### Prerequisites
|
176 |
- Python 3.10+
|
@@ -220,7 +231,7 @@ result = analyze_profile({
|
|
220 |
print(result.model_dump())
|
221 |
```
|
222 |
|
223 |
-
##
|
224 |
|
225 |
### Autonomous Decision Making
|
226 |
- **Data Prioritization**: Agents decide what information to gather first
|
@@ -237,7 +248,7 @@ print(result.model_dump())
|
|
237 |
- **Error Recovery**: Continues analysis even when individual agents fail
|
238 |
- **Confidence Metrics**: Provides reliability indicators for all outputs
|
239 |
|
240 |
-
##
|
241 |
|
242 |
### Planned Capabilities
|
243 |
- **Industry-Specific ICPs**: Specialized criteria for different sectors
|
@@ -250,7 +261,7 @@ print(result.model_dump())
|
|
250 |
- **Custom Tools**: Integration with additional data sources
|
251 |
- **Workflow Customization**: Configurable agent interaction patterns
|
252 |
|
253 |
-
##
|
254 |
|
255 |
### Current Capabilities
|
256 |
- **Response Time**: 30-60 seconds for complete analysis
|
@@ -264,7 +275,7 @@ print(result.model_dump())
|
|
264 |
- **Reasoning Traces**: Detailed explanation of agent decisions
|
265 |
- **Fallback Indicators**: When alternative methods were used
|
266 |
|
267 |
-
##
|
268 |
|
269 |
This system demonstrates advanced multi-agent reasoning capabilities. Contributions are welcome for:
|
270 |
|
@@ -273,7 +284,7 @@ This system demonstrates advanced multi-agent reasoning capabilities. Contributi
|
|
273 |
- **Performance Optimization**: Faster analysis and better accuracy
|
274 |
- **Documentation**: Improved usage examples and tutorials
|
275 |
|
276 |
-
##
|
277 |
|
278 |
This project is open source and available under the MIT License.
|
279 |
|
|
|
1 |
+
---
|
2 |
+
title: Multi-Agent Reasoning System for Job Change & ICP Detection
|
3 |
+
emoji: π€
|
4 |
+
colorFrom: blue
|
5 |
+
colorTo: purple
|
6 |
+
sdk: gradio
|
7 |
+
sdk_version: "4.44.0"
|
8 |
+
app_file: supervisor_agent.py
|
9 |
+
pinned: false
|
10 |
+
---
|
11 |
+
|
12 |
+
# Multi-Agent Reasoning System for Job Change & ICP Detection
|
13 |
|
14 |
+
## Problem Statement
|
15 |
|
16 |
You are tasked with designing and implementing a **true multi-agent reasoning solution** (no fixed workflow) that, given partial or complete professional profile data, can autonomously determine whether a given person has changed jobs, identify their current company, assess if they fit a specific Ideal Customer Profile (ICP), and validate their business email.
|
17 |
|
|
|
19 |
|
20 |
**The challenge is not to hardcode rules or build a static pipeline, but to create agents that can intelligently reason about the data, decide what other agents or tools to invoke, and resolve ambiguous or incomplete inputs.**
|
21 |
|
22 |
+
## Functional Requirements
|
23 |
|
24 |
### Core Capabilities
|
25 |
- **Autonomous Reasoning**: The system should be capable of making intelligent decisions on what data to fetch, how to interpret it, and when to request help from other agents.
|
|
|
33 |
- **Business Email Validation**: Identify the most probable business email if one exists.
|
34 |
- **Fault Tolerance**: Handle incomplete, noisy, or conflicting inputs.
|
35 |
|
36 |
+
## Solution Architecture
|
37 |
|
38 |
### Multi-Agent System Design
|
39 |
Our solution implements a **LangGraph Supervisor** that orchestrates multiple specialized agents, each with autonomous reasoning capabilities:
|
40 |
|
41 |
+
#### **Supervisor Agent**
|
42 |
- **Role**: Central orchestrator that decides which agents to invoke and when
|
43 |
- **Capability**: Dynamic workflow management based on data analysis needs
|
44 |
- **Intelligence**: Routes requests to appropriate agents based on current information state
|
45 |
|
46 |
+
#### **Profile Researcher Agent**
|
47 |
- **Role**: Primary data gatherer using real-time web search
|
48 |
- **Tools**: Tavily search integration for current professional information
|
49 |
- **Autonomy**: Decides what search queries to run based on available data
|
50 |
- **Output**: Current company, title, and professional status
|
51 |
|
52 |
+
#### **Job Change Analyst Agent**
|
53 |
- **Role**: Determines employment transitions and company relationships
|
54 |
- **Intelligence**: Analyzes company relationships, mergers, acquisitions, rebranding
|
55 |
- **Reasoning**: Considers multiple factors beyond simple company name matching
|
56 |
- **Output**: Job change status with detailed reasoning
|
57 |
|
58 |
+
#### **ICP Assessor Agent**
|
59 |
- **Role**: Evaluates fit against Ideal Customer Profile criteria
|
60 |
- **Flexibility**: Adapts to different ICP definitions dynamically
|
61 |
- **Analysis**: Considers role seniority, engineering focus, and leadership level
|
62 |
- **Output**: ICP match status with confidence level
|
63 |
|
64 |
+
#### **Email Finder Agent**
|
65 |
- **Role**: Discovers and validates business email addresses
|
66 |
- **Intelligence**: Uses LLM to generate probable emails based on company research
|
67 |
- **Fallback**: Creates realistic email patterns when exact matches aren't found
|
68 |
- **Output**: Most probable business email with confidence metrics
|
69 |
|
70 |
+
### Dynamic Orchestration
|
71 |
The system doesn't follow a fixed pipeline. Instead:
|
72 |
|
73 |
1. **Initial Assessment**: Supervisor analyzes input data completeness
|
|
|
76 |
4. **Conflict Resolution**: Multiple agents collaborate to resolve discrepancies
|
77 |
5. **Final Synthesis**: Supervisor combines all findings into coherent output
|
78 |
|
79 |
+
## Technical Implementation
|
80 |
|
81 |
### Technology Stack
|
82 |
- **LangGraph**: Multi-agent orchestration and workflow management
|
|
|
92 |
- **Error Handling**: Graceful fallbacks and fault tolerance
|
93 |
- **Extensible Architecture**: Easy to add new agents and capabilities
|
94 |
|
95 |
+
## Example Use Cases
|
96 |
|
97 |
### Example 1: True Job Change
|
98 |
**Input:**
|
|
|
159 |
3. **ICP Assessor**: Confirms CTO role meets ICP criteria
|
160 |
4. **Email Finder**: Updates email to reflect new company domain
|
161 |
|
162 |
+
## s Evaluation Criteria
|
163 |
|
164 |
### 1. **Reasoning Quality**
|
165 |
- How well the system dynamically decides what to do next and why
|
|
|
181 |
- Ability to extend the system to other reasoning tasks without re-architecting
|
182 |
- **Our Solution**: Modular agent design with easy addition of new capabilities
|
183 |
|
184 |
+
## Getting Started
|
185 |
|
186 |
### Prerequisites
|
187 |
- Python 3.10+
|
|
|
231 |
print(result.model_dump())
|
232 |
```
|
233 |
|
234 |
+
## System Capabilities
|
235 |
|
236 |
### Autonomous Decision Making
|
237 |
- **Data Prioritization**: Agents decide what information to gather first
|
|
|
248 |
- **Error Recovery**: Continues analysis even when individual agents fail
|
249 |
- **Confidence Metrics**: Provides reliability indicators for all outputs
|
250 |
|
251 |
+
## Future Enhancements
|
252 |
|
253 |
### Planned Capabilities
|
254 |
- **Industry-Specific ICPs**: Specialized criteria for different sectors
|
|
|
261 |
- **Custom Tools**: Integration with additional data sources
|
262 |
- **Workflow Customization**: Configurable agent interaction patterns
|
263 |
|
264 |
+
## Performance Metrics
|
265 |
|
266 |
### Current Capabilities
|
267 |
- **Response Time**: 30-60 seconds for complete analysis
|
|
|
275 |
- **Reasoning Traces**: Detailed explanation of agent decisions
|
276 |
- **Fallback Indicators**: When alternative methods were used
|
277 |
|
278 |
+
## Contributing
|
279 |
|
280 |
This system demonstrates advanced multi-agent reasoning capabilities. Contributions are welcome for:
|
281 |
|
|
|
284 |
- **Performance Optimization**: Faster analysis and better accuracy
|
285 |
- **Documentation**: Improved usage examples and tutorials
|
286 |
|
287 |
+
## License
|
288 |
|
289 |
This project is open source and available under the MIT License.
|
290 |
|