@polymorphism-tech/morph-spec 1.0.4 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (152) hide show
  1. package/CLAUDE.md +1381 -0
  2. package/LICENSE +72 -0
  3. package/README.md +89 -6
  4. package/bin/detect-agents.js +225 -0
  5. package/bin/morph-spec.js +120 -0
  6. package/bin/render-template.js +302 -0
  7. package/bin/semantic-detect-agents.js +246 -0
  8. package/bin/validate-agents-skills.js +239 -0
  9. package/bin/validate-agents.js +69 -0
  10. package/bin/validate-phase.js +263 -0
  11. package/content/.azure/README.md +293 -0
  12. package/content/.azure/docs/azure-devops-setup.md +454 -0
  13. package/content/.azure/docs/branch-strategy.md +398 -0
  14. package/content/.azure/docs/local-development.md +515 -0
  15. package/content/.azure/pipelines/pipeline-variables.yml +34 -0
  16. package/content/.azure/pipelines/prod-pipeline.yml +319 -0
  17. package/content/.azure/pipelines/staging-pipeline.yml +234 -0
  18. package/content/.azure/pipelines/templates/build-dotnet.yml +75 -0
  19. package/content/.azure/pipelines/templates/deploy-app-service.yml +94 -0
  20. package/content/.azure/pipelines/templates/deploy-container-app.yml +120 -0
  21. package/content/.azure/pipelines/templates/infra-deploy.yml +90 -0
  22. package/content/.claude/commands/morph-apply.md +118 -26
  23. package/content/.claude/commands/morph-archive.md +9 -9
  24. package/content/.claude/commands/morph-clarify.md +184 -0
  25. package/content/.claude/commands/morph-design.md +275 -0
  26. package/content/.claude/commands/morph-proposal.md +56 -15
  27. package/content/.claude/commands/morph-setup.md +100 -0
  28. package/content/.claude/commands/morph-status.md +47 -32
  29. package/content/.claude/commands/morph-tasks.md +319 -0
  30. package/content/.claude/commands/morph-uiux.md +211 -0
  31. package/content/.claude/skills/specialists/ai-system-architect.md +604 -0
  32. package/content/.claude/skills/specialists/ms-agent-expert.md +143 -89
  33. package/content/.claude/skills/specialists/ui-ux-designer.md +744 -9
  34. package/content/.claude/skills/stacks/dotnet-blazor.md +244 -8
  35. package/content/.claude/skills/stacks/dotnet-nextjs.md +2 -2
  36. package/content/.morph/.morphversion +5 -0
  37. package/content/.morph/config/agents.json +101 -8
  38. package/content/.morph/config/azure-pricing.json +70 -0
  39. package/content/.morph/config/azure-pricing.schema.json +50 -0
  40. package/content/.morph/config/config.template.json +15 -3
  41. package/content/.morph/docs/STORY-DRIVEN-DEVELOPMENT.md +392 -0
  42. package/content/.morph/hooks/README.md +239 -0
  43. package/content/.morph/hooks/pre-commit-agents.sh +24 -0
  44. package/content/.morph/hooks/pre-commit-all.sh +48 -0
  45. package/content/.morph/hooks/pre-commit-costs.sh +91 -0
  46. package/content/.morph/hooks/pre-commit-specs.sh +49 -0
  47. package/content/.morph/hooks/pre-commit-tests.sh +60 -0
  48. package/content/.morph/project.md +5 -4
  49. package/content/.morph/schemas/agent.schema.json +296 -0
  50. package/content/.morph/standards/agent-framework-setup.md +453 -0
  51. package/content/.morph/standards/architecture.md +142 -7
  52. package/content/.morph/standards/azure.md +218 -23
  53. package/content/.morph/standards/coding.md +47 -12
  54. package/content/.morph/standards/dotnet10-migration.md +494 -0
  55. package/content/.morph/standards/fluent-ui-setup.md +590 -0
  56. package/content/.morph/standards/migration-guide.md +514 -0
  57. package/content/.morph/standards/passkeys-auth.md +423 -0
  58. package/content/.morph/standards/vector-search-rag.md +536 -0
  59. package/content/.morph/state.json +18 -0
  60. package/content/.morph/templates/FluentDesignTheme.cs +149 -0
  61. package/content/.morph/templates/MudTheme.cs +281 -0
  62. package/content/.morph/templates/contracts.cs +55 -55
  63. package/content/.morph/templates/decisions.md +4 -4
  64. package/content/.morph/templates/design-system.css +226 -0
  65. package/content/.morph/templates/infra/.dockerignore.example +89 -0
  66. package/content/.morph/templates/infra/Dockerfile.example +82 -0
  67. package/content/.morph/templates/infra/README.md +286 -0
  68. package/content/.morph/templates/infra/app-service.bicep +164 -0
  69. package/content/.morph/templates/infra/deploy.ps1 +229 -0
  70. package/content/.morph/templates/infra/deploy.sh +208 -0
  71. package/content/.morph/templates/infra/main.bicep +41 -7
  72. package/content/.morph/templates/infra/parameters.dev.json +6 -0
  73. package/content/.morph/templates/infra/parameters.prod.json +6 -0
  74. package/content/.morph/templates/infra/parameters.staging.json +29 -0
  75. package/content/.morph/templates/proposal.md +3 -3
  76. package/content/.morph/templates/recap.md +3 -3
  77. package/content/.morph/templates/spec.md +9 -8
  78. package/content/.morph/templates/sprint-status.yaml +68 -0
  79. package/content/.morph/templates/state.template.json +222 -0
  80. package/content/.morph/templates/story.md +143 -0
  81. package/content/.morph/templates/tasks.md +1 -1
  82. package/content/.morph/templates/ui-components.md +276 -0
  83. package/content/.morph/templates/ui-design-system.md +286 -0
  84. package/content/.morph/templates/ui-flows.md +336 -0
  85. package/content/.morph/templates/ui-mockups.md +133 -0
  86. package/content/.morph/test-infra/example.bicep +59 -0
  87. package/content/CLAUDE.md +124 -0
  88. package/content/README.md +79 -0
  89. package/detectors/config-detector.js +223 -0
  90. package/detectors/conversation-analyzer.js +163 -0
  91. package/detectors/index.js +84 -0
  92. package/detectors/standards-generator.js +275 -0
  93. package/detectors/structure-detector.js +221 -0
  94. package/docs/README.md +149 -0
  95. package/docs/api/cost-calculator.js.html +513 -0
  96. package/docs/api/design-system-generator.js.html +382 -0
  97. package/docs/api/fonts/Montserrat/Montserrat-Bold.eot +0 -0
  98. package/docs/api/fonts/Montserrat/Montserrat-Bold.ttf +0 -0
  99. package/docs/api/fonts/Montserrat/Montserrat-Bold.woff +0 -0
  100. package/docs/api/fonts/Montserrat/Montserrat-Bold.woff2 +0 -0
  101. package/docs/api/fonts/Montserrat/Montserrat-Regular.eot +0 -0
  102. package/docs/api/fonts/Montserrat/Montserrat-Regular.ttf +0 -0
  103. package/docs/api/fonts/Montserrat/Montserrat-Regular.woff +0 -0
  104. package/docs/api/fonts/Montserrat/Montserrat-Regular.woff2 +0 -0
  105. package/docs/api/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.eot +0 -0
  106. package/docs/api/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.svg +978 -0
  107. package/docs/api/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.ttf +0 -0
  108. package/docs/api/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff +0 -0
  109. package/docs/api/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff2 +0 -0
  110. package/docs/api/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.eot +0 -0
  111. package/docs/api/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.svg +1049 -0
  112. package/docs/api/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.ttf +0 -0
  113. package/docs/api/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff +0 -0
  114. package/docs/api/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff2 +0 -0
  115. package/docs/api/global.html +5263 -0
  116. package/docs/api/index.html +96 -0
  117. package/docs/api/scripts/collapse.js +39 -0
  118. package/docs/api/scripts/commonNav.js +28 -0
  119. package/docs/api/scripts/linenumber.js +25 -0
  120. package/docs/api/scripts/nav.js +12 -0
  121. package/docs/api/scripts/polyfill.js +4 -0
  122. package/docs/api/scripts/prettify/Apache-License-2.0.txt +202 -0
  123. package/docs/api/scripts/prettify/lang-css.js +2 -0
  124. package/docs/api/scripts/prettify/prettify.js +28 -0
  125. package/docs/api/scripts/search.js +99 -0
  126. package/docs/api/state-manager.js.html +423 -0
  127. package/docs/api/styles/jsdoc.css +776 -0
  128. package/docs/api/styles/prettify.css +80 -0
  129. package/docs/examples.md +328 -0
  130. package/docs/getting-started.md +302 -0
  131. package/docs/installation.md +361 -0
  132. package/docs/templates.md +418 -0
  133. package/docs/validation-checklist.md +266 -0
  134. package/package.json +39 -12
  135. package/src/commands/cost.js +181 -0
  136. package/src/commands/create-story.js +283 -0
  137. package/src/commands/detect.js +104 -0
  138. package/src/commands/doctor.js +67 -0
  139. package/src/commands/generate.js +149 -0
  140. package/src/commands/init.js +69 -45
  141. package/src/commands/shard-spec.js +224 -0
  142. package/src/commands/sprint-status.js +250 -0
  143. package/src/commands/state.js +333 -0
  144. package/src/commands/sync.js +167 -0
  145. package/src/commands/update-pricing.js +206 -0
  146. package/src/commands/update.js +88 -13
  147. package/src/lib/complexity-analyzer.js +292 -0
  148. package/src/lib/cost-calculator.js +429 -0
  149. package/src/lib/design-system-generator.js +298 -0
  150. package/src/lib/state-manager.js +340 -0
  151. package/src/utils/file-copier.js +59 -0
  152. package/src/utils/version-checker.js +175 -0
@@ -0,0 +1,604 @@
1
+ # AI System Architect
2
+
3
+ Especialista em arquitetura de sistemas agênticos, orquestração multi-agente e design patterns de IA.
4
+
5
+ ## Responsabilidades
6
+
7
+ 1. **Desenhar arquiteturas agênticas** complexas e escaláveis
8
+ 2. **Definir padrões de orquestração** (workflows, comunicação inter-agentes)
9
+ 3. **Implementar pipelines RAG** (Retrieval-Augmented Generation)
10
+ 4. **Avaliar estratégias** de chunking, embedding e retrieval
11
+ 5. **Selecionar padrões adequados** dos 20 padrões de design agêntico
12
+
13
+ ## Triggers
14
+
15
+ Keywords: `orchestration`, `multi-agent`, `workflow`, `agent-to-agent`, `a2a`, `system design`, `reflection`, `planning`, `memory`, `rag`, `vector search`, `chunking`, `embedding`, `retrieval`, `agentic`, `reasoning`, `chain-of-thought`, `tree-of-thought`
16
+
17
+ ## 20 Padrões de Design Agêntico
18
+
19
+ > Baseado no framework de padrões de design para agentes de IA
20
+
21
+ ### 1. Prompt Chaining (Encadeamento de Prompts)
22
+ **Uso:** Processos multi-step com validação entre etapas
23
+
24
+ **Quando usar:**
25
+ - Transformação de dados complexos
26
+ - Pipelines mistos (GenAI + código determinístico)
27
+ - Processamento de documentos
28
+
29
+ **Trade-offs:**
30
+ - ✅ Modular, múltiplos pontos de validação
31
+ - ⚠️ Context explosion, error propagation
32
+ - 💡 Ideal: 3-5 steps
33
+
34
+ ### 2. Routing (Roteamento)
35
+ **Uso:** Direcionar requisições ao agente especialista correto
36
+
37
+ **Quando usar:**
38
+ - Múltiplos domínios ou especializações
39
+ - Prevenção de misfires (agente usando tool errada)
40
+
41
+ **Trade-offs:**
42
+ - ✅ Especialização, escalabilidade
43
+ - ⚠️ Roteamento incorreto possível
44
+ - 💡 Adicionar "manager agent" para casos ambíguos
45
+
46
+ ### 3. Parallelization (Paralelização)
47
+ **Uso:** Dividir trabalho grande em chunks independentes processados simultaneamente
48
+
49
+ **Quando usar:**
50
+ - Processamento de dados em larga escala
51
+ - Operações time-sensitive
52
+ - Web scraping multi-página
53
+
54
+ **Trade-offs:**
55
+ - ✅ Especialização, reduz tempo total
56
+ - ⚠️ Complexidade de coordenação
57
+ - 💡 Azure Durable Functions (Fan-out/Fan-in)
58
+
59
+ ### 4. Reflection (Reflexão)
60
+ **Uso:** Gerar draft → crítica → refinamento até atingir padrões de qualidade
61
+
62
+ **Quando usar:**
63
+ - Controle de qualidade rigoroso
64
+ - Tarefas criativas com resultado controlado
65
+
66
+ **Trade-offs:**
67
+ - ✅ Foco em qualidade, melhoria iterativa
68
+ - ⚠️ Custo elevado (múltiplas chamadas)
69
+ - 💡 Limitar a 3 iterações
70
+
71
+ ### 5. Tool Use (Uso de Ferramentas)
72
+ **Uso:** Agente descobre, verifica permissões e chama ferramentas externas
73
+
74
+ **Quando usar:**
75
+ - Workflow multi-step
76
+ - Necessidade de dados externos
77
+ - Integração com sistemas
78
+
79
+ **Trade-offs:**
80
+ - ✅ Melhoria de qualidade, redução de erros
81
+ - ⚠️ Misfire propagation
82
+ - 💡 Microsoft Agent Framework: `[AgentTool]` attribute
83
+
84
+ ### 6. Planning (Planejamento)
85
+ **Uso:** Criar plano step-by-step antes de executar
86
+
87
+ **Quando usar:**
88
+ - Workflows orientados a objetivos
89
+ - Project management
90
+ - Desenvolvimento de software
91
+
92
+ **Trade-offs:**
93
+ - ✅ Execução estratégica, menos alucinação
94
+ - ⚠️ Setup complexo, coordenação de múltiplos agentes
95
+ - 💡 "Planejar e planejar e planejar até estar pronto"
96
+
97
+ ### 7. Multi-Agent Collaboration (Colaboração Multi-Agente)
98
+ **Uso:** Múltiplos agentes especializados coordenados por gerente central
99
+
100
+ **Estruturas de coordenação:**
101
+ - **Boss structure** — um agente gerencia todos
102
+ - **Democratic** — todos iguais (difícil de calibrar)
103
+ - **Bulletin board** — comunicação via posts compartilhados
104
+
105
+ **Quando usar:**
106
+ - Refinamento iterativo
107
+ - Desenvolvimento de produto/software
108
+ - Múltiplas fases e tickets
109
+
110
+ **Trade-offs:**
111
+ - ✅ Especialização, processamento paralelo
112
+ - ⚠️ Setup e testes extensivos
113
+ - 💡 Microsoft Agent Framework Workflows
114
+
115
+ ### 8. Memory Management (Gestão de Memória)
116
+ **Uso:** Classificar informação como memória de curto prazo, episódica ou conhecimento de longo prazo
117
+
118
+ **Tipos de memória:**
119
+ - **Short-term** — duração da sessão
120
+ - **Episodic** — eventos específicos
121
+ - **Long-term/Knowledge** — informação permanente
122
+
123
+ **Quando usar:**
124
+ - Continuidade conversacional
125
+ - Experiências personalizadas
126
+ - Plataformas educacionais
127
+
128
+ **Trade-offs:**
129
+ - ✅ Preservação de contexto
130
+ - ⚠️ Riscos de segurança/privacidade
131
+ - 💡 Agent Framework: Threads para persistência
132
+
133
+ ### 9. Learning and Adaptation (Aprendizado e Adaptação)
134
+ **Uso:** Coletar feedback, limpar dados, atualizar prompts/políticas
135
+
136
+ **Quando usar:**
137
+ - Serviços que requerem feedback loop
138
+ - Sistemas que precisam melhorar continuamente
139
+
140
+ **Trade-offs:**
141
+ - ✅ Melhoria contínua
142
+ - ⚠️ Pode aprender coisa errada
143
+ - 💡 A/B testing + monitoring
144
+
145
+ ### 10. Goal Setting and Monitoring (Definição e Monitoramento de Objetivos)
146
+ **Uso:** Definir objetivos SMART com deadlines, monitorar métricas
147
+
148
+ **Quando usar:**
149
+ - Projetos complexos
150
+ - Operações autônomas
151
+ - Execução estratégica
152
+
153
+ **Trade-offs:**
154
+ - ✅ Eficiência de recursos
155
+ - ⚠️ Conflitos de objetivos
156
+ - 💡 Application Insights para monitoring
157
+
158
+ ### 11. Exception Handling and Recovery (Tratamento de Exceções)
159
+ **Uso:** Capturar erros em workflows agênticos, retry com exponential backoff
160
+
161
+ **Quando usar:**
162
+ - Sistemas em produção
163
+ - Quality assurance
164
+ - Erros críticos
165
+
166
+ **Trade-offs:**
167
+ - ✅ Visibilidade de performance, múltiplos fallbacks
168
+ - ⚠️ Infraestrutura complexa
169
+ - 💡 Azure Durable Functions: automatic retry
170
+
171
+ ### 12. Human-in-the-Loop (Humano no Loop)
172
+ **Uso:** Intervenção humana para decisões de alto risco
173
+
174
+ **Quando usar:**
175
+ - Decisões de alto risco
176
+ - Compliance regulatório
177
+ - Edge cases
178
+
179
+ **Trade-offs:**
180
+ - ✅ Mais confiança no sistema
181
+ - ⚠️ Latência adicional
182
+ - 💡 Review queue + prioritização
183
+
184
+ ### 13. Knowledge Retrieval / RAG (Recuperação de Conhecimento)
185
+ **Uso:** Indexar documentos com chunking e embeddings pesquisáveis
186
+
187
+ **Pipeline RAG:**
188
+ ```
189
+ Extração → Staging → Chunking → Embedding → Indexação → Retrieval
190
+ ```
191
+
192
+ **Estratégias de chunking:**
193
+ - Fixed size chunks
194
+ - Markdown Header Splitter
195
+ - Semantic boundaries
196
+ - Token-based
197
+
198
+ **Quando usar:**
199
+ - Necessidades de conhecimento documental
200
+ - Dados privados/proprietários
201
+
202
+ **Trade-offs:**
203
+ - ✅ Accuracy, escalabilidade
204
+ - ⚠️ Infraestrutura para construir e manter
205
+ - 💡 Azure AI Search + Semantic Kernel
206
+
207
+ ### 14. Inter-Agent Communication (Comunicação Inter-Agentes)
208
+ **Uso:** Agentes comunicam via sistema de mensagens estruturado
209
+
210
+ **Protocolos:**
211
+ - **A2A (Agent-to-Agent)** — spec padronizada
212
+ - **Agent Cards** — metadados compartilhados
213
+
214
+ **Quando usar:**
215
+ - Sistemas enterprise complexos
216
+ - Orquestração distribuída
217
+
218
+ **Trade-offs:**
219
+ - ✅ Fault isolation
220
+ - ⚠️ Complexidade extrema
221
+ - 💡 Avaliar se realmente necessário (geralmente não)
222
+
223
+ ### 15. Resource-Aware Optimization (Otimização Consciente de Recursos)
224
+ **Uso:** Rotear tarefas para modelos apropriados baseado em complexidade/custo
225
+
226
+ **Estratégia:**
227
+ - Tarefas simples → gpt-4o-mini
228
+ - Tarefas complexas → gpt-4o
229
+ - Tarefas de raciocínio → o1-mini
230
+
231
+ **Quando usar:**
232
+ - Operações cost-sensitive
233
+ - Processamento de alto volume
234
+
235
+ **Trade-offs:**
236
+ - ✅ Redução de custos
237
+ - ⚠️ Tuning de complexidade
238
+ - 💡 Router agent classifica complexidade
239
+
240
+ ### 16. Reasoning Techniques (Técnicas de Raciocínio)
241
+ **Métodos disponíveis:**
242
+
243
+ #### Chain of Thought (Sequencial)
244
+ ```
245
+ Step 1 → Think → Reason → Conclude → Step 2 → ...
246
+ ```
247
+
248
+ #### Tree of Thought (Branching)
249
+ ```
250
+ Problem → Generate Branches → Explore → Prune Dead Branches
251
+ ```
252
+
253
+ #### Self-Consistency
254
+ ```
255
+ Generate Multiple Solutions → Score → Select Best
256
+ ```
257
+
258
+ #### Adversarial/Debate
259
+ ```
260
+ Proponent Agent ↔ Opponent Agent → Exchange Arguments
261
+ ```
262
+
263
+ **Quando usar:**
264
+ - Problemas muito complexos
265
+ - Raciocínio matemático
266
+ - Planejamento estratégico em escala
267
+
268
+ **Trade-offs:**
269
+ - ✅ Processo exaustivo e robusto
270
+ - ⚠️ Alto consumo de tokens, latência
271
+ - 💡 9 em 10 vezes não é necessário
272
+
273
+ ### 17. Evaluation and Monitoring (Avaliação e Monitoramento)
274
+ **Uso:** Quality gates, golden tests, monitoramento contínuo de drift
275
+
276
+ **Métricas:**
277
+ - Accuracy
278
+ - Performance SLAs
279
+ - Compliance
280
+ - Drift detection
281
+
282
+ **Quando usar:**
283
+ - Sistemas production-grade
284
+ - Enterprise, SaaS
285
+ - Healthcare, finance
286
+
287
+ **Trade-offs:**
288
+ - ✅ Confiabilidade
289
+ - ⚠️ Alert fatigue
290
+ - 💡 Application Insights + Azure Monitor
291
+
292
+ ### 18. Guardrails and Safety Patterns (Guardrails e Segurança)
293
+ **Uso:** Verificar inputs para conteúdo prejudicial, PII, injeções
294
+
295
+ **Checks:**
296
+ - PII Detection → Redact/Mask
297
+ - Injection Detection → Filter/Block
298
+ - Malicious Content → Filter/Block
299
+ - Risk Classification → Human-in-Loop se high
300
+
301
+ **Quando usar:**
302
+ - Sistemas public-facing
303
+ - Quando PR está em jogo
304
+ - Input de texto aberto
305
+
306
+ **Trade-offs:**
307
+ - ✅ Mitigação de risco, proteção de marca
308
+ - ⚠️ Falsos positivos, fricção
309
+ - 💡 Estratégia de prompts pré-definidos > texto livre
310
+
311
+ ### 19. Prioritization (Priorização)
312
+ **Uso:** Pontuar tarefas baseado em valor, risco, esforço, urgência
313
+
314
+ **Fórmula:**
315
+ ```
316
+ Priority = (Value × Effort) × Urgency / Risk
317
+ ```
318
+
319
+ **Quando usar:**
320
+ - Ambientes dinâmicos
321
+ - Task management
322
+ - Customer service
323
+
324
+ **Trade-offs:**
325
+ - ✅ Adaptabilidade, transparência
326
+ - ⚠️ Context switching
327
+ - 💡 Dependency graph + reassessment
328
+
329
+ ### 20. Exploration and Discovery (Exploração e Descoberta)
330
+ **Uso:** Explorar amplamente espaço de conhecimento, identificar padrões, focar em áreas promissoras
331
+
332
+ **Fluxo:**
333
+ ```
334
+ Research Goal → Explore Sources → Compile → Map Knowledge Space →
335
+ Cluster Themes → Target Exploration → Synthesize Insights
336
+ ```
337
+
338
+ **Quando usar:**
339
+ - Projetos de pesquisa
340
+ - Análise competitiva detalhada
341
+ - R&D
342
+
343
+ **Trade-offs:**
344
+ - ✅ Innovation enablement
345
+ - ⚠️ Time-sensitive, resource-heavy
346
+ - 💡 Perplexity Deep Research, Claude Deep Research
347
+
348
+ ---
349
+
350
+ ## Frameworks de Categorização de Agentes
351
+
352
+ ### Framework TACO (KPMG)
353
+
354
+ | Categoria | Descrição | Autonomia |
355
+ |-----------|-----------|-----------|
356
+ | **Taskers** | Executam tarefas individuais bem definidas | Humano no loop |
357
+ | **Automators** | Gerenciam tarefas complexas multi-sistema | Automação |
358
+ | **Collaborators** | Companheiros de IA adaptativos | Objetivos multidimensionais |
359
+ | **Orchestrators** | Sistemas transformativos | Coordenação de múltiplos agentes |
360
+
361
+ ### Framework Funcional (7 tipos)
362
+
363
+ 1. **Simple Reflex Agents** — regras predefinidas
364
+ 2. **Model-Based Reflex Agents** — avaliação de consequências
365
+ 3. **Goal-Based Agents** — planejamento de sequências de ações
366
+ 4. **Learning Agents** — melhoram com experiência
367
+ 5. **Utility-Based Agents** — gerenciam trade-offs entre objetivos
368
+ 6. **Hierarchical Agents** — desconstroem tarefas em subtarefas
369
+ 7. **Multi-Agent Systems** — especialização e colaboração
370
+
371
+ ---
372
+
373
+ ## Pipeline RAG com Stack Microsoft
374
+
375
+ > "Dominar o processo de geração de informação"
376
+
377
+ ### Arquitetura
378
+ ```
379
+ ┌─────────────────────────────────────────────────────────────┐
380
+ │ PIPELINE RAG - STACK MICROSOFT │
381
+ └─────────────────────────────────────────────────────────────┘
382
+
383
+ ├─→ EXTRAÇÃO: HttpClient → Azure Blob Storage (staging)
384
+
385
+ ├─→ PROCESSAMENTO: Semantic Kernel → Chunking Strategies
386
+
387
+ ├─→ EMBEDDING: Azure OpenAI text-embedding-3-small
388
+
389
+ ├─→ INDEXAÇÃO: Azure AI Search (vector store com HNSW)
390
+
391
+ ├─→ AVALIAÇÃO: Cosine Similarity → Ranking de Estratégias
392
+
393
+ └─→ DEPLOY: Azure Durable Functions (orquestração)
394
+ ```
395
+
396
+ ### Estratégias de Chunking (Semantic Kernel)
397
+
398
+ 1. **Paragraph Splitter** — quebra por parágrafos
399
+ 2. **Markdown Header Splitter** — quebra por headers (#, ##, ###)
400
+ 3. **Token-based Splitter** — quebra por quantidade de tokens
401
+ 4. **Semantic Splitter** — quebra por similaridade semântica
402
+
403
+ **Princípio:** Testar TODAS as estratégias e rankear por métricas
404
+
405
+ ### Métricas de Avaliação
406
+
407
+ - **Score médio** de similaridade nos resultados
408
+ - **Token count médio** dos chunks recuperados
409
+ - **Relevância** para queries de teste
410
+
411
+ ### Por Que Staging em Blob Storage?
412
+
413
+ | Benefício | Explicação |
414
+ |-----------|------------|
415
+ | **Imutabilidade** | Dados originais nunca são alterados |
416
+ | **Versionamento** | Blob Storage suporta versioning nativo |
417
+ | **Custo baixo** | Storage é muito mais barato que compute |
418
+ | **Fallback** | Bug no processamento não perde dados |
419
+ | **Auditoria** | Rastreamento completo de origem |
420
+
421
+ ### Integração com Microsoft Agent Framework
422
+
423
+ ```csharp
424
+ // Tool de busca semântica
425
+ [AgentTool("search_knowledge")]
426
+ public async Task<SearchResult[]> SearchKnowledgeAsync(
427
+ [Description("Query de busca")] string query,
428
+ CancellationToken ct = default)
429
+ {
430
+ // 1. Gerar embedding da query
431
+ var queryEmbedding = await _embeddings.GenerateAsync(query, ct);
432
+
433
+ // 2. Buscar no Azure AI Search (vector search)
434
+ var results = await _searchClient.SearchAsync<KnowledgeChunk>(
435
+ query,
436
+ new SearchOptions
437
+ {
438
+ VectorSearch = new VectorSearchOptions
439
+ {
440
+ Queries = { new VectorizedQuery(queryEmbedding) { KNearestNeighborsCount = 5 } }
441
+ }
442
+ },
443
+ ct
444
+ );
445
+
446
+ return results.Value.GetResults().ToArray();
447
+ }
448
+ ```
449
+
450
+ ---
451
+
452
+ ## Microsoft Agent Framework: Orquestração
453
+
454
+ ### Agentes Especializados Pequenos > Agente Monolítico Grande
455
+
456
+ **Exemplo: Projeto Lucy (Home Assistant)**
457
+ ```
458
+ Orchestration Agent
459
+ ├─→ Light Agent (196 lights)
460
+ ├─→ Music Agent (Spotify/local)
461
+ ├─→ Climate Agent (HVAC)
462
+ └─→ ...
463
+ ```
464
+
465
+ **Vantagens:**
466
+ - Cada agente conhece apenas seu domínio
467
+ - Modelos menores = mais barato, mais rápido
468
+ - Busca semântica para entity matching (embeddings)
469
+
470
+ ### Workflows com Microsoft.Agents.AI.Workflows
471
+
472
+ ```csharp
473
+ // Criar workflow sequencial
474
+ var workflowBuilder = new AgentWorkflowBuilder()
475
+ .AddStep(researchAgent)
476
+ .AddStep(analysisAgent)
477
+ .AddStep(writerAgent);
478
+
479
+ var orchestrationAgent = workflowBuilder.Build();
480
+
481
+ // Executar pipeline
482
+ var result = await orchestrationAgent.RunAsync("Create report about AI trends");
483
+ ```
484
+
485
+ ### A2A (Agent-to-Agent) Communication
486
+
487
+ ```csharp
488
+ // Expor agentes via A2A spec
489
+ app.MapA2A(); // Endpoints automáticos:
490
+ // GET /agents → Lista agent cards
491
+ // POST /message/send → JSON REST
492
+ // POST /jsonrpc → JSON-RPC
493
+ ```
494
+
495
+ ---
496
+
497
+ ## Quando NÃO Usar Agent Framework
498
+
499
+ | Cenário | Recomendação |
500
+ |---------|--------------|
501
+ | Single LLM call resolve | Use Microsoft.Extensions.AI direto |
502
+ | Sem tools necessários | ChatClient simples |
503
+ | Modelo < 3B parâmetros | Tool calling não funciona bem |
504
+ | Apenas summarização/tradução | Não precisa de agente |
505
+
506
+ ## Quando USAR
507
+
508
+ - Tools/function calling necessários
509
+ - Workflows assíncronos
510
+ - Multi-step processes
511
+ - Orquestração de múltiplos agentes
512
+ - Integração com sistemas externos
513
+
514
+ ---
515
+
516
+ ## Mentalidade de Engenharia
517
+
518
+ | Amador | Profissional |
519
+ |--------|--------------|
520
+ | "Joga lá e Deus abençoa" | "Domino cada etapa do processo" |
521
+ | Uma estratégia de chunking | Testa 5+ estratégias |
522
+ | Sem tracking de dados | Rastreamento completo |
523
+ | Espera cliente reclamar | Application Insights alerts |
524
+ | Código descartável | Class libraries reutilizáveis |
525
+ | Funciona na minha máquina | Durable Functions orquestrando |
526
+
527
+ ---
528
+
529
+ ## Combinações de Padrões
530
+
531
+ | Combinação | Caso de Uso |
532
+ |------------|-------------|
533
+ | Prompt Chaining + Reflection | Geração de conteúdo com qualidade controlada |
534
+ | Routing + Tool Use | Customer service com múltiplas integrações |
535
+ | Planning + Multi-Agent | Projetos complexos de desenvolvimento |
536
+ | Memory + Learning | Assistentes personalizados que evoluem |
537
+ | Parallelization + Exception Handling | Processamento de dados em escala |
538
+ | Resource-Aware + Routing | Otimização de custos em alto volume |
539
+ | Human-in-Loop + Guardrails | Sistemas críticos com compliance |
540
+
541
+ ---
542
+
543
+ ## Documentação de Referência
544
+
545
+ - [20 Padrões de Design Agêntico](../../.wiki/ai/20-agentic-design-patterns.md)
546
+ - [Transformação Agêntica: Frameworks](../../.wiki/ai/transformacao-agentica-frameworks-categorias-agentes-ia-estrategia-organizacional.md)
547
+ - [Microsoft Agent Framework na Prática](../../.wiki/microsoft-agent-framework/dotnet-ai-community-standup-agent-framework-visao-pratica.md)
548
+ - [Pipeline RAG .NET](../../.wiki/microsoft-agent-framework/pipeline-indexacao-rag-dotnet-microsoft-stack.md)
549
+ - [Microsoft Agent Framework](https://learn.microsoft.com/agent-framework/)
550
+ - [Azure AI Search](https://learn.microsoft.com/azure/search/)
551
+ - [Semantic Kernel](https://learn.microsoft.com/semantic-kernel/)
552
+
553
+ ---
554
+
555
+ ## Checklist de Arquitetura Agêntica
556
+
557
+ ### Design de Sistema
558
+ - [ ] Padrões de design selecionados e justificados
559
+ - [ ] Estrutura de orquestração definida (Boss, Democratic, Bulletin Board)
560
+ - [ ] Agentes especializados mapeados com responsabilidades claras
561
+ - [ ] Comunicação inter-agentes desenhada (A2A se necessário)
562
+
563
+ ### Pipeline RAG (se aplicável)
564
+ - [ ] Fonte de dados identificada e acessível
565
+ - [ ] Staging em Blob Storage configurado
566
+ - [ ] Múltiplas estratégias de chunking testadas
567
+ - [ ] Embeddings gerados via Azure OpenAI
568
+ - [ ] Azure AI Search index configurado (vector + hybrid)
569
+ - [ ] Métricas de avaliação definidas e executadas
570
+ - [ ] Estratégia vencedora selecionada e documentada
571
+
572
+ ### Memória e Estado
573
+ - [ ] Tipo de memória definido (short-term, episodic, long-term)
574
+ - [ ] Threads configuradas para conversações persistentes
575
+ - [ ] Estratégia de compressão de contexto implementada
576
+ - [ ] Metadata tags definidos para retrieval
577
+
578
+ ### Orquestração
579
+ - [ ] Microsoft.Agents.AI.Workflows configurado
580
+ - [ ] Durable Functions para workflows complexos (se necessário)
581
+ - [ ] Fan-out/Fan-in para processamento paralelo
582
+ - [ ] Error handling e retry policies definidos
583
+
584
+ ### Monitoring e Avaliação
585
+ - [ ] Application Insights configurado
586
+ - [ ] Métricas de performance monitoradas (accuracy, latency, cost)
587
+ - [ ] Drift detection implementado
588
+ - [ ] Alertas proativos configurados (Teams/Slack)
589
+
590
+ ### Segurança e Compliance
591
+ - [ ] Guardrails implementados (PII, injection, malicious content)
592
+ - [ ] Human-in-the-Loop para decisões de alto risco
593
+ - [ ] Risk classification implementado
594
+ - [ ] Compliance com regulações (se aplicável)
595
+
596
+ ### Custos
597
+ - [ ] Resource-Aware Optimization implementado
598
+ - [ ] Modelos selecionados por complexidade (gpt-4o-mini vs gpt-4o)
599
+ - [ ] Token usage monitorado
600
+ - [ ] Custos estimados e documentados
601
+
602
+ ---
603
+
604
+ *MORPH-SPEC by Polymorphism Tech*