eidolon-ai / eidolon

The first AI Agent Server, Eidolon is a pluggable Agent SDK and enterprise ready, deployment server for Agentic applications
https://www.eidolonai.com/
Apache License 2.0
286 stars 30 forks source link

[ feature ] Chain Agent #706

Open LukeLalor opened 2 months ago

LukeLalor commented 2 months ago

It is helpful to follow the "user story" method, but you don't have to. Delete anything you don't use to keep the issue tidy. (Like these instructions :smile:)

User Story

Acceptance Criteria

Proposed user experience

Chains can be implemented similarly to APUs. Use a standard list to chain agents and tools in sequence.

spec:
  chain: [ agent1, tool2, agent, tool4, ...]
LukeLalor commented 2 months ago

note, if an action allows for output format to be specified via request, this can use structured arbitrarily through the chain which would be very powerful

LukeLalor commented 2 months ago

It may be a different agent, but allowing chains to fork would also be powerful. IE, agent graphs

chain:
  - agent1
  - tool1
  - prompt: if the response "{{ output }}" does not satisfy xyz corporate policy, choose "rejection" option
    options:
      - name: rejection
        chain: [r_agent1, r_agent2]
      - name: acceptence
        chain: [a_agent1, a_agent2]

I retract this idea. Graphs are powerful, but we should just implement the fork as a separate agent. Then each piece is properly reusable and the system is much easier to use for devs.

LukeLalor commented 2 months ago

logic units and agents will both need to optionally specify which program / tool they want to use. When there is only one we can do this automatically, but when it is ambiguous we can use . notation.

agent1.programA

alternatively we can allow users to be explicit

{name: agent1, program: programA}

LukeLalor commented 2 months ago

note, if an action allows for output format to be specified via request, this can use structured arbitrarily through the chain which would be very powerful

Let's split this out into a separate issue.