|
1 | 1 | --- |
2 | 2 | working-groups: |
| 3 | + - title: "Agentic Foundation and LangChain4j Next" |
| 4 | + board-url: "https://github.com/orgs/quarkiverse/projects/9" |
| 5 | + short-description: | |
| 6 | + This working group will explore and define the foundation of the next generation of AI-Infused and Agentic applications built with LangChain4j and Quarkus LangChain4j. The group will investigate core changes to the current programming model, improve dev exp, build stronger interoperability. |
| 7 | + readme: | |
| 8 | + <h3>1. Summary</h3> |
| 9 | + <p>This working group will explore and define the foundation of the next generation of <strong>AI-Infused</strong> and <strong>Agentic applications</strong> built with LangChain4j and Quarkus LangChain4j. The group will investigate core changes to the current programming model, improve developer experience, build stronger interoperability mechanisms (especially around A2A), and define architectural separation of responsibilities (e.g., executor vs planner). The output will serve as the foundation for building resilient, scalable, and extensible AI-infused and agent systems on the Quarkus platform.</p> |
| 10 | + <h3>2. Motivation</h3> |
| 11 | + <p>While LangChain4j and Quarkus LangChain4j already provide strong foundations, building real-world agentic applications has revealed several pain points and architectural limitations. These range from ergonomic and modeling issues to missing runtime support for observability, visualization, memory management, and resilience.</p> |
| 12 | + <p>This WG aims to:</p> |
| 13 | + <ul> |
| 14 | + <li>streamline the developer experience,</li> |
| 15 | + <li>improve core primitives (invocations, workflows, A2A),</li> |
| 16 | + <li>enable pluggable planning <em>engines</em> (like the built-in workflow constructs, supervisor…),</li> |
| 17 | + <li>strengthen memory and context engineering support,</li> |
| 18 | + <li>and provide around cost, observability, and correctness features</li> |
| 19 | + </ul> |
| 20 | + <h3>3. Scope</h3> |
| 21 | + <p>This working group will cover the following areas:</p> |
| 22 | + <p><strong>Developer Model Simplification</strong></p> |
| 23 | + <ul> |
| 24 | + <li>Eliminate redundancies in tool/function/agent definitions</li> |
| 25 | + <li>Fix common friction points (e.g., outputName inconsistencies)</li> |
| 26 | + <li>Explore alternatives to "String"-based keys (e.g., typesafe references, enums)</li> |
| 27 | + </ul> |
| 28 | + <p>⠀ |
| 29 | + <strong>Invocation Model Enhancements</strong></p> |
| 30 | + <ul> |
| 31 | + <li>Rename <code>AgentInvocation</code> to <code>Invocation</code> to enable invocations of regular methods/tools</li> |
| 32 | + <li>Study retry, rollback (compensation), and durability mechanisms, especially in function calling, and whether these should be managed at the <em>planner</em> level or <em>execution</em> level</li> |
| 33 | + <li>Improve human in the loop and agent conversation support</li> |
| 34 | + </ul> |
| 35 | + <p>⠀ |
| 36 | + <strong>A2A (Agent-to-Agent) Improvements</strong></p> |
| 37 | + <ul> |
| 38 | + <li>Automatic exposure of agents as A2A services</li> |
| 39 | + <li>Declarative A2A clients</li> |
| 40 | + <li>Studies how A2A agents can be integrated into applications (what are the patterns?)</li> |
| 41 | + </ul> |
| 42 | + <p>⠀ |
| 43 | + <strong>Architectural Refactoring</strong></p> |
| 44 | + <ul> |
| 45 | + <li>Apply Autonomic Reference Architecture: clear separation between operational/execution execution (observe, act, maintain state) and analytical planning (decide, select following invocation)</li> |
| 46 | + <li>Design for pluggable planners (rules, workflows, LLM-based (supervisor))</li> |
| 47 | + </ul> |
| 48 | + <p>⠀ |
| 49 | + <strong>LangChain4j Core Improvements</strong></p> |
| 50 | + <ul> |
| 51 | + <li>Revamp the LangChain4j API to support non-blocking, asynchronous processing</li> |
| 52 | + <li>Improve memory management (lifecycle, scoping, resource reuse, short-term/long-term memory) across tool/agent executions</li> |
| 53 | + <li>Explore and improve support for Context Engineering: |
| 54 | + <ul> |
| 55 | + <li>Better control over prompt construction</li> |
| 56 | + <li>Enhanced context injection at build/runtime</li> |
| 57 | + <li>Modular strategies for short-term and long-term memory enrichment</li> |
| 58 | + </ul> |
| 59 | + </li> |
| 60 | + </ul> |
| 61 | + <p>⠀ |
| 62 | + <strong>Developer Experience & Tooling</strong></p> |
| 63 | + <ul> |
| 64 | + <li>Quarkus Dev UI integration: |
| 65 | + <ul> |
| 66 | + <li>Visualize workflows</li> |
| 67 | + <li>Trace agent invocations and tool calls</li> |
| 68 | + </ul> |
| 69 | + </li> |
| 70 | + <li>Build-time validation for LangChain4j constructs (missing tools, bad metadata, etc.)</li> |
| 71 | + <li>Evaluation harnesses and support for repeatable agent test scenarios</li> |
| 72 | + </ul> |
| 73 | + <p>⠀ |
| 74 | + <strong>Cost & Observability</strong></p> |
| 75 | + <ul> |
| 76 | + <li>Track and optimize token usage</li> |
| 77 | + <li>Condense tool result JSON</li> |
| 78 | + <li>Estimate invocation cost during planning</li> |
| 79 | + <li>Support tracing (OpenTelemetry), logging, and metric collection (Micrometer/OTEL bridge) - already quite advanced</li> |
| 80 | + <li>Document techniques to control/minimize token usage, like <code>TokenWindowChatMemory</code> instead of <code>MessageWindowChatMemory</code>, |
| 81 | + filter unnecessary MCP tools, select required tools dynamically via <code>AiServices.toolSelector</code> (to be implemented)</li> |
| 82 | + </ul> |
| 83 | + <p>⠀ |
| 84 | + <strong>Workflow Integration</strong></p> |
| 85 | + <ul> |
| 86 | + <li>Generalized interface to plug in workflow engines as a <em>planner</em></li> |
| 87 | + <li>Coordination between agents and workflows (e.g., agent as a workflow step) |
| 88 | + ⠀</li> |
| 89 | + </ul> |
| 90 | + <h3>4. Out of Scope</h3> |
| 91 | + <p>This working group does <strong>not</strong> cover:</p> |
| 92 | + <ul> |
| 93 | + <li>UI/UX or frontend agent interfaces beyond Dev UI integration</li> |
| 94 | + </ul> |
| 95 | + <p>⠀</p> |
| 96 | + <h3>5. Definition of Done</h3> |
| 97 | + <p>The WG will be considered <strong>done</strong> when the following milestones are met:</p> |
| 98 | + <ul> |
| 99 | + <li>A simplified and more declarative developer model is available</li> |
| 100 | + <li>The LangChain4j API supports non-blocking execution paths</li> |
| 101 | + <li>At least one alternative planner (e.g., a workflow engine) can be plugged into the agentic runtime</li> |
| 102 | + <li>Dev UI extension is available for invocation/workflow visualization</li> |
| 103 | + <li>A2A support includes declarative clients and automatic exposure</li> |
| 104 | + <li>Context engineering and memory management strategies are documented and implemented</li> |
| 105 | + <li>Build-time validation and token usage observability are implemented</li> |
| 106 | + <li>A reference set of patterns/examples demonstrates how to build production-grade agentic systems using the new model</li> |
| 107 | + </ul> |
| 108 | + <hr /> |
| 109 | + <ul> |
| 110 | + <li>Point of Contacts: @cescoffier @dliubarskyi @geoand @mariofusco</li> |
| 111 | + <li>Discussion: <a href="https://quarkusio.zulipchat.com/#narrow/channel/187038-dev/topic/WG.20-.20Agentic.20Foundation.20and.20LangChain4j.20Next/with/547443137">Zulip</a></li> |
| 112 | + <li>Proposal: https://github.com/quarkusio/quarkus/discussions/50582</li> |
| 113 | + </ul> |
| 114 | + status: on track |
| 115 | + lts: false |
| 116 | + completed: false |
| 117 | + last-activity: 2025-10-28 |
| 118 | + last-update-date: 2025-10-28 |
| 119 | + last-update: | |
| 120 | + WG Started. |
| 121 | + |
| 122 | + Quarkus Langchain4J will serve as the main repository for issues and work items. |
| 123 | + proposal: https://github.com/quarkusio/quarkus/discussions/50582 |
| 124 | + discussion: https://quarkusio.zulipchat.com/#narrow/channel/187038-dev/topic/WG.20-.20Agentic.20Foundation.20and.20LangChain4j.20Next/with/547443137 |
3 | 125 | - title: "Quarkus to the CommonHaus Foundation" |
4 | 126 | board-url: "https://github.com/orgs/quarkusio/projects/38" |
5 | 127 | short-description: | |
|
0 commit comments