{"id":24053011,"url":"https://github.com/agiflow/repo-upgrade","last_synced_at":"2025-04-22T17:10:25.461Z","repository":{"id":250096461,"uuid":"831923524","full_name":"AgiFlow/repo-upgrade","owner":"AgiFlow","description":"Dependencies Upgrade with multi-agents (CrewAI \u0026 Langgraph)","archived":false,"fork":false,"pushed_at":"2024-09-09T12:26:55.000Z","size":1250,"stargazers_count":9,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-29T17:11:08.514Z","etag":null,"topics":["agentic-workflow","crewai","langgraph","llmops","multiagent"],"latest_commit_sha":null,"homepage":"https://agiflow.io","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AgiFlow.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-22T01:53:32.000Z","updated_at":"2025-01-02T21:56:13.000Z","dependencies_parsed_at":"2024-08-03T05:29:41.901Z","dependency_job_id":null,"html_url":"https://github.com/AgiFlow/repo-upgrade","commit_stats":null,"previous_names":["agiflow/repo-upgrade"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AgiFlow%2Frepo-upgrade","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AgiFlow%2Frepo-upgrade/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AgiFlow%2Frepo-upgrade/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AgiFlow%2Frepo-upgrade/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AgiFlow","download_url":"https://codeload.github.com/AgiFlow/repo-upgrade/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250285696,"owners_count":21405297,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agentic-workflow","crewai","langgraph","llmops","multiagent"],"created_at":"2025-01-09T02:21:38.046Z","updated_at":"2025-04-22T17:10:25.427Z","avatar_url":"https://github.com/AgiFlow.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Repo Upgrade\n\nThis project demonstrates a unique approach for you to adopt Multi-agents to solve automation tasks. We'll start with blackbox, autonomous multi-agents with CrewAI to autotomate Python repo dependencies upgrade, then explore different methods to optimise the cost and performance using different architecture including Langgraph.  \n\n[Discord](https://discord.gg/vejg6tkBUu) | [Newsletter](https://mailchi.mp/agiflow/agiflow-sub) | [Observability](https://github.com/AgiFlow/agiflow-sdks)\n\n## Videos\n\n### Part 1: CrewAI\n[\u003cimg src=\"./part_1.png\"\u003e](https://youtu.be/hvcd8Xjpd7A)\n\n### Part 2: Langgraph\n[\u003cimg src=\"./part_2.png\"\u003e](https://youtu.be/_k82vx4qaLo)\n\n## Introduction\nTo create a robust automation pipeline, we rarely achieve that with single try. If you are a subject matter expert, my recommendation is to start with Workflow and add LLM into the loop to address specific edge cases which takes lots of time to engineer.  \n\nAnother approach if you have a vague idea is to started with autonomous agents. With this scenario, we let the agents do exploration, then instrument what they do to extract the optimal workflow. Finally, use a different architecture to capture that workflow to optimise cost and performance.  \n\nThis repo provide you an example on how to use second approach. We will create multi-agents workflow to automate dependencies upgrade in python project as follow:  \n- Check dependency changelog and get relevant information\n- Analyse change to create backlog stories\n- Based on story, attempt to upgrade dependencies\n- If autonomous upgrade fail, assign developer to work on it\n\n## Installation\n\nTo get started, follow these steps:\n\n1. Clone the repository:\n```sh\ngit clone https://github.com/AgiFlow/repo-upgrade\ncd repo-upgrade\n```\n\n2. Install dependencies:\n```sh\npoetry install\n```\n\nThis repo use playwright to craw web page. If you haven't install it, use below commands:  \n\n``` sh\npip install pytest-playwright\nplaywright install\n```\n\n3. Configure environment:\n```sh\ncp .env.example .env\n```\n\nTo connect with AGIFlow, set `AGIFLOW_API_KEY` with the api_key acquired from control plane via our development server, or sign-up with [AGIFLow's controlplane](https://app.agiflow.io) and get the keys..  \nNOTE: You can run AGIFlow development via our open source repository\n\n``` sh\ngit clone https://github.com/AgiFlow/agiflow-sdks\ncd agiflow-sdks\ncd dockers/dev\ndocker-compose up\n```\nWith docker-compose setup, set additional environment variable  `AGIFLOW_BASE_URL=https://localhost:3000/api/dataplane`.\n\n## Usage\n\nWe want to observe and run automation in sequence to see the difference.\n\n1. CrewAI (hierarchical)\nCrewAI hierarchical process is more autonomous, with Product Manager agent plan and delegate tasks to Developer Agent.  \n\n```sh\npoetry run crewai-hierarchical\n```\n\n2. CrewAI (sequential)\nCrewAI sequential is more predictable, we want Agent to complete its task and pass result to the next agent liked Manufactoring process.  \n\n```sh\npoetry run crewai-sequential\n```\n\n3. Langgraph\nWe remove ReAct prompt from agent to make the output more predictable; aiming for 6-llm calls only.  \n\n```sh\npoetry run langgraph\n```\n\n4. Langgraph Optimised\nOptimise prompt context by removing intermediate messages from one agent to another.  \n\n```sh\npoetry run langgraph_ops\n```\n\n## License\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for more details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagiflow%2Frepo-upgrade","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fagiflow%2Frepo-upgrade","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagiflow%2Frepo-upgrade/lists"}