← Back to Pipeline ex

USE CASES 2

Documentation for USE_CASES_2 from the Pipeline ex repository.

You’re still manually running scripts when you should have agents automatically generating and running pipelines on demand. Here’s the clear path:

The Disconnect

Currently:

Manual process

mix pipeline.generate “Create data validation pipeline” mix pipeline.run evolved_pipelines/data_validation_123.yaml

What you want:

Agent automatically does this

Agent.handle_request(“I need to validate this data”)

-> Generates pipeline, runs it, returns results

Easy Path: Build Your Agent Framework

Step 1: Agent Wrapper (30 minutes)

defmodule PipelineAgent do def handle_request(user_request) do # Generate pipeline automatically {:ok, pipeline_path} = generate_pipeline(user_request)

  # Run it immediately
  {:ok, results} = run_pipeline(pipeline_path)

  # Return results to user
  format_results(results)
end

defp generate_pipeline(request) do
  # Your existing generator, but programmatic
  Mix.Tasks.Pipeline.Generate.run([request])
end

end

Step 2: Web API (1 hour)

Phoenix controller

defmodule PipelineWeb.AgentController do def chat(conn, %{“message” => user_request}) do result = PipelineAgent.handle_request(user_request) json(conn, %{response: result}) end end

Step 3: Simple Frontend (1 hour)

<!-- Single page chat interface -->
<div id="chat">
  <input id="request" placeholder="I need to analyze log files...">
  <button onclick="sendRequest()">Generate & Run Pipeline</button>
  <div id="results"></div>
</div>

The Real Vision: Pipeline-Generating Agents

Instead of users running commands, they talk to specialized agents:

Data Agent

DataAgent.chat(“I have messy CSV files that need cleaning”)

-> Generates data cleaning pipeline, runs it, returns clean data

DevOps Agent

DevOpsAgent.chat(“Deploy this app with monitoring”)

-> Generates deployment pipeline, executes it, returns status

Analysis Agent

AnalysisAgent.chat(“Find patterns in user behavior data”)

-> Generates analysis pipeline, runs it, returns insights

Immediate Next Steps (This Weekend)

  1. Extract the generation logic from Mix.Tasks into a regular module
  2. Add a simple HTTP endpoint that takes requests and returns results
  3. Create a basic chat interface
  4. Test with real requests like “analyze my git commits”

The beauty is you already have the hard parts (pipeline generation, execution, DNA evolution). You just need to wrap it in an agent interface so users can talk to it instead of running commands.

Start with Step 1 - make PipelineAgent.handle_request/1 work programmatically. Everything else builds from there.