Documentation Index
Fetch the complete documentation index at: https://docs.swarms.world/llms.txt
Use this file to discover all available pages before exploring further.
Overview
The Job Finding Swarm is an intelligent multi-agent system designed to automate and streamline the job search process using the Swarms framework. It leverages specialized AI agents to analyze user requirements, execute comprehensive job searches, and curate relevant opportunities, transforming traditional job hunting into an intelligent, collaborative process.Key Components
The Job Finding Swarm consists of three specialized agents, each responsible for a critical stage of the job search process:| Agent Name | Role | Responsibilities |
|---|---|---|
| Sarah-Requirements-Analyzer | Clarifies requirements | Gathers and analyzes user job preferences; generates 3-5 search queries. |
| David-Search-Executor | Runs job searches | Uses exa_search for each query; analyzes and categorizes job results by match strength. |
| Lisa-Results-Curator | Organizes results | Filters, prioritizes, and presents jobs; provides top picks and refines search with user input. |
Step 1: Setup and Installation
Prerequisites
| Requirement |
|---|
| Python 3.8 or higher |
| pip package manager |
- Install dependencies:
Use the following command to download all dependencies.
- Set up API Keys:
The
Property Research Agentutilizes theexa_searchtool, which requires anEXA_API_KEY. Create a.envfile in the root directory of your project (or wherever your application loads environment variables) and add your API keys:Replace"YOUR_EXA_API_KEY"&"OPENAI_API_KEY"with your actual API keys.
Step 2: Running the Job Finding Swarm
- Analyze the provided
user_requirements. - Generate and execute search queries using Exa.
- Curate and present the results in a structured format, including top recommendations and a prompt for user feedback.
Workflow Stages
TheJobSearchSwarm processes the job search through a continuous, iterative workflow:
- Phase 1: Analyze Requirements (
analyze_requirements): TheSarah-Requirements-Analyzeragent processes the user’s input and conversation history to extract job criteria and generate optimized search queries. - Phase 2: Execute Searches (
execute_searches): TheDavid-Search-Executoragent takes the generated queries, uses theexa_searchtool to find job listings, and analyzes their relevance against the user’s requirements. - Phase 3: Curate Results (
curate_results): TheLisa-Results-Curatoragent reviews, filters, and organizes the search results, presenting top recommendations and asking for user feedback to guide further iterations. - Phase 4: Get User Feedback (
end): In a full implementation, this stage gathers explicit user feedback to determine if the search needs refinement or can be concluded. For demonstration, this is a simulated step.
search_concluded flag is set to True or max_loops is reached.
Customization
You can customize theJobSearchSwarm by modifying the JobSearchSwarm class parameters or the agents’ prompts:
nameanddescription: Customize the swarm’s identity.user_name: Define the name of the user interacting with the swarm.output_type: Specify the desired output format for the conversation history (e.g., “json” or “list”).max_loops: Control the number of internal reasoning iterations each agent performs (set during agent initialization).system_prompt: Modify theREQUIREMENTS_ANALYZER_PROMPT,SEARCH_EXECUTOR_PROMPT, andRESULTS_CURATOR_PROMPTto refine agent behavior and output.max_loops: Limit the total number of search cycles the swarm performs.
Best Practices
To get the most out of the AI Job Finding Swarm:- Provide Clear Requirements: Start with a detailed and unambiguous
initial_user_inputto help the Requirements Analyzer generate effective queries. - Iterate and Refine: In a live application, leverage the user feedback loop to continuously refine search criteria and improve result relevance.
- Monitor Agent Outputs: Regularly review the outputs from each agent to ensure they are performing as expected and to identify areas for prompt improvement.
- Manage API Usage: Be mindful of your Exa API key usage, especially when experimenting with
max_loopsor a large number of search queries.
Limitations
- Prompt Engineering Dependency: The quality of the search results heavily depends on the clarity and effectiveness of the agent
system_prompts and the initial user input. - Exa Search Scope: The
exa_searchtool’s effectiveness is tied to the breadth and depth of Exa’s indexed web content. - Iteration Control: The current
endmethod inexamples/demos/apps/job_finding.pyis simplified for demonstration. A robust production system would require a more sophisticated user interaction mechanism to determine when to stop or refine the search. - Verification Needed: All AI-generated outputs, including job matches and summaries, should be independently verified by the user.