Movatterモバイル変換


[0]ホーム

URL:


Emin Vergil
Blogging about .NET, cloud, and microservices
BlogAbout
Published on
🍵 4 min read

Building a Multi-Agent Team for Job Search with PhiData

Authors

Photo

Overview

Introduction

In my previouspost, I covered how to build a simple agent using the Phidata framework. This time, we’ll take it a step further and create amulti-agent team using Phidata.

The job search agent in this tutorial is just for demonstration purposes. It’s not intended for real-world job applications, so use it cautiously.

What We’re Building

In this tutorial, we’ll create ajob search agent that collaborates with two specialized agents:

  1. HackerNews Researcher Agent – Finds top stories and discussions about tech hiring and relevant companies on Hacker News.
  2. Web Search Agent – Searches the web (via DuckDuckGo) for job listings that match the candidate’s profile.

We’ll be usingGemini as our AI model. You can get an API key fromGoogle AI Studio.

We'll also give the agentcandidate details to help find the best job matches.


Agents

HackerNews Researcher Agent

hn_researcher= Agent(    name="HN Researcher",    role="Finds top stories and discussions related to tech hiring and relevant companies on Hacker News.",    tools=[HackerNews()],    model=gemini_model)

Web Searcher Agent

web_searcher= Agent(    name="Web Searcher",    role="Searches the web (DuckDuckGo) for job listings matching the candidate’s profile.",    tools=[DuckDuckGo()],    model=gemini_model,    add_datetime_to_instructions=True,)

Job Search Team

jb_team= Agent(    name="Job Team",    team=[hn_researcher, web_searcher],    instructions=["Find remote job postings for the candidate.","HN Researcher: Provide context, recent trends, and company insights.","Web Searcher: Find job postings and URLs that match the candidate's skills and location.","Present the results as a simple list of job links with company names."],    show_tool_calls=True,    model=gemini_model,    markdown=True,)

Example Response

saga

Full Code

from phi.agentimport Agentfrom phi.tools.hackernewsimport HackerNewsfrom phi.tools.duckduckgoimport DuckDuckGofrom phi.tools.newspaper4kimport Newspaper4kfrom phi.model.googleimport Geminigemini_model= Gemini(api_key="")hn_researcher= Agent(    name="HN Researcher",    role="Finds top stories and discussions related to tech hiring and relevant companies on Hacker News.",    tools=[HackerNews()],    model=gemini_model)web_searcher= Agent(    name="Web Searcher",    role="Searches the web (DuckDuckGo) for job listings matching the candidate’s profile.",    tools=[DuckDuckGo()],    model=gemini_model,    add_datetime_to_instructions=True,)jb_team= Agent(    name="Job Team",    team=[hn_researcher, web_searcher],    instructions=["Find remote job postings for the candidate.","HN Researcher: Provide context, recent trends, and company insights.","Web Searcher: Find job postings and URLs that match the candidate's skills and location.","Present the results as a simple list of job links with company names."],    show_tool_calls=True,    model=gemini_model,    markdown=True,)# Candidate details (to be filled in)candidate_info=""location=""experience_level=""# Run the agent teamjb_team.print_response(f"""**Job Search Task:****Candidate Profile:**{candidate_info}**Location:**{location}**Experience Level:**{experience_level}**Instructions to the Team:** Find relevant remote job postings and present the results as a list of job links and company names.""",    stream=True)

You can also check similar posts about phidata:

Frequently Asked Questions

Banner Background

Emin Vergil

Software Engineer

I'm a curious and passionate person who likes building new things, learning new technologies, and sharing knowledge with others.

Subscribe to get future posts via email (or grab the RSS feed)

[8]ページ先頭

©2009-2025 Movatter.jp