This project is a template-based Multi-Agent Workflow Builder MVP. The outfit recommendation workflow is now one executable domain example, alongside presentation planning and customer support ticket routing examples.
The current semester scope is intentionally limited:
- Build working workflows across multiple domains.
- Define reusable Workflow Templates.
- Compose custom workflows in the Builder Workspace.
- Generate executable Workflow JSON from templates or workspace inputs.
- Show how the same idea maps to Flowise / Dify / Langflow style builders.
Existing tools such as Flowise, Dify, and Langflow already provide general workflow builders. This project does not try to replace them.
Our contribution is the domain-template workflow structure:
User Input
-> Question Node
-> Weather Tool Node
-> Shopping History Analysis Node
-> Recommendation Node
-> Compose Node
In Korean:
기존 Builder를 대체하는 것이 아니라,
개인화 추천 도메인에 필요한 Workflow Template을 정의하고
실행 가능한 MVP로 검증한다.
Run the stable desktop Sample Workflow:
run_desktop.cmdExample query:
다음 주에 칭다오 여행 가는데 캐주얼 옷 추천해줘
The app runs the 6-node workflow and returns:
- weather-based context
- shopping-history style analysis
- ranked outfit recommendations
- execution trace
Run the local Builder Prototype:
run_builder_app.cmdThe Builder Prototype supports:
- reusable node palette
- template selection
- Builder Workspace composition
- required-node validation
- Workflow JSON generation
- generated Workflow execution
- multiple domain workflow templates
Current templates:
configs/builder_templates/outfit_recommendation_template.json
configs/builder_templates/commute_outfit_template.json
configs/builder_templates/presentation_planning_template.json
configs/builder_templates/customer_support_ticket_template.json
If you do not want to inspect backend code, run the visual web page:
run_web.cmdThen open:
http://127.0.0.1:8000
The page shows:
- selected Workflow Template
- Builder Workspace for composing a custom workflow name and business domain
- Node Palette and sequential Workflow structure
- Builder mapping table
- generated Workflow JSON
- visual run result and execution trace
Run the comparison experiment:
tools\dev\run_harness_comparison.cmdThe experiment compares two construction paths for the same tasks:
- Generic Harness Engineering: manually define Agent roles, tools, context, constraints, verification, and execution order.
- Builder Workspace: select a business preset, name the Workflow, generate executable Workflow JSON, and run the same 6-step trace.
Outputs:
outputs/harness_comparison/harness_comparison_results.json
outputs/harness_comparison/harness_comparison_report_zh.md
outputs/harness_comparison/harness_comparison_report_kr.md
Open this directly in a browser:
workflow_builder_preview.html
This is a static visual explanation page for presentation. The runnable builder
is run_builder_app.cmd.
List available templates:
python builder_demo.py --list-templatesShow the default builder template:
python builder_demo.py --show-builderGenerate and run the travel/outfit template:
python builder_demo.py --run-generated "칭다오 다음 주 여행 캐주얼 옷 추천해줘" --user user_aGenerate and run the commute/work template:
python builder_demo.py --run-generated --builder-template configs\builder_templates\commute_outfit_template.json "서울 내일 출근 포멀 옷 추천해줘" --user user_bGenerate and run the presentation planning template:
python builder_demo.py --run-generated --builder-template configs\builder_templates\presentation_planning_template.jsonGenerate and run the customer support ticket template:
python builder_demo.py --run-generated --builder-template configs\builder_templates\customer_support_ticket_template.jsonRun project verification:
run_verify.cmdIf the allocated GPU server is still available, run one final stable baseline benchmark for the Local LLM Node evidence:
tools\gpu\run_final_base_benchmark.cmd
tools\gpu\download_final_base_benchmark.cmdThe downloaded files are stored locally under:
_local_artifacts\gpu_results\final_base_benchmark
This benchmark is evidence collection only. It is not required for normal demo
execution; the stable demo remains tools\gpu\run_gpu_replay_demo.cmd.
These folders document external builder validation paths:
external_tools/flowise_poc/
external_tools/dify_poc/
external_tools/langflow_poc/
Start Flowise PoC entry point:
external_tools\flowise_poc\run_flowise_poc.cmdStart Langflow PoC entry point:
external_tools\langflow_poc\run_langflow_poc.cmdCheck Dify requirement:
external_tools\dify_poc\run_dify_poc.cmdCurrent verified external-tool facts:
- Flowise npm package exists at version
3.1.2. - Langflow package index shows latest version
1.9.4. - Dify needs Docker / Docker Compose; Docker is not installed on this machine.
- Flowise local install/start was attempted but timed out because of its large dependency tree, so the stable demo remains the local Python Builder Prototype.
Run:
tools\dev\run_tests.cmdExpected result:
28 tests OK
.
|-- configs/
| |-- outfit_workflow.json
| |-- outfit_agent.json
| |-- flowise_poc_mapping.json
| `-- builder_templates/
| |-- outfit_recommendation_template.json
| |-- commute_outfit_template.json
| |-- presentation_planning_template.json
| `-- customer_support_ticket_template.json
|-- data/
| |-- shopping_history.json
| |-- user_profiles.json
| |-- presentation_knowledge.json
| `-- support_policy.json
|-- deliverables/
| |-- builder_tool_comparison_kr.md
| |-- competitor_positioning_kr.md
| |-- dataset_research_kr.md
| |-- external_builder_tool_verification_zh.md
| |-- final_acceptance_checklist_zh.md
| |-- mentor_requirement_alignment_zh.md
| |-- next_presentation_outline_kr.md
| |-- ppt_4_slides_builder_addon_kr.md
| |-- professor_answer_drill_kr.md
| `-- forms/
| `-- *.txt
|-- experiments/
| |-- harness_comparison.py
| `-- gpu_llm/
| |-- local_llm_api_server.py
| |-- run_local_llm_api_server.sh
| `-- smoke_local_llm_api.py
|-- external_tools/
| |-- flowise_poc/
| |-- dify_poc/
| `-- langflow_poc/
|-- src/
| |-- agent_builder/
| | |-- engine.py
| | |-- workflow.py
| | |-- template_builder.py
| | `-- shopping.py
| `-- weather_agent/
|-- tests/
|-- tools/
| |-- dev/
| | |-- run_tests.cmd
| | `-- run_harness_comparison.cmd
| `-- gpu/
| |-- upload_gpu_api_update.cmd
| |-- start_gpu_local_llm_api.cmd
| |-- open_gpu_local_llm_tunnel.cmd
| |-- verify_gpu_remote_node.cmd
| |-- run_local_llm_remote_demo.cmd
| `-- run_gpu_replay_demo.cmd
|-- _local_artifacts/ # ignored local packages, GPU outputs, temporary PPTs
|-- desktop_app.py
|-- builder_app.py
|-- web_app.py
|-- builder_demo.py
|-- verify_project.py
|-- workflow_builder_preview.html
|-- run_desktop.cmd
|-- run_builder_app.cmd
|-- run_verify.cmd
`-- run_web.cmd
- Sequential 6-node recommendation workflow
- Question Node for missing city/date/purpose/style
- Weather API integration
- simulated shopping history analysis
- ranked recommendation output
- optional Local LLM Node with mock, replay, and remote providers
- local desktop workflow run
- local template-based Builder Prototype
- four templates across recommendation, presentation planning, and support
- generated Workflow JSON execution
- Flowise / Dify / Langflow comparison and PoC entry points
- presentation and Q&A deliverables
Use replay mode for the stable GPU-related demo:
tools\gpu\run_gpu_replay_demo.cmdReplay mode reads a previously downloaded Qwen result JSON and appends it as a
Local LLM Node in the workflow trace. It does not require SSH, an open tunnel,
or a live GPU API process. The live remote API scripts remain available under
tools/gpu/, but they are experimental because they depend on remote process,
CUDA, tunnel, and port state.
The current MVP does not claim to be:
- a full production drag-and-drop Builder
- a complete commercial recommendation engine
- a real shopping-platform OAuth integration
- a local LLM training system
- an enterprise monitoring/admin system