# Create helper agent
search_toolkit = SearchToolkit()
search_tools = [
FunctionTool(search_toolkit.search_google),
FunctionTool(search_toolkit.search_duckduckgo),
]
researcher_model = ModelFactory.create(
model_platform=ModelPlatformType.OPENAI,
model_type=ModelType.GPT_4O,
)
researcher_agent = ChatAgent(
system_message=BaseMessage.make_assistant_message(
role_name="Researcher",
content="You are a researcher who does research on AI and Open"
"Sourced projects. You use web search to stay updated on the "
"latest innovations and trends.",
),
model=researcher_model,
tools=search_tools,
)
# Create venture capitalist judge
vc_persona = (
'You are a venture capitalist who is obsessed with how projects can '
'be scaled into "unicorn" companies. You peppers your speech with '
'buzzwords like "disruptive," "synergistic," and "market penetration."'
' You do not concerned with technical details or innovation unless '
'it directly impacts the business model.'
)
vc_example_feedback = (
'"Wow, this project is absolutely disruptive in the blockchain-enabled'
' marketplace! I can definitely see synergistic applications in the '
'FinTech ecosystem. The scalability is through the roof--this is '
'revolutionary!'
)
vc_criteria = textwrap.dedent(
"""\
### **Applicability to Real-World Usage (1-4 points)**
- **4**: The project directly addresses a significant real-world problem with a clear, scalable application.
- **3**: The solution is relevant to real-world challenges but requires more refinement for practical or widespread use.
- **2**: Some applicability to real-world issues, but the solution is not immediately practical or scalable.
- **1**: Little or no relevance to real-world problems, requiring substantial changes for practical use.
""" # noqa: E501
)
vc_agent = make_judge(
vc_persona,
vc_example_feedback,
vc_criteria,
)
# Create experience engineer judge
eng_persona = (
'You are an experienced engineer and a perfectionist. You are highly '
'detail-oriented and critical of any technical flaw, no matter how '
'small. He evaluates every project as though it were going into a '
'mission-critical system tomorrow, so his feedback is thorough but '
'often harsh.'
)
eng_example_feedback = (
'There are serious code inefficiencies in this project. The '
'architecture is unstable, and the memory management is suboptimal. '
'I expect near-perfect performance, but this solution barely functions'
' under stress tests. It has potential, but it is nowhere near '
'deployment-ready.'
)
eng_criteria = textwrap.dedent(
"""\
### **Technical Implementation (1-4 points)**
- **4**: Flawless technical execution with sophisticated design, efficient performance, and robust architecture.
- **3**: Strong technical implementation, though there may be areas for improvement or further development.
- **2**: The project works, but technical limitations or inefficiencies hinder its overall performance.
- **1**: Poor technical implementation with major issues in functionality, coding, or structure.
""" # noqa: E501
)
eng_agent = make_judge(
eng_persona,
eng_example_feedback,
eng_criteria,
)
# Create AI founder judge
founder_persona = (
'You are a well-known AI startup founder who is always looking for the'
' "next big thing" in AI. You value bold, inventive ideas and '
'prioritizes projects that break new ground over those that improve '
'existing systems.'
)
founder_example_feedback = (
'This is interesting, but I have seen similar approaches before. I am '
'looking for something that pushes boundaries and challenges norms. '
'What is the most revolutionary part of this project? Let us see what '
'is trending on Internet to make sure this is not already out there!'
)
founder_criteria = textwrap.dedent(
"""\
### **Innovation (1-4 points)**
- **4**: The project showcases a groundbreaking concept or a unique approach that significantly departs from existing methods.
- **3**: The project demonstrates a novel twist on known solutions or introduces some innovative aspects.
- **2**: Some level of innovation is present, but the project largely builds on existing ideas without major new contributions.
- **1**: Little or no innovation; the project is based on standard approaches with minimal creativity.
""" # noqa: E501
)
founder_agent = make_judge(
founder_persona,
founder_example_feedback,
founder_criteria,
)
# Create CAMEL contributor judge
contributor_persona = (
'You are a contributor to the CAMEL-AI project and is always excited '
'to see how people are using it. You are kind and optimistic, always '
'offering positive feedback, even for projects that are still rough '
'around the edges.'
)
contributor_example_feedback = (
'Oh, I love how you have implemented CAMEL-AI here! The use of its '
'adaptive learning capabilities is fantastic, and you have really '
'leveraged the contextual reasoning in a great way! Let me just pull '
'up the GitHub README to check if there is any more potential '
'optimizations.'
)
contributor_criteria = textwrap.dedent(
"""\
### **Use of CAMEL-AI (1-4 points)**
- **4**: Excellent integration of CAMEL-AI, fully leveraging its advanced features like in-context learning, adaptability, or multi-domain applications.
- **3**: Good use of CAMEL-AI, but there are opportunities to exploit more of its advanced capabilities.
- **2**: Limited use of CAMEL-AI, relying mostly on basic features without taking advantage of its full potential.
- **1**: CAMEL-AI integration is minimal or poorly implemented, adding little value to the project.
""" # noqa: E501
)
contributor_agent = make_judge(
contributor_persona,
contributor_example_feedback,
contributor_criteria,
)