Browse Source

Fix micro-agents schema bug (#1424)

* Fix micro agents definitions

* Add tests for micro agents

* Add to CI

* Revert "Add to CI"

This reverts commit 94f3b4e7c8408a1b0267f3847cbaefdcd995db05.

* Remove test artifacts for ManagerAgent

---------

Co-authored-by: Engel Nyst <enyst@users.noreply.github.com>
Boxuan Li 1 year ago
parent
commit
319b9ac0f3

+ 1 - 6
agenthub/micro/agent.py

@@ -56,14 +56,9 @@ class MicroAgent(Agent):
         super().__init__(llm)
         if 'name' not in self.agent_definition:
             raise ValueError('Agent definition must contain a name')
-        self.name = self.agent_definition['name']
-        self.description = self.agent_definition['description'] if 'description' in self.agent_definition else ''
-        self.inputs = self.agent_definition['inputs'] if 'inputs' in self.agent_definition else []
-        self.outputs = self.agent_definition['outputs'] if 'outputs' in self.agent_definition else []
-        self.examples = self.agent_definition['examples'] if 'examples' in self.agent_definition else []
         self.prompt_template = Environment(loader=BaseLoader).from_string(self.prompt)
         self.delegates = all_microagents.copy()
-        del self.delegates[self.name]
+        del self.delegates[self.agent_definition['name']]
 
     def step(self, state: State) -> Action:
         prompt = self.prompt_template.render(

+ 4 - 4
agenthub/micro/coder/agent.yaml

@@ -1,6 +1,6 @@
-name: Coder
+name: CoderAgent
 description: Given a particular task, and a detailed description of the codebase, accomplishes the task
 inputs:
-  - task: string
-  - codebase_summary: string
-outputs: []
+  task: string
+  codebase_summary: string
+outputs: {}

+ 2 - 1
agenthub/micro/manager/agent.yaml

@@ -1,5 +1,6 @@
-name: Manager
+name: ManagerAgent
 description: Delegates tasks to microagents based on their area of expertise
 generates: Action
 inputs:
   task: string
+outputs: {}

+ 7 - 7
agenthub/micro/math_agent/agent.yaml

@@ -7,19 +7,19 @@ inputs:
 outputs:
   answer: string
 examples:
-  - input:
+  - inputs:
       task: "What is 2 + 2?"
-    output:
+    outputs:
       answer: "4"
-  - input:
+  - inputs:
       task: "What is the area of a circle with radius 7.324 inches?"
     output:
       answer: "168.518 square inches"
-  - input:
+  - inputs:
       task: "What day of the week is 2099-01-01?"
-    output:
+    outputs:
       answer: "Saturday"
-  - input:
+  - inputs:
       task: "What is the integral of sin(x^2) evaluated from -1 to 1?"
-    output:
+    outputs:
       answer: "0.603848"

+ 2 - 2
agenthub/micro/postgres_agent/agent.yaml

@@ -2,5 +2,5 @@ name: PostgresAgent
 description: Writes and maintains PostgreSQL migrations
 generates: Action
 inputs:
-  - task: string
-outputs: []
+  task: string
+outputs: {}

+ 3 - 3
agenthub/micro/repo_explorer/agent.yaml

@@ -1,5 +1,5 @@
-name: RepoExplorer
+name: RepoExplorerAgent
 description: Generates a detailed summary of an existing codebase
-inputs: []
+inputs: {}
 outputs:
-  - summary: string
+  summary: string

+ 2 - 2
agenthub/micro/study_repo_for_task/agent.yaml

@@ -1,6 +1,6 @@
 name: StudyRepoForTaskAgent
 description: Given a particular task, finds and describes all relevant parts of the codebase
 inputs:
-  - task: string
+  task: string
 outputs:
-  - summary: string
+  summary: string

+ 4 - 4
agenthub/micro/verifier/agent.yaml

@@ -1,7 +1,7 @@
-name: Verifier
+name: VerifierAgent
 description: Given a particular task, verifies that the task has been completed
 inputs:
-  - task: string
+  task: string
 outputs:
-  - completed: boolean
-  - summary: string
+  completed: boolean
+  summary: string