tapps-agents 3.6.0__py3-none-any.whl → 3.6.1__py3-none-any.whl
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.
- tapps_agents/__init__.py +2 -2
- tapps_agents/agents/__init__.py +22 -22
- tapps_agents/agents/analyst/__init__.py +5 -5
- tapps_agents/agents/architect/__init__.py +5 -5
- tapps_agents/agents/architect/agent.py +1033 -1033
- tapps_agents/agents/architect/pattern_detector.py +75 -75
- tapps_agents/agents/cleanup/__init__.py +7 -7
- tapps_agents/agents/cleanup/agent.py +445 -445
- tapps_agents/agents/debugger/__init__.py +7 -7
- tapps_agents/agents/debugger/agent.py +310 -310
- tapps_agents/agents/debugger/error_analyzer.py +437 -437
- tapps_agents/agents/designer/__init__.py +5 -5
- tapps_agents/agents/designer/agent.py +786 -786
- tapps_agents/agents/designer/visual_designer.py +638 -638
- tapps_agents/agents/documenter/__init__.py +7 -7
- tapps_agents/agents/documenter/agent.py +531 -531
- tapps_agents/agents/documenter/doc_generator.py +472 -472
- tapps_agents/agents/documenter/doc_validator.py +393 -393
- tapps_agents/agents/documenter/framework_doc_updater.py +493 -493
- tapps_agents/agents/enhancer/__init__.py +7 -7
- tapps_agents/agents/evaluator/__init__.py +7 -7
- tapps_agents/agents/evaluator/agent.py +443 -443
- tapps_agents/agents/evaluator/priority_evaluator.py +641 -641
- tapps_agents/agents/evaluator/quality_analyzer.py +147 -147
- tapps_agents/agents/evaluator/report_generator.py +344 -344
- tapps_agents/agents/evaluator/usage_analyzer.py +192 -192
- tapps_agents/agents/evaluator/workflow_analyzer.py +189 -189
- tapps_agents/agents/implementer/__init__.py +7 -7
- tapps_agents/agents/implementer/agent.py +798 -798
- tapps_agents/agents/implementer/auto_fix.py +1119 -1119
- tapps_agents/agents/implementer/code_generator.py +73 -73
- tapps_agents/agents/improver/__init__.py +1 -1
- tapps_agents/agents/improver/agent.py +753 -753
- tapps_agents/agents/ops/__init__.py +1 -1
- tapps_agents/agents/ops/agent.py +619 -619
- tapps_agents/agents/ops/dependency_analyzer.py +600 -600
- tapps_agents/agents/orchestrator/__init__.py +5 -5
- tapps_agents/agents/orchestrator/agent.py +522 -522
- tapps_agents/agents/planner/__init__.py +7 -7
- tapps_agents/agents/planner/agent.py +1127 -1127
- tapps_agents/agents/reviewer/__init__.py +24 -24
- tapps_agents/agents/reviewer/agent.py +3513 -3513
- tapps_agents/agents/reviewer/aggregator.py +213 -213
- tapps_agents/agents/reviewer/batch_review.py +448 -448
- tapps_agents/agents/reviewer/cache.py +443 -443
- tapps_agents/agents/reviewer/context7_enhancer.py +630 -630
- tapps_agents/agents/reviewer/context_detector.py +203 -203
- tapps_agents/agents/reviewer/docker_compose_validator.py +158 -158
- tapps_agents/agents/reviewer/dockerfile_validator.py +176 -176
- tapps_agents/agents/reviewer/error_handling.py +126 -126
- tapps_agents/agents/reviewer/feedback_generator.py +490 -490
- tapps_agents/agents/reviewer/influxdb_validator.py +316 -316
- tapps_agents/agents/reviewer/issue_tracking.py +169 -169
- tapps_agents/agents/reviewer/library_detector.py +295 -295
- tapps_agents/agents/reviewer/library_patterns.py +268 -268
- tapps_agents/agents/reviewer/maintainability_scorer.py +593 -593
- tapps_agents/agents/reviewer/metric_strategies.py +276 -276
- tapps_agents/agents/reviewer/mqtt_validator.py +160 -160
- tapps_agents/agents/reviewer/output_enhancer.py +105 -105
- tapps_agents/agents/reviewer/pattern_detector.py +241 -241
- tapps_agents/agents/reviewer/performance_scorer.py +357 -357
- tapps_agents/agents/reviewer/phased_review.py +516 -516
- tapps_agents/agents/reviewer/progressive_review.py +435 -435
- tapps_agents/agents/reviewer/react_scorer.py +331 -331
- tapps_agents/agents/reviewer/score_constants.py +228 -228
- tapps_agents/agents/reviewer/score_validator.py +507 -507
- tapps_agents/agents/reviewer/scorer_registry.py +373 -373
- tapps_agents/agents/reviewer/service_discovery.py +534 -534
- tapps_agents/agents/reviewer/tools/parallel_executor.py +581 -581
- tapps_agents/agents/reviewer/tools/ruff_grouping.py +250 -250
- tapps_agents/agents/reviewer/tools/scoped_mypy.py +284 -284
- tapps_agents/agents/reviewer/typescript_scorer.py +1142 -1142
- tapps_agents/agents/reviewer/validation.py +208 -208
- tapps_agents/agents/reviewer/websocket_validator.py +132 -132
- tapps_agents/agents/tester/__init__.py +7 -7
- tapps_agents/agents/tester/accessibility_auditor.py +309 -309
- tapps_agents/agents/tester/agent.py +1080 -1080
- tapps_agents/agents/tester/batch_generator.py +54 -54
- tapps_agents/agents/tester/context_learner.py +51 -51
- tapps_agents/agents/tester/coverage_analyzer.py +386 -386
- tapps_agents/agents/tester/coverage_test_generator.py +290 -290
- tapps_agents/agents/tester/debug_enhancer.py +238 -238
- tapps_agents/agents/tester/device_emulator.py +241 -241
- tapps_agents/agents/tester/integration_generator.py +62 -62
- tapps_agents/agents/tester/network_recorder.py +300 -300
- tapps_agents/agents/tester/performance_monitor.py +320 -320
- tapps_agents/agents/tester/test_fixer.py +316 -316
- tapps_agents/agents/tester/test_generator.py +632 -632
- tapps_agents/agents/tester/trace_manager.py +234 -234
- tapps_agents/agents/tester/visual_regression.py +291 -291
- tapps_agents/analysis/pattern_detector.py +36 -36
- tapps_agents/beads/hydration.py +213 -213
- tapps_agents/beads/parse.py +32 -32
- tapps_agents/beads/specs.py +206 -206
- tapps_agents/cli/__init__.py +9 -9
- tapps_agents/cli/__main__.py +8 -8
- tapps_agents/cli/base.py +478 -478
- tapps_agents/cli/command_classifier.py +72 -72
- tapps_agents/cli/commands/__init__.py +2 -2
- tapps_agents/cli/commands/analyst.py +173 -173
- tapps_agents/cli/commands/architect.py +109 -109
- tapps_agents/cli/commands/cleanup_agent.py +92 -92
- tapps_agents/cli/commands/common.py +126 -126
- tapps_agents/cli/commands/debugger.py +90 -90
- tapps_agents/cli/commands/designer.py +112 -112
- tapps_agents/cli/commands/documenter.py +136 -136
- tapps_agents/cli/commands/enhancer.py +110 -110
- tapps_agents/cli/commands/evaluator.py +255 -255
- tapps_agents/cli/commands/implementer.py +301 -301
- tapps_agents/cli/commands/improver.py +91 -91
- tapps_agents/cli/commands/knowledge.py +111 -111
- tapps_agents/cli/commands/learning.py +172 -172
- tapps_agents/cli/commands/observability.py +283 -283
- tapps_agents/cli/commands/ops.py +135 -135
- tapps_agents/cli/commands/orchestrator.py +116 -116
- tapps_agents/cli/commands/planner.py +237 -237
- tapps_agents/cli/commands/reviewer.py +1872 -1872
- tapps_agents/cli/commands/status.py +285 -285
- tapps_agents/cli/commands/task.py +227 -227
- tapps_agents/cli/commands/tester.py +191 -191
- tapps_agents/cli/feedback.py +936 -936
- tapps_agents/cli/formatters.py +608 -608
- tapps_agents/cli/help/__init__.py +7 -7
- tapps_agents/cli/help/static_help.py +425 -425
- tapps_agents/cli/network_detection.py +110 -110
- tapps_agents/cli/output_compactor.py +274 -274
- tapps_agents/cli/parsers/__init__.py +2 -2
- tapps_agents/cli/parsers/analyst.py +186 -186
- tapps_agents/cli/parsers/architect.py +167 -167
- tapps_agents/cli/parsers/cleanup_agent.py +228 -228
- tapps_agents/cli/parsers/debugger.py +116 -116
- tapps_agents/cli/parsers/designer.py +182 -182
- tapps_agents/cli/parsers/documenter.py +134 -134
- tapps_agents/cli/parsers/enhancer.py +113 -113
- tapps_agents/cli/parsers/evaluator.py +213 -213
- tapps_agents/cli/parsers/implementer.py +168 -168
- tapps_agents/cli/parsers/improver.py +132 -132
- tapps_agents/cli/parsers/ops.py +159 -159
- tapps_agents/cli/parsers/orchestrator.py +98 -98
- tapps_agents/cli/parsers/planner.py +145 -145
- tapps_agents/cli/parsers/reviewer.py +462 -462
- tapps_agents/cli/parsers/tester.py +124 -124
- tapps_agents/cli/progress_heartbeat.py +254 -254
- tapps_agents/cli/streaming_progress.py +336 -336
- tapps_agents/cli/utils/__init__.py +6 -6
- tapps_agents/cli/utils/agent_lifecycle.py +48 -48
- tapps_agents/cli/utils/error_formatter.py +82 -82
- tapps_agents/cli/utils/error_recovery.py +188 -188
- tapps_agents/cli/utils/output_handler.py +59 -59
- tapps_agents/cli/utils/prompt_enhancer.py +319 -319
- tapps_agents/cli/validators/__init__.py +9 -9
- tapps_agents/cli/validators/command_validator.py +81 -81
- tapps_agents/context7/__init__.py +112 -112
- tapps_agents/context7/agent_integration.py +869 -869
- tapps_agents/context7/analytics.py +382 -382
- tapps_agents/context7/analytics_dashboard.py +299 -299
- tapps_agents/context7/async_cache.py +681 -681
- tapps_agents/context7/backup_client.py +958 -958
- tapps_agents/context7/cache_locking.py +194 -194
- tapps_agents/context7/cache_metadata.py +214 -214
- tapps_agents/context7/cache_prewarm.py +488 -488
- tapps_agents/context7/cache_structure.py +168 -168
- tapps_agents/context7/cache_warming.py +604 -604
- tapps_agents/context7/circuit_breaker.py +376 -376
- tapps_agents/context7/cleanup.py +461 -461
- tapps_agents/context7/commands.py +858 -858
- tapps_agents/context7/credential_validation.py +276 -276
- tapps_agents/context7/cross_reference_resolver.py +168 -168
- tapps_agents/context7/cross_references.py +424 -424
- tapps_agents/context7/doc_manager.py +225 -225
- tapps_agents/context7/fuzzy_matcher.py +369 -369
- tapps_agents/context7/kb_cache.py +404 -404
- tapps_agents/context7/language_detector.py +219 -219
- tapps_agents/context7/library_detector.py +725 -725
- tapps_agents/context7/lookup.py +738 -738
- tapps_agents/context7/metadata.py +258 -258
- tapps_agents/context7/refresh_queue.py +300 -300
- tapps_agents/context7/security.py +373 -373
- tapps_agents/context7/staleness_policies.py +278 -278
- tapps_agents/context7/tiles_integration.py +47 -47
- tapps_agents/continuous_bug_fix/__init__.py +20 -20
- tapps_agents/continuous_bug_fix/bug_finder.py +306 -306
- tapps_agents/continuous_bug_fix/bug_fix_coordinator.py +177 -177
- tapps_agents/continuous_bug_fix/commit_manager.py +178 -178
- tapps_agents/continuous_bug_fix/continuous_bug_fixer.py +322 -322
- tapps_agents/continuous_bug_fix/proactive_bug_finder.py +285 -285
- tapps_agents/core/__init__.py +298 -298
- tapps_agents/core/adaptive_cache_config.py +432 -432
- tapps_agents/core/agent_base.py +647 -647
- tapps_agents/core/agent_cache.py +466 -466
- tapps_agents/core/agent_learning.py +1865 -1865
- tapps_agents/core/analytics_dashboard.py +563 -563
- tapps_agents/core/analytics_enhancements.py +597 -597
- tapps_agents/core/anonymization.py +274 -274
- tapps_agents/core/ast_parser.py +228 -228
- tapps_agents/core/async_file_ops.py +402 -402
- tapps_agents/core/best_practice_consultant.py +299 -299
- tapps_agents/core/brownfield_analyzer.py +299 -299
- tapps_agents/core/brownfield_review.py +541 -541
- tapps_agents/core/browser_controller.py +513 -513
- tapps_agents/core/capability_registry.py +418 -418
- tapps_agents/core/change_impact_analyzer.py +190 -190
- tapps_agents/core/checkpoint_manager.py +377 -377
- tapps_agents/core/code_generator.py +329 -329
- tapps_agents/core/code_validator.py +276 -276
- tapps_agents/core/command_registry.py +327 -327
- tapps_agents/core/context_gathering/__init__.py +2 -2
- tapps_agents/core/context_gathering/repository_explorer.py +28 -28
- tapps_agents/core/context_intelligence/__init__.py +2 -2
- tapps_agents/core/context_intelligence/relevance_scorer.py +24 -24
- tapps_agents/core/context_intelligence/token_budget_manager.py +27 -27
- tapps_agents/core/context_manager.py +240 -240
- tapps_agents/core/cursor_feedback_monitor.py +146 -146
- tapps_agents/core/cursor_verification.py +290 -290
- tapps_agents/core/customization_loader.py +280 -280
- tapps_agents/core/customization_schema.py +260 -260
- tapps_agents/core/customization_template.py +238 -238
- tapps_agents/core/debug_logger.py +124 -124
- tapps_agents/core/design_validator.py +298 -298
- tapps_agents/core/diagram_generator.py +226 -226
- tapps_agents/core/docker_utils.py +232 -232
- tapps_agents/core/document_generator.py +617 -617
- tapps_agents/core/domain_detector.py +30 -30
- tapps_agents/core/error_envelope.py +454 -454
- tapps_agents/core/error_handler.py +270 -270
- tapps_agents/core/estimation_tracker.py +189 -189
- tapps_agents/core/eval_prompt_engine.py +116 -116
- tapps_agents/core/evaluation_base.py +119 -119
- tapps_agents/core/evaluation_models.py +320 -320
- tapps_agents/core/evaluation_orchestrator.py +225 -225
- tapps_agents/core/evaluators/__init__.py +7 -7
- tapps_agents/core/evaluators/architectural_evaluator.py +205 -205
- tapps_agents/core/evaluators/behavioral_evaluator.py +160 -160
- tapps_agents/core/evaluators/performance_profile_evaluator.py +160 -160
- tapps_agents/core/evaluators/security_posture_evaluator.py +148 -148
- tapps_agents/core/evaluators/spec_compliance_evaluator.py +181 -181
- tapps_agents/core/exceptions.py +107 -107
- tapps_agents/core/expert_config_generator.py +293 -293
- tapps_agents/core/export_schema.py +202 -202
- tapps_agents/core/external_feedback_models.py +102 -102
- tapps_agents/core/external_feedback_storage.py +213 -213
- tapps_agents/core/fallback_strategy.py +314 -314
- tapps_agents/core/feedback_analyzer.py +162 -162
- tapps_agents/core/feedback_collector.py +178 -178
- tapps_agents/core/git_operations.py +445 -445
- tapps_agents/core/hardware_profiler.py +151 -151
- tapps_agents/core/instructions.py +324 -324
- tapps_agents/core/io_guardrails.py +69 -69
- tapps_agents/core/issue_manifest.py +249 -249
- tapps_agents/core/issue_schema.py +139 -139
- tapps_agents/core/json_utils.py +128 -128
- tapps_agents/core/knowledge_graph.py +446 -446
- tapps_agents/core/language_detector.py +296 -296
- tapps_agents/core/learning_confidence.py +242 -242
- tapps_agents/core/learning_dashboard.py +246 -246
- tapps_agents/core/learning_decision.py +384 -384
- tapps_agents/core/learning_explainability.py +578 -578
- tapps_agents/core/learning_export.py +287 -287
- tapps_agents/core/learning_integration.py +228 -228
- tapps_agents/core/llm_behavior.py +232 -232
- tapps_agents/core/long_duration_support.py +786 -786
- tapps_agents/core/mcp_setup.py +106 -106
- tapps_agents/core/memory_integration.py +396 -396
- tapps_agents/core/meta_learning.py +666 -666
- tapps_agents/core/module_path_sanitizer.py +199 -199
- tapps_agents/core/multi_agent_orchestrator.py +382 -382
- tapps_agents/core/network_errors.py +125 -125
- tapps_agents/core/nfr_validator.py +336 -336
- tapps_agents/core/offline_mode.py +158 -158
- tapps_agents/core/output_contracts.py +300 -300
- tapps_agents/core/output_formatter.py +300 -300
- tapps_agents/core/path_normalizer.py +174 -174
- tapps_agents/core/path_validator.py +322 -322
- tapps_agents/core/pattern_library.py +250 -250
- tapps_agents/core/performance_benchmark.py +301 -301
- tapps_agents/core/performance_monitor.py +184 -184
- tapps_agents/core/playwright_mcp_controller.py +771 -771
- tapps_agents/core/policy_loader.py +135 -135
- tapps_agents/core/progress.py +166 -166
- tapps_agents/core/project_profile.py +354 -354
- tapps_agents/core/project_type_detector.py +454 -454
- tapps_agents/core/prompt_base.py +223 -223
- tapps_agents/core/prompt_learning/__init__.py +2 -2
- tapps_agents/core/prompt_learning/learning_loop.py +24 -24
- tapps_agents/core/prompt_learning/project_prompt_store.py +25 -25
- tapps_agents/core/prompt_learning/skills_prompt_analyzer.py +35 -35
- tapps_agents/core/prompt_optimization/__init__.py +6 -6
- tapps_agents/core/prompt_optimization/ab_tester.py +114 -114
- tapps_agents/core/prompt_optimization/correlation_analyzer.py +160 -160
- tapps_agents/core/prompt_optimization/progressive_refiner.py +129 -129
- tapps_agents/core/prompt_optimization/prompt_library.py +37 -37
- tapps_agents/core/requirements_evaluator.py +431 -431
- tapps_agents/core/resource_aware_executor.py +449 -449
- tapps_agents/core/resource_monitor.py +343 -343
- tapps_agents/core/resume_handler.py +298 -298
- tapps_agents/core/retry_handler.py +197 -197
- tapps_agents/core/review_checklists.py +479 -479
- tapps_agents/core/role_loader.py +201 -201
- tapps_agents/core/role_template_loader.py +201 -201
- tapps_agents/core/runtime_mode.py +60 -60
- tapps_agents/core/security_scanner.py +342 -342
- tapps_agents/core/skill_agent_registry.py +194 -194
- tapps_agents/core/skill_integration.py +208 -208
- tapps_agents/core/skill_loader.py +492 -492
- tapps_agents/core/skill_template.py +341 -341
- tapps_agents/core/skill_validator.py +478 -478
- tapps_agents/core/stack_analyzer.py +35 -35
- tapps_agents/core/startup.py +174 -174
- tapps_agents/core/storage_manager.py +397 -397
- tapps_agents/core/storage_models.py +166 -166
- tapps_agents/core/story_evaluator.py +410 -410
- tapps_agents/core/subprocess_utils.py +170 -170
- tapps_agents/core/task_duration.py +296 -296
- tapps_agents/core/task_memory.py +582 -582
- tapps_agents/core/task_state.py +226 -226
- tapps_agents/core/tech_stack_priorities.py +208 -208
- tapps_agents/core/temp_directory.py +194 -194
- tapps_agents/core/template_merger.py +600 -600
- tapps_agents/core/template_selector.py +280 -280
- tapps_agents/core/test_generator.py +286 -286
- tapps_agents/core/tiered_context.py +253 -253
- tapps_agents/core/token_monitor.py +345 -345
- tapps_agents/core/traceability.py +254 -254
- tapps_agents/core/trajectory_tracker.py +50 -50
- tapps_agents/core/unicode_safe.py +143 -143
- tapps_agents/core/unified_cache_config.py +170 -170
- tapps_agents/core/unified_state.py +324 -324
- tapps_agents/core/validate_cursor_setup.py +237 -237
- tapps_agents/core/validation_registry.py +136 -136
- tapps_agents/core/validators/__init__.py +4 -4
- tapps_agents/core/validators/python_validator.py +87 -87
- tapps_agents/core/verification_agent.py +90 -90
- tapps_agents/core/visual_feedback.py +644 -644
- tapps_agents/core/workflow_validator.py +197 -197
- tapps_agents/core/worktree.py +367 -367
- tapps_agents/docker/__init__.py +10 -10
- tapps_agents/docker/analyzer.py +186 -186
- tapps_agents/docker/debugger.py +229 -229
- tapps_agents/docker/error_patterns.py +216 -216
- tapps_agents/epic/__init__.py +22 -22
- tapps_agents/epic/beads_sync.py +115 -115
- tapps_agents/epic/markdown_sync.py +105 -105
- tapps_agents/epic/models.py +96 -96
- tapps_agents/experts/__init__.py +163 -163
- tapps_agents/experts/agent_integration.py +243 -243
- tapps_agents/experts/auto_generator.py +331 -331
- tapps_agents/experts/base_expert.py +536 -536
- tapps_agents/experts/builtin_registry.py +261 -261
- tapps_agents/experts/business_metrics.py +565 -565
- tapps_agents/experts/cache.py +266 -266
- tapps_agents/experts/confidence_breakdown.py +306 -306
- tapps_agents/experts/confidence_calculator.py +336 -336
- tapps_agents/experts/confidence_metrics.py +236 -236
- tapps_agents/experts/domain_config.py +311 -311
- tapps_agents/experts/domain_detector.py +550 -550
- tapps_agents/experts/domain_utils.py +84 -84
- tapps_agents/experts/expert_config.py +113 -113
- tapps_agents/experts/expert_engine.py +465 -465
- tapps_agents/experts/expert_registry.py +744 -744
- tapps_agents/experts/expert_synthesizer.py +70 -70
- tapps_agents/experts/governance.py +197 -197
- tapps_agents/experts/history_logger.py +312 -312
- tapps_agents/experts/knowledge/README.md +180 -180
- tapps_agents/experts/knowledge/accessibility/accessible-forms.md +331 -331
- tapps_agents/experts/knowledge/accessibility/aria-patterns.md +344 -344
- tapps_agents/experts/knowledge/accessibility/color-contrast.md +285 -285
- tapps_agents/experts/knowledge/accessibility/keyboard-navigation.md +332 -332
- tapps_agents/experts/knowledge/accessibility/screen-readers.md +282 -282
- tapps_agents/experts/knowledge/accessibility/semantic-html.md +355 -355
- tapps_agents/experts/knowledge/accessibility/testing-accessibility.md +369 -369
- tapps_agents/experts/knowledge/accessibility/wcag-2.1.md +296 -296
- tapps_agents/experts/knowledge/accessibility/wcag-2.2.md +211 -211
- tapps_agents/experts/knowledge/agent-learning/best-practices.md +715 -715
- tapps_agents/experts/knowledge/agent-learning/pattern-extraction.md +282 -282
- tapps_agents/experts/knowledge/agent-learning/prompt-optimization.md +320 -320
- tapps_agents/experts/knowledge/ai-frameworks/model-optimization.md +90 -90
- tapps_agents/experts/knowledge/ai-frameworks/openvino-patterns.md +260 -260
- tapps_agents/experts/knowledge/api-design-integration/api-gateway-patterns.md +309 -309
- tapps_agents/experts/knowledge/api-design-integration/api-security-patterns.md +521 -521
- tapps_agents/experts/knowledge/api-design-integration/api-versioning.md +421 -421
- tapps_agents/experts/knowledge/api-design-integration/async-protocol-patterns.md +61 -61
- tapps_agents/experts/knowledge/api-design-integration/contract-testing.md +221 -221
- tapps_agents/experts/knowledge/api-design-integration/external-api-integration.md +489 -489
- tapps_agents/experts/knowledge/api-design-integration/fastapi-patterns.md +360 -360
- tapps_agents/experts/knowledge/api-design-integration/fastapi-testing.md +262 -262
- tapps_agents/experts/knowledge/api-design-integration/graphql-patterns.md +582 -582
- tapps_agents/experts/knowledge/api-design-integration/grpc-best-practices.md +499 -499
- tapps_agents/experts/knowledge/api-design-integration/mqtt-patterns.md +455 -455
- tapps_agents/experts/knowledge/api-design-integration/rate-limiting.md +507 -507
- tapps_agents/experts/knowledge/api-design-integration/restful-api-design.md +618 -618
- tapps_agents/experts/knowledge/api-design-integration/websocket-patterns.md +480 -480
- tapps_agents/experts/knowledge/cloud-infrastructure/cloud-native-patterns.md +175 -175
- tapps_agents/experts/knowledge/cloud-infrastructure/container-health-checks.md +261 -261
- tapps_agents/experts/knowledge/cloud-infrastructure/containerization.md +222 -222
- tapps_agents/experts/knowledge/cloud-infrastructure/cost-optimization.md +122 -122
- tapps_agents/experts/knowledge/cloud-infrastructure/disaster-recovery.md +153 -153
- tapps_agents/experts/knowledge/cloud-infrastructure/dockerfile-patterns.md +285 -285
- tapps_agents/experts/knowledge/cloud-infrastructure/infrastructure-as-code.md +187 -187
- tapps_agents/experts/knowledge/cloud-infrastructure/kubernetes-patterns.md +253 -253
- tapps_agents/experts/knowledge/cloud-infrastructure/multi-cloud-strategies.md +155 -155
- tapps_agents/experts/knowledge/cloud-infrastructure/serverless-architecture.md +200 -200
- tapps_agents/experts/knowledge/code-quality-analysis/README.md +16 -16
- tapps_agents/experts/knowledge/code-quality-analysis/code-metrics.md +137 -137
- tapps_agents/experts/knowledge/code-quality-analysis/complexity-analysis.md +181 -181
- tapps_agents/experts/knowledge/code-quality-analysis/technical-debt-patterns.md +191 -191
- tapps_agents/experts/knowledge/data-privacy-compliance/anonymization.md +313 -313
- tapps_agents/experts/knowledge/data-privacy-compliance/ccpa.md +255 -255
- tapps_agents/experts/knowledge/data-privacy-compliance/consent-management.md +282 -282
- tapps_agents/experts/knowledge/data-privacy-compliance/data-minimization.md +275 -275
- tapps_agents/experts/knowledge/data-privacy-compliance/data-retention.md +297 -297
- tapps_agents/experts/knowledge/data-privacy-compliance/data-subject-rights.md +383 -383
- tapps_agents/experts/knowledge/data-privacy-compliance/encryption-privacy.md +285 -285
- tapps_agents/experts/knowledge/data-privacy-compliance/gdpr.md +344 -344
- tapps_agents/experts/knowledge/data-privacy-compliance/hipaa.md +385 -385
- tapps_agents/experts/knowledge/data-privacy-compliance/privacy-by-design.md +280 -280
- tapps_agents/experts/knowledge/database-data-management/acid-vs-cap.md +164 -164
- tapps_agents/experts/knowledge/database-data-management/backup-and-recovery.md +182 -182
- tapps_agents/experts/knowledge/database-data-management/data-modeling.md +172 -172
- tapps_agents/experts/knowledge/database-data-management/database-design.md +187 -187
- tapps_agents/experts/knowledge/database-data-management/flux-query-optimization.md +342 -342
- tapps_agents/experts/knowledge/database-data-management/influxdb-connection-patterns.md +432 -432
- tapps_agents/experts/knowledge/database-data-management/influxdb-patterns.md +442 -442
- tapps_agents/experts/knowledge/database-data-management/migration-strategies.md +216 -216
- tapps_agents/experts/knowledge/database-data-management/nosql-patterns.md +259 -259
- tapps_agents/experts/knowledge/database-data-management/scalability-patterns.md +184 -184
- tapps_agents/experts/knowledge/database-data-management/sql-optimization.md +175 -175
- tapps_agents/experts/knowledge/database-data-management/time-series-modeling.md +444 -444
- tapps_agents/experts/knowledge/development-workflow/README.md +16 -16
- tapps_agents/experts/knowledge/development-workflow/automation-best-practices.md +216 -216
- tapps_agents/experts/knowledge/development-workflow/build-strategies.md +198 -198
- tapps_agents/experts/knowledge/development-workflow/deployment-patterns.md +205 -205
- tapps_agents/experts/knowledge/development-workflow/git-workflows.md +205 -205
- tapps_agents/experts/knowledge/documentation-knowledge-management/README.md +16 -16
- tapps_agents/experts/knowledge/documentation-knowledge-management/api-documentation-patterns.md +231 -231
- tapps_agents/experts/knowledge/documentation-knowledge-management/documentation-standards.md +191 -191
- tapps_agents/experts/knowledge/documentation-knowledge-management/knowledge-management.md +171 -171
- tapps_agents/experts/knowledge/documentation-knowledge-management/technical-writing-guide.md +192 -192
- tapps_agents/experts/knowledge/observability-monitoring/alerting-patterns.md +461 -461
- tapps_agents/experts/knowledge/observability-monitoring/apm-tools.md +459 -459
- tapps_agents/experts/knowledge/observability-monitoring/distributed-tracing.md +367 -367
- tapps_agents/experts/knowledge/observability-monitoring/logging-strategies.md +478 -478
- tapps_agents/experts/knowledge/observability-monitoring/metrics-and-monitoring.md +510 -510
- tapps_agents/experts/knowledge/observability-monitoring/observability-best-practices.md +492 -492
- tapps_agents/experts/knowledge/observability-monitoring/open-telemetry.md +573 -573
- tapps_agents/experts/knowledge/observability-monitoring/slo-sli-sla.md +419 -419
- tapps_agents/experts/knowledge/performance/anti-patterns.md +284 -284
- tapps_agents/experts/knowledge/performance/api-performance.md +256 -256
- tapps_agents/experts/knowledge/performance/caching.md +327 -327
- tapps_agents/experts/knowledge/performance/database-performance.md +252 -252
- tapps_agents/experts/knowledge/performance/optimization-patterns.md +327 -327
- tapps_agents/experts/knowledge/performance/profiling.md +297 -297
- tapps_agents/experts/knowledge/performance/resource-management.md +293 -293
- tapps_agents/experts/knowledge/performance/scalability.md +306 -306
- tapps_agents/experts/knowledge/security/owasp-top10.md +209 -209
- tapps_agents/experts/knowledge/security/secure-coding-practices.md +207 -207
- tapps_agents/experts/knowledge/security/threat-modeling.md +220 -220
- tapps_agents/experts/knowledge/security/vulnerability-patterns.md +342 -342
- tapps_agents/experts/knowledge/software-architecture/docker-compose-patterns.md +314 -314
- tapps_agents/experts/knowledge/software-architecture/microservices-patterns.md +379 -379
- tapps_agents/experts/knowledge/software-architecture/service-communication.md +316 -316
- tapps_agents/experts/knowledge/testing/best-practices.md +310 -310
- tapps_agents/experts/knowledge/testing/coverage-analysis.md +293 -293
- tapps_agents/experts/knowledge/testing/mocking.md +256 -256
- tapps_agents/experts/knowledge/testing/test-automation.md +276 -276
- tapps_agents/experts/knowledge/testing/test-data.md +271 -271
- tapps_agents/experts/knowledge/testing/test-design-patterns.md +280 -280
- tapps_agents/experts/knowledge/testing/test-maintenance.md +236 -236
- tapps_agents/experts/knowledge/testing/test-strategies.md +311 -311
- tapps_agents/experts/knowledge/user-experience/information-architecture.md +325 -325
- tapps_agents/experts/knowledge/user-experience/interaction-design.md +363 -363
- tapps_agents/experts/knowledge/user-experience/prototyping.md +293 -293
- tapps_agents/experts/knowledge/user-experience/usability-heuristics.md +337 -337
- tapps_agents/experts/knowledge/user-experience/usability-testing.md +311 -311
- tapps_agents/experts/knowledge/user-experience/user-journeys.md +296 -296
- tapps_agents/experts/knowledge/user-experience/user-research.md +373 -373
- tapps_agents/experts/knowledge/user-experience/ux-principles.md +340 -340
- tapps_agents/experts/knowledge_freshness.py +321 -321
- tapps_agents/experts/knowledge_ingestion.py +438 -438
- tapps_agents/experts/knowledge_need_detector.py +93 -93
- tapps_agents/experts/knowledge_validator.py +382 -382
- tapps_agents/experts/observability.py +440 -440
- tapps_agents/experts/passive_notifier.py +238 -238
- tapps_agents/experts/proactive_orchestrator.py +32 -32
- tapps_agents/experts/rag_chunker.py +205 -205
- tapps_agents/experts/rag_embedder.py +152 -152
- tapps_agents/experts/rag_evaluation.py +299 -299
- tapps_agents/experts/rag_index.py +303 -303
- tapps_agents/experts/rag_metrics.py +293 -293
- tapps_agents/experts/rag_safety.py +263 -263
- tapps_agents/experts/report_generator.py +296 -296
- tapps_agents/experts/setup_wizard.py +441 -441
- tapps_agents/experts/simple_rag.py +431 -431
- tapps_agents/experts/vector_rag.py +354 -354
- tapps_agents/experts/weight_distributor.py +304 -304
- tapps_agents/health/__init__.py +24 -24
- tapps_agents/health/base.py +75 -75
- tapps_agents/health/checks/__init__.py +22 -22
- tapps_agents/health/checks/automation.py +127 -127
- tapps_agents/health/checks/context7_cache.py +210 -210
- tapps_agents/health/checks/environment.py +116 -116
- tapps_agents/health/checks/execution.py +170 -170
- tapps_agents/health/checks/knowledge_base.py +187 -187
- tapps_agents/health/checks/outcomes.backup_20260204_064058.py +324 -0
- tapps_agents/health/checks/outcomes.backup_20260204_064256.py +324 -0
- tapps_agents/health/checks/outcomes.backup_20260204_064600.py +324 -0
- tapps_agents/health/checks/outcomes.py +324 -324
- tapps_agents/health/collector.py +280 -280
- tapps_agents/health/dashboard.py +137 -137
- tapps_agents/health/metrics.py +151 -151
- tapps_agents/health/registry.py +166 -166
- tapps_agents/hooks/__init__.py +33 -33
- tapps_agents/hooks/config.py +140 -140
- tapps_agents/hooks/events.py +135 -135
- tapps_agents/hooks/executor.py +128 -128
- tapps_agents/hooks/manager.py +143 -143
- tapps_agents/integration/__init__.py +8 -8
- tapps_agents/integration/service_integrator.py +121 -121
- tapps_agents/integrations/__init__.py +10 -10
- tapps_agents/integrations/clawdbot.py +525 -525
- tapps_agents/integrations/memory_bridge.py +356 -356
- tapps_agents/mcp/__init__.py +18 -18
- tapps_agents/mcp/gateway.py +112 -112
- tapps_agents/mcp/servers/__init__.py +13 -13
- tapps_agents/mcp/servers/analysis.py +204 -204
- tapps_agents/mcp/servers/context7.py +198 -198
- tapps_agents/mcp/servers/filesystem.py +218 -218
- tapps_agents/mcp/servers/git.py +201 -201
- tapps_agents/mcp/tool_registry.py +115 -115
- tapps_agents/quality/__init__.py +54 -54
- tapps_agents/quality/coverage_analyzer.py +379 -379
- tapps_agents/quality/enforcement.py +82 -82
- tapps_agents/quality/gates/__init__.py +37 -37
- tapps_agents/quality/gates/approval_gate.py +255 -255
- tapps_agents/quality/gates/base.py +84 -84
- tapps_agents/quality/gates/exceptions.py +43 -43
- tapps_agents/quality/gates/policy_gate.py +195 -195
- tapps_agents/quality/gates/registry.py +239 -239
- tapps_agents/quality/gates/security_gate.py +156 -156
- tapps_agents/quality/quality_gates.py +369 -369
- tapps_agents/quality/secret_scanner.py +335 -335
- tapps_agents/resources/__init__.py +5 -0
- tapps_agents/resources/claude/__init__.py +1 -0
- tapps_agents/resources/claude/commands/README.md +156 -0
- tapps_agents/resources/claude/commands/__init__.py +1 -0
- tapps_agents/resources/claude/commands/build-fix.md +22 -0
- tapps_agents/resources/claude/commands/build.md +77 -0
- tapps_agents/resources/claude/commands/debug.md +53 -0
- tapps_agents/resources/claude/commands/design.md +68 -0
- tapps_agents/resources/claude/commands/docs.md +53 -0
- tapps_agents/resources/claude/commands/e2e.md +22 -0
- tapps_agents/resources/claude/commands/fix.md +54 -0
- tapps_agents/resources/claude/commands/implement.md +53 -0
- tapps_agents/resources/claude/commands/improve.md +53 -0
- tapps_agents/resources/claude/commands/library-docs.md +64 -0
- tapps_agents/resources/claude/commands/lint.md +52 -0
- tapps_agents/resources/claude/commands/plan.md +65 -0
- tapps_agents/resources/claude/commands/refactor-clean.md +21 -0
- tapps_agents/resources/claude/commands/refactor.md +55 -0
- tapps_agents/resources/claude/commands/review.md +67 -0
- tapps_agents/resources/claude/commands/score.md +60 -0
- tapps_agents/resources/claude/commands/security-review.md +22 -0
- tapps_agents/resources/claude/commands/security-scan.md +54 -0
- tapps_agents/resources/claude/commands/tdd.md +24 -0
- tapps_agents/resources/claude/commands/test-coverage.md +21 -0
- tapps_agents/resources/claude/commands/test.md +54 -0
- tapps_agents/resources/claude/commands/update-codemaps.md +20 -0
- tapps_agents/resources/claude/commands/update-docs.md +21 -0
- tapps_agents/resources/claude/skills/__init__.py +1 -0
- tapps_agents/resources/claude/skills/analyst/SKILL.md +272 -0
- tapps_agents/resources/claude/skills/analyst/__init__.py +1 -0
- tapps_agents/resources/claude/skills/architect/SKILL.md +282 -0
- tapps_agents/resources/claude/skills/architect/__init__.py +1 -0
- tapps_agents/resources/claude/skills/backend-patterns/SKILL.md +30 -0
- tapps_agents/resources/claude/skills/backend-patterns/__init__.py +1 -0
- tapps_agents/resources/claude/skills/coding-standards/SKILL.md +29 -0
- tapps_agents/resources/claude/skills/coding-standards/__init__.py +1 -0
- tapps_agents/resources/claude/skills/debugger/SKILL.md +203 -0
- tapps_agents/resources/claude/skills/debugger/__init__.py +1 -0
- tapps_agents/resources/claude/skills/designer/SKILL.md +243 -0
- tapps_agents/resources/claude/skills/designer/__init__.py +1 -0
- tapps_agents/resources/claude/skills/documenter/SKILL.md +252 -0
- tapps_agents/resources/claude/skills/documenter/__init__.py +1 -0
- tapps_agents/resources/claude/skills/enhancer/SKILL.md +307 -0
- tapps_agents/resources/claude/skills/enhancer/__init__.py +1 -0
- tapps_agents/resources/claude/skills/evaluator/SKILL.md +204 -0
- tapps_agents/resources/claude/skills/evaluator/__init__.py +1 -0
- tapps_agents/resources/claude/skills/frontend-patterns/SKILL.md +29 -0
- tapps_agents/resources/claude/skills/frontend-patterns/__init__.py +1 -0
- tapps_agents/resources/claude/skills/implementer/SKILL.md +188 -0
- tapps_agents/resources/claude/skills/implementer/__init__.py +1 -0
- tapps_agents/resources/claude/skills/improver/SKILL.md +218 -0
- tapps_agents/resources/claude/skills/improver/__init__.py +1 -0
- tapps_agents/resources/claude/skills/ops/SKILL.md +281 -0
- tapps_agents/resources/claude/skills/ops/__init__.py +1 -0
- tapps_agents/resources/claude/skills/orchestrator/SKILL.md +390 -0
- tapps_agents/resources/claude/skills/orchestrator/__init__.py +1 -0
- tapps_agents/resources/claude/skills/planner/SKILL.md +254 -0
- tapps_agents/resources/claude/skills/planner/__init__.py +1 -0
- tapps_agents/resources/claude/skills/reviewer/SKILL.md +434 -0
- tapps_agents/resources/claude/skills/reviewer/__init__.py +1 -0
- tapps_agents/resources/claude/skills/security-review/SKILL.md +31 -0
- tapps_agents/resources/claude/skills/security-review/__init__.py +1 -0
- tapps_agents/resources/claude/skills/simple-mode/SKILL.md +695 -0
- tapps_agents/resources/claude/skills/simple-mode/__init__.py +1 -0
- tapps_agents/resources/claude/skills/tester/SKILL.md +219 -0
- tapps_agents/resources/claude/skills/tester/__init__.py +1 -0
- tapps_agents/resources/cursor/.cursorignore +35 -0
- tapps_agents/resources/cursor/__init__.py +1 -0
- tapps_agents/resources/cursor/commands/__init__.py +1 -0
- tapps_agents/resources/cursor/commands/build-fix.md +11 -0
- tapps_agents/resources/cursor/commands/build.md +11 -0
- tapps_agents/resources/cursor/commands/e2e.md +11 -0
- tapps_agents/resources/cursor/commands/fix.md +11 -0
- tapps_agents/resources/cursor/commands/refactor-clean.md +11 -0
- tapps_agents/resources/cursor/commands/review.md +11 -0
- tapps_agents/resources/cursor/commands/security-review.md +11 -0
- tapps_agents/resources/cursor/commands/tdd.md +11 -0
- tapps_agents/resources/cursor/commands/test-coverage.md +11 -0
- tapps_agents/resources/cursor/commands/test.md +11 -0
- tapps_agents/resources/cursor/commands/update-codemaps.md +10 -0
- tapps_agents/resources/cursor/commands/update-docs.md +11 -0
- tapps_agents/resources/cursor/rules/__init__.py +1 -0
- tapps_agents/resources/cursor/rules/agent-capabilities.mdc +687 -0
- tapps_agents/resources/cursor/rules/coding-style.mdc +31 -0
- tapps_agents/resources/cursor/rules/command-reference.mdc +2081 -0
- tapps_agents/resources/cursor/rules/cursor-mode-usage.mdc +125 -0
- tapps_agents/resources/cursor/rules/git-workflow.mdc +29 -0
- tapps_agents/resources/cursor/rules/performance.mdc +29 -0
- tapps_agents/resources/cursor/rules/project-context.mdc +163 -0
- tapps_agents/resources/cursor/rules/project-profiling.mdc +197 -0
- tapps_agents/resources/cursor/rules/quick-reference.mdc +630 -0
- tapps_agents/resources/cursor/rules/security.mdc +32 -0
- tapps_agents/resources/cursor/rules/simple-mode.mdc +500 -0
- tapps_agents/resources/cursor/rules/testing.mdc +31 -0
- tapps_agents/resources/cursor/rules/when-to-use.mdc +156 -0
- tapps_agents/resources/cursor/rules/workflow-presets.mdc +179 -0
- tapps_agents/resources/customizations/__init__.py +1 -0
- tapps_agents/resources/customizations/example-custom.yaml +83 -0
- tapps_agents/resources/hooks/__init__.py +1 -0
- tapps_agents/resources/hooks/templates/README.md +5 -0
- tapps_agents/resources/hooks/templates/__init__.py +1 -0
- tapps_agents/resources/hooks/templates/add-project-context.yaml +8 -0
- tapps_agents/resources/hooks/templates/auto-format-js.yaml +10 -0
- tapps_agents/resources/hooks/templates/auto-format-python.yaml +10 -0
- tapps_agents/resources/hooks/templates/git-commit-check.yaml +7 -0
- tapps_agents/resources/hooks/templates/notify-on-complete.yaml +8 -0
- tapps_agents/resources/hooks/templates/quality-gate.yaml +8 -0
- tapps_agents/resources/hooks/templates/security-scan-on-edit.yaml +10 -0
- tapps_agents/resources/hooks/templates/session-end-log.yaml +7 -0
- tapps_agents/resources/hooks/templates/show-beads-ready.yaml +8 -0
- tapps_agents/resources/hooks/templates/test-on-edit.yaml +10 -0
- tapps_agents/resources/hooks/templates/update-docs-on-complete.yaml +8 -0
- tapps_agents/resources/hooks/templates/user-prompt-log.yaml +7 -0
- tapps_agents/resources/scripts/__init__.py +1 -0
- tapps_agents/resources/scripts/set_bd_path.ps1 +51 -0
- tapps_agents/resources/workflows/__init__.py +1 -0
- tapps_agents/resources/workflows/presets/__init__.py +1 -0
- tapps_agents/resources/workflows/presets/brownfield-analysis.yaml +235 -0
- tapps_agents/resources/workflows/presets/fix.yaml +78 -0
- tapps_agents/resources/workflows/presets/full-sdlc.yaml +122 -0
- tapps_agents/resources/workflows/presets/quality.yaml +82 -0
- tapps_agents/resources/workflows/presets/rapid-dev.yaml +84 -0
- tapps_agents/session/__init__.py +19 -19
- tapps_agents/session/manager.py +256 -256
- tapps_agents/simple_mode/__init__.py +66 -66
- tapps_agents/simple_mode/agent_contracts.py +357 -357
- tapps_agents/simple_mode/beads_hooks.py +151 -151
- tapps_agents/simple_mode/code_snippet_handler.py +382 -382
- tapps_agents/simple_mode/documentation_manager.py +395 -395
- tapps_agents/simple_mode/documentation_reader.py +187 -187
- tapps_agents/simple_mode/file_inference.py +292 -292
- tapps_agents/simple_mode/framework_change_detector.py +268 -268
- tapps_agents/simple_mode/intent_parser.py +510 -510
- tapps_agents/simple_mode/learning_progression.py +358 -358
- tapps_agents/simple_mode/nl_handler.py +700 -700
- tapps_agents/simple_mode/onboarding.py +253 -253
- tapps_agents/simple_mode/orchestrators/__init__.py +38 -38
- tapps_agents/simple_mode/orchestrators/breakdown_orchestrator.py +49 -49
- tapps_agents/simple_mode/orchestrators/brownfield_orchestrator.py +135 -135
- tapps_agents/simple_mode/orchestrators/deliverable_checklist.py +349 -349
- tapps_agents/simple_mode/orchestrators/enhance_orchestrator.py +53 -53
- tapps_agents/simple_mode/orchestrators/epic_orchestrator.py +122 -122
- tapps_agents/simple_mode/orchestrators/explore_orchestrator.py +184 -184
- tapps_agents/simple_mode/orchestrators/plan_analysis_orchestrator.py +206 -206
- tapps_agents/simple_mode/orchestrators/pr_orchestrator.py +237 -237
- tapps_agents/simple_mode/orchestrators/refactor_orchestrator.py +222 -222
- tapps_agents/simple_mode/orchestrators/requirements_tracer.py +262 -262
- tapps_agents/simple_mode/orchestrators/resume_orchestrator.py +210 -210
- tapps_agents/simple_mode/orchestrators/review_orchestrator.py +161 -161
- tapps_agents/simple_mode/orchestrators/test_orchestrator.py +82 -82
- tapps_agents/simple_mode/output_aggregator.py +340 -340
- tapps_agents/simple_mode/result_formatters.py +598 -598
- tapps_agents/simple_mode/step_dependencies.py +382 -382
- tapps_agents/simple_mode/step_results.py +276 -276
- tapps_agents/simple_mode/streaming.py +388 -388
- tapps_agents/simple_mode/variations.py +129 -129
- tapps_agents/simple_mode/visual_feedback.py +238 -238
- tapps_agents/simple_mode/zero_config.py +274 -274
- tapps_agents/suggestions/__init__.py +8 -8
- tapps_agents/suggestions/inline_suggester.py +52 -52
- tapps_agents/templates/__init__.py +8 -8
- tapps_agents/templates/microservice_generator.py +274 -274
- tapps_agents/utils/env_validator.py +291 -291
- tapps_agents/workflow/__init__.py +171 -171
- tapps_agents/workflow/acceptance_verifier.py +132 -132
- tapps_agents/workflow/agent_handlers/__init__.py +41 -41
- tapps_agents/workflow/agent_handlers/analyst_handler.py +75 -75
- tapps_agents/workflow/agent_handlers/architect_handler.py +107 -107
- tapps_agents/workflow/agent_handlers/base.py +84 -84
- tapps_agents/workflow/agent_handlers/debugger_handler.py +100 -100
- tapps_agents/workflow/agent_handlers/designer_handler.py +110 -110
- tapps_agents/workflow/agent_handlers/documenter_handler.py +94 -94
- tapps_agents/workflow/agent_handlers/implementer_handler.py +235 -235
- tapps_agents/workflow/agent_handlers/ops_handler.py +62 -62
- tapps_agents/workflow/agent_handlers/orchestrator_handler.py +43 -43
- tapps_agents/workflow/agent_handlers/planner_handler.py +98 -98
- tapps_agents/workflow/agent_handlers/registry.py +119 -119
- tapps_agents/workflow/agent_handlers/reviewer_handler.py +119 -119
- tapps_agents/workflow/agent_handlers/tester_handler.py +69 -69
- tapps_agents/workflow/analytics_accessor.py +337 -337
- tapps_agents/workflow/analytics_alerts.py +416 -416
- tapps_agents/workflow/analytics_dashboard_cursor.py +281 -281
- tapps_agents/workflow/analytics_dual_write.py +103 -103
- tapps_agents/workflow/analytics_integration.py +119 -119
- tapps_agents/workflow/analytics_query_parser.py +278 -278
- tapps_agents/workflow/analytics_visualizer.py +259 -259
- tapps_agents/workflow/artifact_helper.py +204 -204
- tapps_agents/workflow/audit_logger.py +263 -263
- tapps_agents/workflow/auto_execution_config.py +340 -340
- tapps_agents/workflow/auto_progression.py +586 -586
- tapps_agents/workflow/branch_cleanup.py +349 -349
- tapps_agents/workflow/checkpoint.py +256 -256
- tapps_agents/workflow/checkpoint_manager.py +178 -178
- tapps_agents/workflow/code_artifact.py +179 -179
- tapps_agents/workflow/common_enums.py +96 -96
- tapps_agents/workflow/confirmation_handler.py +130 -130
- tapps_agents/workflow/context_analyzer.py +222 -222
- tapps_agents/workflow/context_artifact.py +230 -230
- tapps_agents/workflow/cursor_chat.py +94 -94
- tapps_agents/workflow/cursor_skill_helper.py +516 -516
- tapps_agents/workflow/dependency_resolver.py +244 -244
- tapps_agents/workflow/design_artifact.py +156 -156
- tapps_agents/workflow/detector.py +751 -751
- tapps_agents/workflow/direct_execution_fallback.py +301 -301
- tapps_agents/workflow/docs_artifact.py +168 -168
- tapps_agents/workflow/enforcer.py +389 -389
- tapps_agents/workflow/enhancement_artifact.py +142 -142
- tapps_agents/workflow/error_recovery.py +806 -806
- tapps_agents/workflow/event_bus.py +183 -183
- tapps_agents/workflow/event_log.py +612 -612
- tapps_agents/workflow/events.py +63 -63
- tapps_agents/workflow/exceptions.py +43 -43
- tapps_agents/workflow/execution_graph.py +498 -498
- tapps_agents/workflow/execution_plan.py +126 -126
- tapps_agents/workflow/file_utils.py +186 -186
- tapps_agents/workflow/gate_evaluator.py +182 -182
- tapps_agents/workflow/gate_integration.py +200 -200
- tapps_agents/workflow/graph_visualizer.py +130 -130
- tapps_agents/workflow/health_checker.py +206 -206
- tapps_agents/workflow/logging_helper.py +243 -243
- tapps_agents/workflow/manifest.py +582 -582
- tapps_agents/workflow/marker_writer.py +250 -250
- tapps_agents/workflow/messaging.py +325 -325
- tapps_agents/workflow/metadata_models.py +91 -91
- tapps_agents/workflow/metrics_integration.py +226 -226
- tapps_agents/workflow/migration_utils.py +116 -116
- tapps_agents/workflow/models.py +148 -148
- tapps_agents/workflow/nlp_config.py +198 -198
- tapps_agents/workflow/nlp_error_handler.py +207 -207
- tapps_agents/workflow/nlp_executor.py +163 -163
- tapps_agents/workflow/nlp_parser.py +528 -528
- tapps_agents/workflow/observability_dashboard.py +451 -451
- tapps_agents/workflow/observer.py +170 -170
- tapps_agents/workflow/ops_artifact.py +257 -257
- tapps_agents/workflow/output_passing.py +214 -214
- tapps_agents/workflow/parallel_executor.py +463 -463
- tapps_agents/workflow/planning_artifact.py +179 -179
- tapps_agents/workflow/preset_loader.py +285 -285
- tapps_agents/workflow/preset_recommender.py +270 -270
- tapps_agents/workflow/progress_logger.py +145 -145
- tapps_agents/workflow/progress_manager.py +303 -303
- tapps_agents/workflow/progress_monitor.py +186 -186
- tapps_agents/workflow/progress_updates.py +423 -423
- tapps_agents/workflow/quality_artifact.py +158 -158
- tapps_agents/workflow/quality_loopback.py +101 -101
- tapps_agents/workflow/recommender.py +387 -387
- tapps_agents/workflow/remediation_loop.py +166 -166
- tapps_agents/workflow/result_aggregator.py +300 -300
- tapps_agents/workflow/review_artifact.py +185 -185
- tapps_agents/workflow/schema_validator.py +522 -522
- tapps_agents/workflow/session_handoff.py +178 -178
- tapps_agents/workflow/skill_invoker.py +648 -648
- tapps_agents/workflow/state_manager.py +756 -756
- tapps_agents/workflow/state_persistence_config.py +331 -331
- tapps_agents/workflow/status_monitor.py +449 -449
- tapps_agents/workflow/step_checkpoint.py +314 -314
- tapps_agents/workflow/step_details.py +201 -201
- tapps_agents/workflow/story_models.py +147 -147
- tapps_agents/workflow/streaming.py +416 -416
- tapps_agents/workflow/suggestion_engine.py +552 -552
- tapps_agents/workflow/testing_artifact.py +186 -186
- tapps_agents/workflow/timeline.py +158 -158
- tapps_agents/workflow/token_integration.py +209 -209
- tapps_agents/workflow/validation.py +217 -217
- tapps_agents/workflow/visual_feedback.py +391 -391
- tapps_agents/workflow/workflow_chain.py +95 -95
- tapps_agents/workflow/workflow_summary.py +219 -219
- tapps_agents/workflow/worktree_manager.py +724 -724
- {tapps_agents-3.6.0.dist-info → tapps_agents-3.6.1.dist-info}/METADATA +672 -672
- tapps_agents-3.6.1.dist-info/RECORD +883 -0
- {tapps_agents-3.6.0.dist-info → tapps_agents-3.6.1.dist-info}/licenses/LICENSE +22 -22
- tapps_agents-3.6.0.dist-info/RECORD +0 -758
- {tapps_agents-3.6.0.dist-info → tapps_agents-3.6.1.dist-info}/WHEEL +0 -0
- {tapps_agents-3.6.0.dist-info → tapps_agents-3.6.1.dist-info}/entry_points.txt +0 -0
- {tapps_agents-3.6.0.dist-info → tapps_agents-3.6.1.dist-info}/top_level.txt +0 -0
|
@@ -1,715 +1,715 @@
|
|
|
1
|
-
# Self-Improving Agents Best Practices
|
|
2
|
-
|
|
3
|
-
## Overview
|
|
4
|
-
|
|
5
|
-
Self-improving agents learn from past tasks to enhance their capabilities over time. This guide covers best practices for implementing and using agent learning systems effectively.
|
|
6
|
-
|
|
7
|
-
## Core Principles
|
|
8
|
-
|
|
9
|
-
### 1. Incremental Learning
|
|
10
|
-
|
|
11
|
-
**Best Practice:** Learn incrementally from each task, not in batches.
|
|
12
|
-
|
|
13
|
-
```python
|
|
14
|
-
# Good: Learn after each task
|
|
15
|
-
async def execute_task(self, command: str, **kwargs):
|
|
16
|
-
result = await self._execute_internal(command, **kwargs)
|
|
17
|
-
self.learn_from_task(capability_id, task_id, code=code, success=True)
|
|
18
|
-
return result
|
|
19
|
-
|
|
20
|
-
# Bad: Learning in batches
|
|
21
|
-
# This delays learning and reduces responsiveness
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
**Benefits:**
|
|
25
|
-
- Immediate feedback loop
|
|
26
|
-
- Faster adaptation to new patterns
|
|
27
|
-
- Better real-time performance tracking
|
|
28
|
-
|
|
29
|
-
### 2. Quality Threshold Filtering
|
|
30
|
-
|
|
31
|
-
**Best Practice:** Only extract patterns from high-quality code (quality_score >= 0.7).
|
|
32
|
-
|
|
33
|
-
```python
|
|
34
|
-
# Set appropriate quality threshold
|
|
35
|
-
extractor = PatternExtractor(min_quality_threshold=0.7)
|
|
36
|
-
|
|
37
|
-
# Only extract from successful, high-quality tasks
|
|
38
|
-
if quality_score >= 0.7:
|
|
39
|
-
patterns = extractor.extract_patterns(code, quality_score, task_id)
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
**Rationale:**
|
|
43
|
-
- Prevents learning bad patterns
|
|
44
|
-
- Focuses on successful approaches
|
|
45
|
-
- Reduces noise in pattern library
|
|
46
|
-
|
|
47
|
-
### 3. Hardware-Aware Learning Intensity
|
|
48
|
-
|
|
49
|
-
**Best Practice:** Adjust learning intensity based on hardware profile.
|
|
50
|
-
|
|
51
|
-
```python
|
|
52
|
-
# Automatic hardware detection
|
|
53
|
-
profiler = HardwareProfiler()
|
|
54
|
-
profile = profiler.detect_profile()
|
|
55
|
-
|
|
56
|
-
# Learning intensity adjusts automatically:
|
|
57
|
-
# - NUC: LOW (minimal learning, essential patterns only)
|
|
58
|
-
# - Development: MEDIUM (balanced learning)
|
|
59
|
-
# - Workstation: HIGH (aggressive learning)
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
**Benefits:**
|
|
63
|
-
- Optimal performance on all hardware
|
|
64
|
-
- Resource-efficient on low-power devices
|
|
65
|
-
- Full learning on high-performance systems
|
|
66
|
-
|
|
67
|
-
## Capability Management
|
|
68
|
-
|
|
69
|
-
### 4. Early Capability Registration
|
|
70
|
-
|
|
71
|
-
**Best Practice:** Register all capabilities at agent initialization.
|
|
72
|
-
|
|
73
|
-
```python
|
|
74
|
-
def __init__(self, *args, **kwargs):
|
|
75
|
-
super().__init__(*args, **kwargs)
|
|
76
|
-
|
|
77
|
-
# Register all capabilities upfront
|
|
78
|
-
self.register_capability("code_generation", initial_quality=0.5)
|
|
79
|
-
self.register_capability("code_review", initial_quality=0.5)
|
|
80
|
-
self.register_capability("refactoring", initial_quality=0.5)
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
**Benefits:**
|
|
84
|
-
- Consistent metric tracking from start
|
|
85
|
-
- Better historical data
|
|
86
|
-
- Clearer capability boundaries
|
|
87
|
-
|
|
88
|
-
### 5. Granular Capability Definition
|
|
89
|
-
|
|
90
|
-
**Best Practice:** Define capabilities at appropriate granularity.
|
|
91
|
-
|
|
92
|
-
```python
|
|
93
|
-
# Good: Specific capabilities
|
|
94
|
-
self.register_capability("python_function_generation")
|
|
95
|
-
self.register_capability("python_class_generation")
|
|
96
|
-
self.register_capability("typescript_interface_generation")
|
|
97
|
-
|
|
98
|
-
# Bad: Too broad
|
|
99
|
-
self.register_capability("code_generation") # Too generic
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
**Benefits:**
|
|
103
|
-
- More accurate metrics per capability
|
|
104
|
-
- Better pattern matching
|
|
105
|
-
- Targeted improvements
|
|
106
|
-
|
|
107
|
-
### 6. Regular Capability Health Checks
|
|
108
|
-
|
|
109
|
-
**Best Practice:** Monitor capability health and identify improvement candidates.
|
|
110
|
-
|
|
111
|
-
```python
|
|
112
|
-
# Check for capabilities needing improvement
|
|
113
|
-
candidates = self.get_improvement_candidates(limit=5)
|
|
114
|
-
|
|
115
|
-
for candidate in candidates:
|
|
116
|
-
if candidate['quality_score'] < 0.6:
|
|
117
|
-
logger.warning(f"Capability {candidate['capability_id']} needs attention")
|
|
118
|
-
# Trigger refinement process
|
|
119
|
-
```
|
|
120
|
-
|
|
121
|
-
## Pattern Learning
|
|
122
|
-
|
|
123
|
-
### 7. Context-Aware Pattern Retrieval
|
|
124
|
-
|
|
125
|
-
**Best Practice:** Retrieve patterns based on task context.
|
|
126
|
-
|
|
127
|
-
```python
|
|
128
|
-
# Get relevant patterns for current task
|
|
129
|
-
patterns = self.get_learned_patterns(
|
|
130
|
-
context="Generate REST API endpoint",
|
|
131
|
-
pattern_type="function",
|
|
132
|
-
limit=5
|
|
133
|
-
)
|
|
134
|
-
|
|
135
|
-
# Use patterns in prompt
|
|
136
|
-
pattern_examples = "\n".join([p.code_snippet for p in patterns])
|
|
137
|
-
prompt = f"{base_prompt}\n\nUse these successful patterns:\n{pattern_examples}"
|
|
138
|
-
```
|
|
139
|
-
|
|
140
|
-
**Benefits:**
|
|
141
|
-
- More relevant pattern suggestions
|
|
142
|
-
- Better code generation quality
|
|
143
|
-
- Faster task completion
|
|
144
|
-
|
|
145
|
-
### 8. Pattern Versioning and Evolution
|
|
146
|
-
|
|
147
|
-
**Best Practice:** Track pattern usage and evolve successful patterns.
|
|
148
|
-
|
|
149
|
-
```python
|
|
150
|
-
# Patterns automatically track:
|
|
151
|
-
# - Usage count
|
|
152
|
-
# - Success rate
|
|
153
|
-
# - Quality scores
|
|
154
|
-
# - Learned from task IDs
|
|
155
|
-
|
|
156
|
-
# Use patterns with highest success rates
|
|
157
|
-
patterns.sort(key=lambda p: (p.success_rate, p.quality_score), reverse=True)
|
|
158
|
-
```
|
|
159
|
-
|
|
160
|
-
### 9. Pattern Diversity
|
|
161
|
-
|
|
162
|
-
**Best Practice:** Maintain diverse pattern library, not just top patterns.
|
|
163
|
-
|
|
164
|
-
```python
|
|
165
|
-
# Don't just use top 1 pattern
|
|
166
|
-
# Use diverse set of successful patterns
|
|
167
|
-
patterns = self.get_learned_patterns(context, limit=5)
|
|
168
|
-
|
|
169
|
-
# This provides:
|
|
170
|
-
# - Multiple approaches
|
|
171
|
-
# - Fallback options
|
|
172
|
-
# - Creative solutions
|
|
173
|
-
```
|
|
174
|
-
|
|
175
|
-
## Prompt Optimization
|
|
176
|
-
|
|
177
|
-
### 10. A/B Testing Strategy
|
|
178
|
-
|
|
179
|
-
**Best Practice:** Systematically test prompt variants.
|
|
180
|
-
|
|
181
|
-
```python
|
|
182
|
-
# Create variants with specific modifications
|
|
183
|
-
variant1 = optimizer.create_variant(
|
|
184
|
-
base_prompt="Write code",
|
|
185
|
-
modifications=["add: Use type hints", "add: Add docstrings"]
|
|
186
|
-
)
|
|
187
|
-
|
|
188
|
-
variant2 = optimizer.create_variant(
|
|
189
|
-
base_prompt="Write code",
|
|
190
|
-
modifications=["add: Use async/await", "add: Add error handling"]
|
|
191
|
-
)
|
|
192
|
-
|
|
193
|
-
# Test both variants
|
|
194
|
-
for variant in [variant1, variant2]:
|
|
195
|
-
result = test_prompt(variant.prompt_template)
|
|
196
|
-
optimizer.record_test_result(variant.variant_id, result.success, result.quality)
|
|
197
|
-
```
|
|
198
|
-
|
|
199
|
-
**Best Practices:**
|
|
200
|
-
- Test at least 5 times per variant
|
|
201
|
-
- Use statistical significance
|
|
202
|
-
- Consider context-specific variants
|
|
203
|
-
|
|
204
|
-
### 11. Hardware-Aware Prompt Optimization
|
|
205
|
-
|
|
206
|
-
**Best Practice:** Optimize prompts for hardware profile.
|
|
207
|
-
|
|
208
|
-
```python
|
|
209
|
-
# Automatic optimization
|
|
210
|
-
optimized = self.optimize_prompt(base_prompt, context)
|
|
211
|
-
|
|
212
|
-
# For NUC: Shorter, essential instructions only
|
|
213
|
-
# For Workstation: Full detailed prompts
|
|
214
|
-
```
|
|
215
|
-
|
|
216
|
-
**Benefits:**
|
|
217
|
-
- Faster execution on low-power devices
|
|
218
|
-
- Better quality on high-performance systems
|
|
219
|
-
- Optimal resource utilization
|
|
220
|
-
|
|
221
|
-
## Feedback Integration
|
|
222
|
-
|
|
223
|
-
### 12. Code Scoring Integration
|
|
224
|
-
|
|
225
|
-
**Best Practice:** Use code scoring system for learning feedback.
|
|
226
|
-
|
|
227
|
-
```python
|
|
228
|
-
from tapps_agents.agents.reviewer.scoring import CodeScorer
|
|
229
|
-
|
|
230
|
-
# After code generation
|
|
231
|
-
scorer = CodeScorer()
|
|
232
|
-
scores = scorer.score_file(file_path, code)
|
|
233
|
-
|
|
234
|
-
# Learn from scores
|
|
235
|
-
self.learn_from_task(
|
|
236
|
-
capability_id=capability_id,
|
|
237
|
-
task_id=task_id,
|
|
238
|
-
code=code,
|
|
239
|
-
quality_scores={
|
|
240
|
-
"overall_score": scores["overall_score"],
|
|
241
|
-
"metrics": scores["metrics"]
|
|
242
|
-
},
|
|
243
|
-
success=True
|
|
244
|
-
)
|
|
245
|
-
```
|
|
246
|
-
|
|
247
|
-
**Benefits:**
|
|
248
|
-
- Objective quality metrics
|
|
249
|
-
- Identifies weak areas
|
|
250
|
-
- Provides improvement suggestions
|
|
251
|
-
|
|
252
|
-
### 13. Multi-Metric Feedback
|
|
253
|
-
|
|
254
|
-
**Best Practice:** Consider all quality metrics, not just overall score.
|
|
255
|
-
|
|
256
|
-
```python
|
|
257
|
-
# Analyze individual metrics
|
|
258
|
-
analysis = feedback_analyzer.analyze_code_scores(scores, threshold=0.7)
|
|
259
|
-
|
|
260
|
-
# Focus on weak areas
|
|
261
|
-
for area in analysis["weak_areas"]:
|
|
262
|
-
potential = analysis["improvement_potential"][area]
|
|
263
|
-
if potential > 0.1:
|
|
264
|
-
# Target improvement for this area
|
|
265
|
-
improve_metric(area, potential)
|
|
266
|
-
```
|
|
267
|
-
|
|
268
|
-
## Performance Optimization
|
|
269
|
-
|
|
270
|
-
### 14. Lazy Pattern Loading
|
|
271
|
-
|
|
272
|
-
**Best Practice:** Load patterns only when needed.
|
|
273
|
-
|
|
274
|
-
```python
|
|
275
|
-
# Don't load all patterns at initialization
|
|
276
|
-
# Load on-demand based on context
|
|
277
|
-
patterns = self.get_learned_patterns(context, limit=5) # Only load 5 relevant patterns
|
|
278
|
-
```
|
|
279
|
-
|
|
280
|
-
**Benefits:**
|
|
281
|
-
- Faster initialization
|
|
282
|
-
- Lower memory usage
|
|
283
|
-
- Better scalability
|
|
284
|
-
|
|
285
|
-
### 15. Pattern Storage Limits
|
|
286
|
-
|
|
287
|
-
**Best Practice:** Limit pattern storage based on hardware.
|
|
288
|
-
|
|
289
|
-
```python
|
|
290
|
-
# For NUC: Store only top 100 patterns
|
|
291
|
-
# For Workstation: Store up to 1000 patterns
|
|
292
|
-
|
|
293
|
-
if hardware_profile == HardwareProfile.NUC:
|
|
294
|
-
max_patterns = 100
|
|
295
|
-
else:
|
|
296
|
-
max_patterns = 1000
|
|
297
|
-
```
|
|
298
|
-
|
|
299
|
-
### 16. Metric Compression
|
|
300
|
-
|
|
301
|
-
**Best Practice:** Compress refinement history for NUC devices.
|
|
302
|
-
|
|
303
|
-
```python
|
|
304
|
-
# Automatic compression for NUC
|
|
305
|
-
if hardware_profile == HardwareProfile.NUC:
|
|
306
|
-
# Store only essential refinement records
|
|
307
|
-
# Compress old history
|
|
308
|
-
compress_refinement_history(metric, keep_last=10)
|
|
309
|
-
```
|
|
310
|
-
|
|
311
|
-
## Integration Best Practices
|
|
312
|
-
|
|
313
|
-
### 17. Learning Hooks
|
|
314
|
-
|
|
315
|
-
**Best Practice:** Add learning hooks at key execution points.
|
|
316
|
-
|
|
317
|
-
```python
|
|
318
|
-
async def execute_task(self, command: str, **kwargs):
|
|
319
|
-
capability_id = f"{command}_{self.agent_id}"
|
|
320
|
-
task_id = kwargs.get("task_id", f"task-{uuid.uuid4()}")
|
|
321
|
-
start_time = time.time()
|
|
322
|
-
|
|
323
|
-
try:
|
|
324
|
-
result = await self._execute_internal(command, **kwargs)
|
|
325
|
-
|
|
326
|
-
# Learning hook: After successful execution
|
|
327
|
-
self.learn_from_task(
|
|
328
|
-
capability_id=capability_id,
|
|
329
|
-
task_id=task_id,
|
|
330
|
-
code=kwargs.get("code"),
|
|
331
|
-
quality_scores=kwargs.get("quality_scores"),
|
|
332
|
-
success=True,
|
|
333
|
-
duration=time.time() - start_time
|
|
334
|
-
)
|
|
335
|
-
|
|
336
|
-
return result
|
|
337
|
-
except Exception as e:
|
|
338
|
-
# Learning hook: After failure
|
|
339
|
-
self.learn_from_task(
|
|
340
|
-
capability_id=capability_id,
|
|
341
|
-
task_id=task_id,
|
|
342
|
-
success=False,
|
|
343
|
-
duration=time.time() - start_time
|
|
344
|
-
)
|
|
345
|
-
raise
|
|
346
|
-
```
|
|
347
|
-
|
|
348
|
-
### 18. Memory System Integration
|
|
349
|
-
|
|
350
|
-
**Best Practice:** Integrate with TaskMemory system for knowledge retention.
|
|
351
|
-
|
|
352
|
-
```python
|
|
353
|
-
# Learning system automatically stores in memory
|
|
354
|
-
# Patterns are linked to tasks
|
|
355
|
-
# Knowledge graph tracks relationships
|
|
356
|
-
|
|
357
|
-
# Retrieve similar tasks
|
|
358
|
-
similar_tasks = self.memory_system.get_similar_tasks(task_id)
|
|
359
|
-
|
|
360
|
-
# Use patterns from similar tasks
|
|
361
|
-
for similar_task in similar_tasks:
|
|
362
|
-
patterns.extend(similar_task.patterns_used)
|
|
363
|
-
```
|
|
364
|
-
|
|
365
|
-
## Monitoring and Analytics
|
|
366
|
-
|
|
367
|
-
### 19. Capability Metrics Dashboard
|
|
368
|
-
|
|
369
|
-
**Best Practice:** Regularly review capability metrics.
|
|
370
|
-
|
|
371
|
-
```python
|
|
372
|
-
# Get capability health
|
|
373
|
-
metrics = self.get_capability_metrics(capability_id)
|
|
374
|
-
|
|
375
|
-
# Monitor:
|
|
376
|
-
# - Quality score trends
|
|
377
|
-
# - Success rate
|
|
378
|
-
# - Usage count
|
|
379
|
-
# - Refinement history
|
|
380
|
-
```
|
|
381
|
-
|
|
382
|
-
### 20. Learning Effectiveness Tracking
|
|
383
|
-
|
|
384
|
-
**Best Practice:** Track learning effectiveness over time.
|
|
385
|
-
|
|
386
|
-
```python
|
|
387
|
-
# Compare metrics before/after learning
|
|
388
|
-
before_quality = metric.quality_score
|
|
389
|
-
# ... learning period ...
|
|
390
|
-
after_quality = metric.quality_score
|
|
391
|
-
|
|
392
|
-
improvement = (after_quality - before_quality) / before_quality * 100
|
|
393
|
-
logger.info(f"Quality improved by {improvement:.1f}%")
|
|
394
|
-
```
|
|
395
|
-
|
|
396
|
-
## Security Best Practices
|
|
397
|
-
|
|
398
|
-
### 21. Security-Aware Pattern Learning
|
|
399
|
-
|
|
400
|
-
**Best Practice:** Always scan code for security vulnerabilities before learning.
|
|
401
|
-
|
|
402
|
-
```python
|
|
403
|
-
# Security scanning is automatic, but verify results
|
|
404
|
-
result = await learner.learn_from_task(
|
|
405
|
-
capability_id="test",
|
|
406
|
-
task_id="task_1",
|
|
407
|
-
code=code,
|
|
408
|
-
quality_scores=scores,
|
|
409
|
-
success=True,
|
|
410
|
-
)
|
|
411
|
-
|
|
412
|
-
# Check security results
|
|
413
|
-
if result["security_checked"]:
|
|
414
|
-
if result["security_score"] < 7.0:
|
|
415
|
-
logger.warning("Code was too insecure to learn from")
|
|
416
|
-
# Review vulnerabilities
|
|
417
|
-
for vuln in result["security_vulnerabilities"]:
|
|
418
|
-
logger.warning(f"Vulnerability: {vuln['test_name']} at line {vuln['line']}")
|
|
419
|
-
```
|
|
420
|
-
|
|
421
|
-
**Benefits:**
|
|
422
|
-
- Prevents learning vulnerable patterns
|
|
423
|
-
- Maintains security standards
|
|
424
|
-
- Protects against security regressions
|
|
425
|
-
|
|
426
|
-
### 22. Security Threshold Configuration
|
|
427
|
-
|
|
428
|
-
**Best Practice:** Set appropriate security thresholds for your security requirements.
|
|
429
|
-
|
|
430
|
-
```python
|
|
431
|
-
# For high-security environments
|
|
432
|
-
extractor = PatternExtractor(
|
|
433
|
-
security_threshold=8.0, # Stricter threshold
|
|
434
|
-
)
|
|
435
|
-
|
|
436
|
-
# For general development
|
|
437
|
-
extractor = PatternExtractor(
|
|
438
|
-
security_threshold=7.0, # Standard threshold
|
|
439
|
-
)
|
|
440
|
-
```
|
|
441
|
-
|
|
442
|
-
## Negative Feedback Learning Best Practices
|
|
443
|
-
|
|
444
|
-
### 23. Learn from Failures
|
|
445
|
-
|
|
446
|
-
**Best Practice:** Always learn from failed tasks to avoid repeating mistakes.
|
|
447
|
-
|
|
448
|
-
```python
|
|
449
|
-
# Automatic anti-pattern extraction from failures
|
|
450
|
-
result = await learner.learn_from_task(
|
|
451
|
-
capability_id="test",
|
|
452
|
-
task_id="task_1",
|
|
453
|
-
code=failed_code,
|
|
454
|
-
success=False, # Task failed
|
|
455
|
-
)
|
|
456
|
-
|
|
457
|
-
# Review failure analysis
|
|
458
|
-
if result["failure_analyzed"]:
|
|
459
|
-
failure_mode = result["failure_analysis"]["failure_mode"]
|
|
460
|
-
suggestions = result["failure_analysis"]["suggestions"]
|
|
461
|
-
logger.info(f"Failure mode: {failure_mode}")
|
|
462
|
-
for suggestion in suggestions:
|
|
463
|
-
logger.info(f"Prevention: {suggestion}")
|
|
464
|
-
```
|
|
465
|
-
|
|
466
|
-
**Benefits:**
|
|
467
|
-
- Avoids repeating mistakes
|
|
468
|
-
- Identifies common failure patterns
|
|
469
|
-
- Provides prevention strategies
|
|
470
|
-
|
|
471
|
-
### 24. Track User Rejections
|
|
472
|
-
|
|
473
|
-
**Best Practice:** Explicitly record user rejections for learning.
|
|
474
|
-
|
|
475
|
-
```python
|
|
476
|
-
# When user rejects code
|
|
477
|
-
result = await learner.learn_from_rejection(
|
|
478
|
-
capability_id="test",
|
|
479
|
-
task_id="task_2",
|
|
480
|
-
code=rejected_code,
|
|
481
|
-
rejection_reason="Code contains security vulnerabilities",
|
|
482
|
-
quality_score=0.4,
|
|
483
|
-
)
|
|
484
|
-
|
|
485
|
-
# Anti-patterns are automatically extracted and stored
|
|
486
|
-
```
|
|
487
|
-
|
|
488
|
-
**Benefits:**
|
|
489
|
-
- Learns from explicit feedback
|
|
490
|
-
- Tracks rejection patterns
|
|
491
|
-
- Improves based on user preferences
|
|
492
|
-
|
|
493
|
-
### 25. Review Anti-Patterns
|
|
494
|
-
|
|
495
|
-
**Best Practice:** Regularly review anti-patterns to understand what to avoid.
|
|
496
|
-
|
|
497
|
-
```python
|
|
498
|
-
# Get anti-patterns for context
|
|
499
|
-
anti_patterns = learner.negative_feedback_handler.get_anti_patterns_for_context(
|
|
500
|
-
context="security",
|
|
501
|
-
limit=10,
|
|
502
|
-
)
|
|
503
|
-
|
|
504
|
-
# Review what to avoid
|
|
505
|
-
for pattern in anti_patterns:
|
|
506
|
-
logger.warning(f"Avoid: {pattern.code_snippet[:100]}")
|
|
507
|
-
logger.warning(f"Reasons: {', '.join(pattern.failure_reasons)}")
|
|
508
|
-
logger.warning(f"Rejected {pattern.rejection_count} times")
|
|
509
|
-
```
|
|
510
|
-
|
|
511
|
-
## Explainability Best Practices
|
|
512
|
-
|
|
513
|
-
### 26. Review Decision Logs
|
|
514
|
-
|
|
515
|
-
**Best Practice:** Regularly review decision logs to understand learning behavior.
|
|
516
|
-
|
|
517
|
-
```python
|
|
518
|
-
# Get decision history
|
|
519
|
-
history = learner.decision_logger.get_decision_history(
|
|
520
|
-
decision_type="pattern_extraction_threshold",
|
|
521
|
-
limit=20,
|
|
522
|
-
)
|
|
523
|
-
|
|
524
|
-
# Review decisions
|
|
525
|
-
for decision in history:
|
|
526
|
-
print(f"Decision: {decision.decision_type}")
|
|
527
|
-
print(f"Reasoning: {decision.reasoning}")
|
|
528
|
-
print(f"Confidence: {decision.confidence:.2%}")
|
|
529
|
-
print(f"Sources: {', '.join(decision.sources)}")
|
|
530
|
-
```
|
|
531
|
-
|
|
532
|
-
**Benefits:**
|
|
533
|
-
- Understand learning decisions
|
|
534
|
-
- Identify decision patterns
|
|
535
|
-
- Debug learning issues
|
|
536
|
-
|
|
537
|
-
### 27. Explain Pattern Selection
|
|
538
|
-
|
|
539
|
-
**Best Practice:** Use pattern selection explanations to understand recommendations.
|
|
540
|
-
|
|
541
|
-
```python
|
|
542
|
-
# Get patterns with explanations
|
|
543
|
-
patterns = learner.get_learned_patterns(context="test")
|
|
544
|
-
explanation = learner.pattern_explainer.explain_pattern_selection(
|
|
545
|
-
selected_patterns=patterns,
|
|
546
|
-
context="test",
|
|
547
|
-
)
|
|
548
|
-
|
|
549
|
-
# Review why patterns were selected
|
|
550
|
-
for pattern_info in explanation["patterns"]:
|
|
551
|
-
print(f"Pattern: {pattern_info['pattern_id']}")
|
|
552
|
-
print(f"Relevance: {pattern_info['relevance_score']:.2f}")
|
|
553
|
-
print(f"Justification: {pattern_info['justification']}")
|
|
554
|
-
```
|
|
555
|
-
|
|
556
|
-
### 28. Monitor Learning Impact
|
|
557
|
-
|
|
558
|
-
**Best Practice:** Track learning impact to measure effectiveness.
|
|
559
|
-
|
|
560
|
-
```python
|
|
561
|
-
# Impact is automatically tracked, but review reports
|
|
562
|
-
result = await learner.learn_from_task(...)
|
|
563
|
-
|
|
564
|
-
if "learning_impact" in result:
|
|
565
|
-
impact = result["learning_impact"]
|
|
566
|
-
print(f"Effectiveness: {impact['effectiveness']:.2f}")
|
|
567
|
-
print(f"Overall Improvement: {impact['overall_improvement']:.2f}")
|
|
568
|
-
|
|
569
|
-
# Review improvements by metric
|
|
570
|
-
for metric, data in impact["improvements"].items():
|
|
571
|
-
print(f"{metric}: {data['improvement_percent']:.1f}% improvement")
|
|
572
|
-
```
|
|
573
|
-
|
|
574
|
-
## Meta-Learning Best Practices
|
|
575
|
-
|
|
576
|
-
### 29. Regular Optimization
|
|
577
|
-
|
|
578
|
-
**Best Practice:** Run meta-learning optimization periodically.
|
|
579
|
-
|
|
580
|
-
```python
|
|
581
|
-
# Optimize learning system
|
|
582
|
-
optimization = await learner.optimize_learning(
|
|
583
|
-
capability_id="test",
|
|
584
|
-
)
|
|
585
|
-
|
|
586
|
-
# Review optimization results
|
|
587
|
-
print(f"Quality Assessment: {optimization['quality_assessment']['quality_score']:.2f}")
|
|
588
|
-
print(f"Learning Gaps: {optimization['learning_gaps']}")
|
|
589
|
-
print(f"Optimal Strategy: {optimization['optimal_strategy']}")
|
|
590
|
-
|
|
591
|
-
# Implement suggestions
|
|
592
|
-
for suggestion in optimization["improvement_suggestions"]:
|
|
593
|
-
logger.info(f"Improvement: {suggestion}")
|
|
594
|
-
```
|
|
595
|
-
|
|
596
|
-
**Benefits:**
|
|
597
|
-
- Autonomous optimization
|
|
598
|
-
- Identifies learning gaps
|
|
599
|
-
- Suggests improvements
|
|
600
|
-
|
|
601
|
-
### 30. Monitor Effectiveness
|
|
602
|
-
|
|
603
|
-
**Best Practice:** Track learning effectiveness over time.
|
|
604
|
-
|
|
605
|
-
```python
|
|
606
|
-
# Get effectiveness metrics
|
|
607
|
-
roi = learner.effectiveness_tracker.get_learning_roi(
|
|
608
|
-
capability_id="test",
|
|
609
|
-
)
|
|
610
|
-
|
|
611
|
-
print(f"Total Sessions: {roi['total_sessions']}")
|
|
612
|
-
print(f"Average Effectiveness: {roi['average_effectiveness']:.2f}")
|
|
613
|
-
print(f"ROI Score: {roi['roi_score']:.2f}")
|
|
614
|
-
|
|
615
|
-
# Get effective strategies
|
|
616
|
-
strategies = learner.effectiveness_tracker.get_effective_strategies(
|
|
617
|
-
capability_id="test",
|
|
618
|
-
)
|
|
619
|
-
|
|
620
|
-
# Use most effective strategies
|
|
621
|
-
best_strategy = max(strategies.items(), key=lambda x: x[1])
|
|
622
|
-
print(f"Best Strategy: {best_strategy[0]} ({best_strategy[1]:.2f})")
|
|
623
|
-
```
|
|
624
|
-
|
|
625
|
-
### 31. Self-Assessment
|
|
626
|
-
|
|
627
|
-
**Best Practice:** Regularly assess learning quality.
|
|
628
|
-
|
|
629
|
-
```python
|
|
630
|
-
# Assess learning quality
|
|
631
|
-
assessment = learner.self_assessor.assess_learning_quality(
|
|
632
|
-
pattern_count=len(learner.pattern_extractor.patterns),
|
|
633
|
-
anti_pattern_count=len(learner.anti_pattern_extractor.anti_patterns),
|
|
634
|
-
average_quality=0.85,
|
|
635
|
-
average_security=8.0,
|
|
636
|
-
)
|
|
637
|
-
|
|
638
|
-
# Identify gaps
|
|
639
|
-
gaps = learner.self_assessor.identify_learning_gaps(
|
|
640
|
-
capability_metrics={"success_rate": 0.75},
|
|
641
|
-
pattern_statistics={"total_patterns": 50, "average_quality": 0.8},
|
|
642
|
-
)
|
|
643
|
-
|
|
644
|
-
# Address gaps
|
|
645
|
-
for gap in gaps:
|
|
646
|
-
logger.warning(f"Learning Gap: {gap}")
|
|
647
|
-
```
|
|
648
|
-
|
|
649
|
-
## Common Pitfalls to Avoid
|
|
650
|
-
|
|
651
|
-
### ❌ Learning from All Tasks
|
|
652
|
-
|
|
653
|
-
**Problem:** Learning from low-quality tasks pollutes pattern library.
|
|
654
|
-
|
|
655
|
-
**Solution:** Use quality threshold filtering (>= 0.7).
|
|
656
|
-
|
|
657
|
-
### ❌ Too Many Capabilities
|
|
658
|
-
|
|
659
|
-
**Problem:** Over-granular capabilities fragment metrics.
|
|
660
|
-
|
|
661
|
-
**Solution:** Balance granularity - specific but not excessive.
|
|
662
|
-
|
|
663
|
-
### ❌ Ignoring Hardware Profile
|
|
664
|
-
|
|
665
|
-
**Problem:** Same learning intensity on all hardware wastes resources.
|
|
666
|
-
|
|
667
|
-
**Solution:** Use hardware-aware learning intensity.
|
|
668
|
-
|
|
669
|
-
### ❌ No Feedback Loop
|
|
670
|
-
|
|
671
|
-
**Problem:** Learning without quality feedback is blind.
|
|
672
|
-
|
|
673
|
-
**Solution:** Integrate code scoring system for objective feedback.
|
|
674
|
-
|
|
675
|
-
### ❌ Pattern Overfitting
|
|
676
|
-
|
|
677
|
-
**Problem:** Using same patterns repeatedly reduces creativity.
|
|
678
|
-
|
|
679
|
-
**Solution:** Maintain diverse pattern library, use multiple patterns.
|
|
680
|
-
|
|
681
|
-
### ❌ Ignoring Security
|
|
682
|
-
|
|
683
|
-
**Problem:** Learning from vulnerable code introduces security risks.
|
|
684
|
-
|
|
685
|
-
**Solution:** Always use security scanning, set appropriate thresholds.
|
|
686
|
-
|
|
687
|
-
### ❌ Not Learning from Failures
|
|
688
|
-
|
|
689
|
-
**Problem:** Repeating the same mistakes without learning.
|
|
690
|
-
|
|
691
|
-
**Solution:** Always extract anti-patterns from failures and rejections.
|
|
692
|
-
|
|
693
|
-
### ❌ Lack of Explainability
|
|
694
|
-
|
|
695
|
-
**Problem:** Can't understand why learning decisions were made.
|
|
696
|
-
|
|
697
|
-
**Solution:** Review decision logs and pattern selection explanations.
|
|
698
|
-
|
|
699
|
-
### ❌ No Meta-Learning
|
|
700
|
-
|
|
701
|
-
**Problem:** Learning system doesn't improve itself.
|
|
702
|
-
|
|
703
|
-
**Solution:** Run optimization periodically, monitor effectiveness.
|
|
704
|
-
|
|
705
|
-
## References
|
|
706
|
-
|
|
707
|
-
- [Agent Learning Guide](../../../docs/AGENT_LEARNING_GUIDE.md)
|
|
708
|
-
- [Learning Security Guide](../../../docs/LEARNING_SECURITY.md)
|
|
709
|
-
- [Negative Feedback Learning Guide](../../../docs/LEARNING_NEGATIVE_FEEDBACK.md)
|
|
710
|
-
- [Explainability Guide](../../../docs/LEARNING_EXPLAINABILITY.md)
|
|
711
|
-
- [Meta-Learning Guide](../../../docs/LEARNING_META_LEARNING.md)
|
|
712
|
-
- [Task Memory Guide](../../../docs/TASK_MEMORY_GUIDE.md)
|
|
713
|
-
- [Capability Registry](../../../tapps_agents/core/capability_registry.py)
|
|
714
|
-
- [Agent Learning System](../../../tapps_agents/core/agent_learning.py)
|
|
715
|
-
|
|
1
|
+
# Self-Improving Agents Best Practices
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
Self-improving agents learn from past tasks to enhance their capabilities over time. This guide covers best practices for implementing and using agent learning systems effectively.
|
|
6
|
+
|
|
7
|
+
## Core Principles
|
|
8
|
+
|
|
9
|
+
### 1. Incremental Learning
|
|
10
|
+
|
|
11
|
+
**Best Practice:** Learn incrementally from each task, not in batches.
|
|
12
|
+
|
|
13
|
+
```python
|
|
14
|
+
# Good: Learn after each task
|
|
15
|
+
async def execute_task(self, command: str, **kwargs):
|
|
16
|
+
result = await self._execute_internal(command, **kwargs)
|
|
17
|
+
self.learn_from_task(capability_id, task_id, code=code, success=True)
|
|
18
|
+
return result
|
|
19
|
+
|
|
20
|
+
# Bad: Learning in batches
|
|
21
|
+
# This delays learning and reduces responsiveness
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
**Benefits:**
|
|
25
|
+
- Immediate feedback loop
|
|
26
|
+
- Faster adaptation to new patterns
|
|
27
|
+
- Better real-time performance tracking
|
|
28
|
+
|
|
29
|
+
### 2. Quality Threshold Filtering
|
|
30
|
+
|
|
31
|
+
**Best Practice:** Only extract patterns from high-quality code (quality_score >= 0.7).
|
|
32
|
+
|
|
33
|
+
```python
|
|
34
|
+
# Set appropriate quality threshold
|
|
35
|
+
extractor = PatternExtractor(min_quality_threshold=0.7)
|
|
36
|
+
|
|
37
|
+
# Only extract from successful, high-quality tasks
|
|
38
|
+
if quality_score >= 0.7:
|
|
39
|
+
patterns = extractor.extract_patterns(code, quality_score, task_id)
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
**Rationale:**
|
|
43
|
+
- Prevents learning bad patterns
|
|
44
|
+
- Focuses on successful approaches
|
|
45
|
+
- Reduces noise in pattern library
|
|
46
|
+
|
|
47
|
+
### 3. Hardware-Aware Learning Intensity
|
|
48
|
+
|
|
49
|
+
**Best Practice:** Adjust learning intensity based on hardware profile.
|
|
50
|
+
|
|
51
|
+
```python
|
|
52
|
+
# Automatic hardware detection
|
|
53
|
+
profiler = HardwareProfiler()
|
|
54
|
+
profile = profiler.detect_profile()
|
|
55
|
+
|
|
56
|
+
# Learning intensity adjusts automatically:
|
|
57
|
+
# - NUC: LOW (minimal learning, essential patterns only)
|
|
58
|
+
# - Development: MEDIUM (balanced learning)
|
|
59
|
+
# - Workstation: HIGH (aggressive learning)
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
**Benefits:**
|
|
63
|
+
- Optimal performance on all hardware
|
|
64
|
+
- Resource-efficient on low-power devices
|
|
65
|
+
- Full learning on high-performance systems
|
|
66
|
+
|
|
67
|
+
## Capability Management
|
|
68
|
+
|
|
69
|
+
### 4. Early Capability Registration
|
|
70
|
+
|
|
71
|
+
**Best Practice:** Register all capabilities at agent initialization.
|
|
72
|
+
|
|
73
|
+
```python
|
|
74
|
+
def __init__(self, *args, **kwargs):
|
|
75
|
+
super().__init__(*args, **kwargs)
|
|
76
|
+
|
|
77
|
+
# Register all capabilities upfront
|
|
78
|
+
self.register_capability("code_generation", initial_quality=0.5)
|
|
79
|
+
self.register_capability("code_review", initial_quality=0.5)
|
|
80
|
+
self.register_capability("refactoring", initial_quality=0.5)
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
**Benefits:**
|
|
84
|
+
- Consistent metric tracking from start
|
|
85
|
+
- Better historical data
|
|
86
|
+
- Clearer capability boundaries
|
|
87
|
+
|
|
88
|
+
### 5. Granular Capability Definition
|
|
89
|
+
|
|
90
|
+
**Best Practice:** Define capabilities at appropriate granularity.
|
|
91
|
+
|
|
92
|
+
```python
|
|
93
|
+
# Good: Specific capabilities
|
|
94
|
+
self.register_capability("python_function_generation")
|
|
95
|
+
self.register_capability("python_class_generation")
|
|
96
|
+
self.register_capability("typescript_interface_generation")
|
|
97
|
+
|
|
98
|
+
# Bad: Too broad
|
|
99
|
+
self.register_capability("code_generation") # Too generic
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
**Benefits:**
|
|
103
|
+
- More accurate metrics per capability
|
|
104
|
+
- Better pattern matching
|
|
105
|
+
- Targeted improvements
|
|
106
|
+
|
|
107
|
+
### 6. Regular Capability Health Checks
|
|
108
|
+
|
|
109
|
+
**Best Practice:** Monitor capability health and identify improvement candidates.
|
|
110
|
+
|
|
111
|
+
```python
|
|
112
|
+
# Check for capabilities needing improvement
|
|
113
|
+
candidates = self.get_improvement_candidates(limit=5)
|
|
114
|
+
|
|
115
|
+
for candidate in candidates:
|
|
116
|
+
if candidate['quality_score'] < 0.6:
|
|
117
|
+
logger.warning(f"Capability {candidate['capability_id']} needs attention")
|
|
118
|
+
# Trigger refinement process
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
## Pattern Learning
|
|
122
|
+
|
|
123
|
+
### 7. Context-Aware Pattern Retrieval
|
|
124
|
+
|
|
125
|
+
**Best Practice:** Retrieve patterns based on task context.
|
|
126
|
+
|
|
127
|
+
```python
|
|
128
|
+
# Get relevant patterns for current task
|
|
129
|
+
patterns = self.get_learned_patterns(
|
|
130
|
+
context="Generate REST API endpoint",
|
|
131
|
+
pattern_type="function",
|
|
132
|
+
limit=5
|
|
133
|
+
)
|
|
134
|
+
|
|
135
|
+
# Use patterns in prompt
|
|
136
|
+
pattern_examples = "\n".join([p.code_snippet for p in patterns])
|
|
137
|
+
prompt = f"{base_prompt}\n\nUse these successful patterns:\n{pattern_examples}"
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
**Benefits:**
|
|
141
|
+
- More relevant pattern suggestions
|
|
142
|
+
- Better code generation quality
|
|
143
|
+
- Faster task completion
|
|
144
|
+
|
|
145
|
+
### 8. Pattern Versioning and Evolution
|
|
146
|
+
|
|
147
|
+
**Best Practice:** Track pattern usage and evolve successful patterns.
|
|
148
|
+
|
|
149
|
+
```python
|
|
150
|
+
# Patterns automatically track:
|
|
151
|
+
# - Usage count
|
|
152
|
+
# - Success rate
|
|
153
|
+
# - Quality scores
|
|
154
|
+
# - Learned from task IDs
|
|
155
|
+
|
|
156
|
+
# Use patterns with highest success rates
|
|
157
|
+
patterns.sort(key=lambda p: (p.success_rate, p.quality_score), reverse=True)
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
### 9. Pattern Diversity
|
|
161
|
+
|
|
162
|
+
**Best Practice:** Maintain diverse pattern library, not just top patterns.
|
|
163
|
+
|
|
164
|
+
```python
|
|
165
|
+
# Don't just use top 1 pattern
|
|
166
|
+
# Use diverse set of successful patterns
|
|
167
|
+
patterns = self.get_learned_patterns(context, limit=5)
|
|
168
|
+
|
|
169
|
+
# This provides:
|
|
170
|
+
# - Multiple approaches
|
|
171
|
+
# - Fallback options
|
|
172
|
+
# - Creative solutions
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
## Prompt Optimization
|
|
176
|
+
|
|
177
|
+
### 10. A/B Testing Strategy
|
|
178
|
+
|
|
179
|
+
**Best Practice:** Systematically test prompt variants.
|
|
180
|
+
|
|
181
|
+
```python
|
|
182
|
+
# Create variants with specific modifications
|
|
183
|
+
variant1 = optimizer.create_variant(
|
|
184
|
+
base_prompt="Write code",
|
|
185
|
+
modifications=["add: Use type hints", "add: Add docstrings"]
|
|
186
|
+
)
|
|
187
|
+
|
|
188
|
+
variant2 = optimizer.create_variant(
|
|
189
|
+
base_prompt="Write code",
|
|
190
|
+
modifications=["add: Use async/await", "add: Add error handling"]
|
|
191
|
+
)
|
|
192
|
+
|
|
193
|
+
# Test both variants
|
|
194
|
+
for variant in [variant1, variant2]:
|
|
195
|
+
result = test_prompt(variant.prompt_template)
|
|
196
|
+
optimizer.record_test_result(variant.variant_id, result.success, result.quality)
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
**Best Practices:**
|
|
200
|
+
- Test at least 5 times per variant
|
|
201
|
+
- Use statistical significance
|
|
202
|
+
- Consider context-specific variants
|
|
203
|
+
|
|
204
|
+
### 11. Hardware-Aware Prompt Optimization
|
|
205
|
+
|
|
206
|
+
**Best Practice:** Optimize prompts for hardware profile.
|
|
207
|
+
|
|
208
|
+
```python
|
|
209
|
+
# Automatic optimization
|
|
210
|
+
optimized = self.optimize_prompt(base_prompt, context)
|
|
211
|
+
|
|
212
|
+
# For NUC: Shorter, essential instructions only
|
|
213
|
+
# For Workstation: Full detailed prompts
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
**Benefits:**
|
|
217
|
+
- Faster execution on low-power devices
|
|
218
|
+
- Better quality on high-performance systems
|
|
219
|
+
- Optimal resource utilization
|
|
220
|
+
|
|
221
|
+
## Feedback Integration
|
|
222
|
+
|
|
223
|
+
### 12. Code Scoring Integration
|
|
224
|
+
|
|
225
|
+
**Best Practice:** Use code scoring system for learning feedback.
|
|
226
|
+
|
|
227
|
+
```python
|
|
228
|
+
from tapps_agents.agents.reviewer.scoring import CodeScorer
|
|
229
|
+
|
|
230
|
+
# After code generation
|
|
231
|
+
scorer = CodeScorer()
|
|
232
|
+
scores = scorer.score_file(file_path, code)
|
|
233
|
+
|
|
234
|
+
# Learn from scores
|
|
235
|
+
self.learn_from_task(
|
|
236
|
+
capability_id=capability_id,
|
|
237
|
+
task_id=task_id,
|
|
238
|
+
code=code,
|
|
239
|
+
quality_scores={
|
|
240
|
+
"overall_score": scores["overall_score"],
|
|
241
|
+
"metrics": scores["metrics"]
|
|
242
|
+
},
|
|
243
|
+
success=True
|
|
244
|
+
)
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
**Benefits:**
|
|
248
|
+
- Objective quality metrics
|
|
249
|
+
- Identifies weak areas
|
|
250
|
+
- Provides improvement suggestions
|
|
251
|
+
|
|
252
|
+
### 13. Multi-Metric Feedback
|
|
253
|
+
|
|
254
|
+
**Best Practice:** Consider all quality metrics, not just overall score.
|
|
255
|
+
|
|
256
|
+
```python
|
|
257
|
+
# Analyze individual metrics
|
|
258
|
+
analysis = feedback_analyzer.analyze_code_scores(scores, threshold=0.7)
|
|
259
|
+
|
|
260
|
+
# Focus on weak areas
|
|
261
|
+
for area in analysis["weak_areas"]:
|
|
262
|
+
potential = analysis["improvement_potential"][area]
|
|
263
|
+
if potential > 0.1:
|
|
264
|
+
# Target improvement for this area
|
|
265
|
+
improve_metric(area, potential)
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
## Performance Optimization
|
|
269
|
+
|
|
270
|
+
### 14. Lazy Pattern Loading
|
|
271
|
+
|
|
272
|
+
**Best Practice:** Load patterns only when needed.
|
|
273
|
+
|
|
274
|
+
```python
|
|
275
|
+
# Don't load all patterns at initialization
|
|
276
|
+
# Load on-demand based on context
|
|
277
|
+
patterns = self.get_learned_patterns(context, limit=5) # Only load 5 relevant patterns
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
**Benefits:**
|
|
281
|
+
- Faster initialization
|
|
282
|
+
- Lower memory usage
|
|
283
|
+
- Better scalability
|
|
284
|
+
|
|
285
|
+
### 15. Pattern Storage Limits
|
|
286
|
+
|
|
287
|
+
**Best Practice:** Limit pattern storage based on hardware.
|
|
288
|
+
|
|
289
|
+
```python
|
|
290
|
+
# For NUC: Store only top 100 patterns
|
|
291
|
+
# For Workstation: Store up to 1000 patterns
|
|
292
|
+
|
|
293
|
+
if hardware_profile == HardwareProfile.NUC:
|
|
294
|
+
max_patterns = 100
|
|
295
|
+
else:
|
|
296
|
+
max_patterns = 1000
|
|
297
|
+
```
|
|
298
|
+
|
|
299
|
+
### 16. Metric Compression
|
|
300
|
+
|
|
301
|
+
**Best Practice:** Compress refinement history for NUC devices.
|
|
302
|
+
|
|
303
|
+
```python
|
|
304
|
+
# Automatic compression for NUC
|
|
305
|
+
if hardware_profile == HardwareProfile.NUC:
|
|
306
|
+
# Store only essential refinement records
|
|
307
|
+
# Compress old history
|
|
308
|
+
compress_refinement_history(metric, keep_last=10)
|
|
309
|
+
```
|
|
310
|
+
|
|
311
|
+
## Integration Best Practices
|
|
312
|
+
|
|
313
|
+
### 17. Learning Hooks
|
|
314
|
+
|
|
315
|
+
**Best Practice:** Add learning hooks at key execution points.
|
|
316
|
+
|
|
317
|
+
```python
|
|
318
|
+
async def execute_task(self, command: str, **kwargs):
|
|
319
|
+
capability_id = f"{command}_{self.agent_id}"
|
|
320
|
+
task_id = kwargs.get("task_id", f"task-{uuid.uuid4()}")
|
|
321
|
+
start_time = time.time()
|
|
322
|
+
|
|
323
|
+
try:
|
|
324
|
+
result = await self._execute_internal(command, **kwargs)
|
|
325
|
+
|
|
326
|
+
# Learning hook: After successful execution
|
|
327
|
+
self.learn_from_task(
|
|
328
|
+
capability_id=capability_id,
|
|
329
|
+
task_id=task_id,
|
|
330
|
+
code=kwargs.get("code"),
|
|
331
|
+
quality_scores=kwargs.get("quality_scores"),
|
|
332
|
+
success=True,
|
|
333
|
+
duration=time.time() - start_time
|
|
334
|
+
)
|
|
335
|
+
|
|
336
|
+
return result
|
|
337
|
+
except Exception as e:
|
|
338
|
+
# Learning hook: After failure
|
|
339
|
+
self.learn_from_task(
|
|
340
|
+
capability_id=capability_id,
|
|
341
|
+
task_id=task_id,
|
|
342
|
+
success=False,
|
|
343
|
+
duration=time.time() - start_time
|
|
344
|
+
)
|
|
345
|
+
raise
|
|
346
|
+
```
|
|
347
|
+
|
|
348
|
+
### 18. Memory System Integration
|
|
349
|
+
|
|
350
|
+
**Best Practice:** Integrate with TaskMemory system for knowledge retention.
|
|
351
|
+
|
|
352
|
+
```python
|
|
353
|
+
# Learning system automatically stores in memory
|
|
354
|
+
# Patterns are linked to tasks
|
|
355
|
+
# Knowledge graph tracks relationships
|
|
356
|
+
|
|
357
|
+
# Retrieve similar tasks
|
|
358
|
+
similar_tasks = self.memory_system.get_similar_tasks(task_id)
|
|
359
|
+
|
|
360
|
+
# Use patterns from similar tasks
|
|
361
|
+
for similar_task in similar_tasks:
|
|
362
|
+
patterns.extend(similar_task.patterns_used)
|
|
363
|
+
```
|
|
364
|
+
|
|
365
|
+
## Monitoring and Analytics
|
|
366
|
+
|
|
367
|
+
### 19. Capability Metrics Dashboard
|
|
368
|
+
|
|
369
|
+
**Best Practice:** Regularly review capability metrics.
|
|
370
|
+
|
|
371
|
+
```python
|
|
372
|
+
# Get capability health
|
|
373
|
+
metrics = self.get_capability_metrics(capability_id)
|
|
374
|
+
|
|
375
|
+
# Monitor:
|
|
376
|
+
# - Quality score trends
|
|
377
|
+
# - Success rate
|
|
378
|
+
# - Usage count
|
|
379
|
+
# - Refinement history
|
|
380
|
+
```
|
|
381
|
+
|
|
382
|
+
### 20. Learning Effectiveness Tracking
|
|
383
|
+
|
|
384
|
+
**Best Practice:** Track learning effectiveness over time.
|
|
385
|
+
|
|
386
|
+
```python
|
|
387
|
+
# Compare metrics before/after learning
|
|
388
|
+
before_quality = metric.quality_score
|
|
389
|
+
# ... learning period ...
|
|
390
|
+
after_quality = metric.quality_score
|
|
391
|
+
|
|
392
|
+
improvement = (after_quality - before_quality) / before_quality * 100
|
|
393
|
+
logger.info(f"Quality improved by {improvement:.1f}%")
|
|
394
|
+
```
|
|
395
|
+
|
|
396
|
+
## Security Best Practices
|
|
397
|
+
|
|
398
|
+
### 21. Security-Aware Pattern Learning
|
|
399
|
+
|
|
400
|
+
**Best Practice:** Always scan code for security vulnerabilities before learning.
|
|
401
|
+
|
|
402
|
+
```python
|
|
403
|
+
# Security scanning is automatic, but verify results
|
|
404
|
+
result = await learner.learn_from_task(
|
|
405
|
+
capability_id="test",
|
|
406
|
+
task_id="task_1",
|
|
407
|
+
code=code,
|
|
408
|
+
quality_scores=scores,
|
|
409
|
+
success=True,
|
|
410
|
+
)
|
|
411
|
+
|
|
412
|
+
# Check security results
|
|
413
|
+
if result["security_checked"]:
|
|
414
|
+
if result["security_score"] < 7.0:
|
|
415
|
+
logger.warning("Code was too insecure to learn from")
|
|
416
|
+
# Review vulnerabilities
|
|
417
|
+
for vuln in result["security_vulnerabilities"]:
|
|
418
|
+
logger.warning(f"Vulnerability: {vuln['test_name']} at line {vuln['line']}")
|
|
419
|
+
```
|
|
420
|
+
|
|
421
|
+
**Benefits:**
|
|
422
|
+
- Prevents learning vulnerable patterns
|
|
423
|
+
- Maintains security standards
|
|
424
|
+
- Protects against security regressions
|
|
425
|
+
|
|
426
|
+
### 22. Security Threshold Configuration
|
|
427
|
+
|
|
428
|
+
**Best Practice:** Set appropriate security thresholds for your security requirements.
|
|
429
|
+
|
|
430
|
+
```python
|
|
431
|
+
# For high-security environments
|
|
432
|
+
extractor = PatternExtractor(
|
|
433
|
+
security_threshold=8.0, # Stricter threshold
|
|
434
|
+
)
|
|
435
|
+
|
|
436
|
+
# For general development
|
|
437
|
+
extractor = PatternExtractor(
|
|
438
|
+
security_threshold=7.0, # Standard threshold
|
|
439
|
+
)
|
|
440
|
+
```
|
|
441
|
+
|
|
442
|
+
## Negative Feedback Learning Best Practices
|
|
443
|
+
|
|
444
|
+
### 23. Learn from Failures
|
|
445
|
+
|
|
446
|
+
**Best Practice:** Always learn from failed tasks to avoid repeating mistakes.
|
|
447
|
+
|
|
448
|
+
```python
|
|
449
|
+
# Automatic anti-pattern extraction from failures
|
|
450
|
+
result = await learner.learn_from_task(
|
|
451
|
+
capability_id="test",
|
|
452
|
+
task_id="task_1",
|
|
453
|
+
code=failed_code,
|
|
454
|
+
success=False, # Task failed
|
|
455
|
+
)
|
|
456
|
+
|
|
457
|
+
# Review failure analysis
|
|
458
|
+
if result["failure_analyzed"]:
|
|
459
|
+
failure_mode = result["failure_analysis"]["failure_mode"]
|
|
460
|
+
suggestions = result["failure_analysis"]["suggestions"]
|
|
461
|
+
logger.info(f"Failure mode: {failure_mode}")
|
|
462
|
+
for suggestion in suggestions:
|
|
463
|
+
logger.info(f"Prevention: {suggestion}")
|
|
464
|
+
```
|
|
465
|
+
|
|
466
|
+
**Benefits:**
|
|
467
|
+
- Avoids repeating mistakes
|
|
468
|
+
- Identifies common failure patterns
|
|
469
|
+
- Provides prevention strategies
|
|
470
|
+
|
|
471
|
+
### 24. Track User Rejections
|
|
472
|
+
|
|
473
|
+
**Best Practice:** Explicitly record user rejections for learning.
|
|
474
|
+
|
|
475
|
+
```python
|
|
476
|
+
# When user rejects code
|
|
477
|
+
result = await learner.learn_from_rejection(
|
|
478
|
+
capability_id="test",
|
|
479
|
+
task_id="task_2",
|
|
480
|
+
code=rejected_code,
|
|
481
|
+
rejection_reason="Code contains security vulnerabilities",
|
|
482
|
+
quality_score=0.4,
|
|
483
|
+
)
|
|
484
|
+
|
|
485
|
+
# Anti-patterns are automatically extracted and stored
|
|
486
|
+
```
|
|
487
|
+
|
|
488
|
+
**Benefits:**
|
|
489
|
+
- Learns from explicit feedback
|
|
490
|
+
- Tracks rejection patterns
|
|
491
|
+
- Improves based on user preferences
|
|
492
|
+
|
|
493
|
+
### 25. Review Anti-Patterns
|
|
494
|
+
|
|
495
|
+
**Best Practice:** Regularly review anti-patterns to understand what to avoid.
|
|
496
|
+
|
|
497
|
+
```python
|
|
498
|
+
# Get anti-patterns for context
|
|
499
|
+
anti_patterns = learner.negative_feedback_handler.get_anti_patterns_for_context(
|
|
500
|
+
context="security",
|
|
501
|
+
limit=10,
|
|
502
|
+
)
|
|
503
|
+
|
|
504
|
+
# Review what to avoid
|
|
505
|
+
for pattern in anti_patterns:
|
|
506
|
+
logger.warning(f"Avoid: {pattern.code_snippet[:100]}")
|
|
507
|
+
logger.warning(f"Reasons: {', '.join(pattern.failure_reasons)}")
|
|
508
|
+
logger.warning(f"Rejected {pattern.rejection_count} times")
|
|
509
|
+
```
|
|
510
|
+
|
|
511
|
+
## Explainability Best Practices
|
|
512
|
+
|
|
513
|
+
### 26. Review Decision Logs
|
|
514
|
+
|
|
515
|
+
**Best Practice:** Regularly review decision logs to understand learning behavior.
|
|
516
|
+
|
|
517
|
+
```python
|
|
518
|
+
# Get decision history
|
|
519
|
+
history = learner.decision_logger.get_decision_history(
|
|
520
|
+
decision_type="pattern_extraction_threshold",
|
|
521
|
+
limit=20,
|
|
522
|
+
)
|
|
523
|
+
|
|
524
|
+
# Review decisions
|
|
525
|
+
for decision in history:
|
|
526
|
+
print(f"Decision: {decision.decision_type}")
|
|
527
|
+
print(f"Reasoning: {decision.reasoning}")
|
|
528
|
+
print(f"Confidence: {decision.confidence:.2%}")
|
|
529
|
+
print(f"Sources: {', '.join(decision.sources)}")
|
|
530
|
+
```
|
|
531
|
+
|
|
532
|
+
**Benefits:**
|
|
533
|
+
- Understand learning decisions
|
|
534
|
+
- Identify decision patterns
|
|
535
|
+
- Debug learning issues
|
|
536
|
+
|
|
537
|
+
### 27. Explain Pattern Selection
|
|
538
|
+
|
|
539
|
+
**Best Practice:** Use pattern selection explanations to understand recommendations.
|
|
540
|
+
|
|
541
|
+
```python
|
|
542
|
+
# Get patterns with explanations
|
|
543
|
+
patterns = learner.get_learned_patterns(context="test")
|
|
544
|
+
explanation = learner.pattern_explainer.explain_pattern_selection(
|
|
545
|
+
selected_patterns=patterns,
|
|
546
|
+
context="test",
|
|
547
|
+
)
|
|
548
|
+
|
|
549
|
+
# Review why patterns were selected
|
|
550
|
+
for pattern_info in explanation["patterns"]:
|
|
551
|
+
print(f"Pattern: {pattern_info['pattern_id']}")
|
|
552
|
+
print(f"Relevance: {pattern_info['relevance_score']:.2f}")
|
|
553
|
+
print(f"Justification: {pattern_info['justification']}")
|
|
554
|
+
```
|
|
555
|
+
|
|
556
|
+
### 28. Monitor Learning Impact
|
|
557
|
+
|
|
558
|
+
**Best Practice:** Track learning impact to measure effectiveness.
|
|
559
|
+
|
|
560
|
+
```python
|
|
561
|
+
# Impact is automatically tracked, but review reports
|
|
562
|
+
result = await learner.learn_from_task(...)
|
|
563
|
+
|
|
564
|
+
if "learning_impact" in result:
|
|
565
|
+
impact = result["learning_impact"]
|
|
566
|
+
print(f"Effectiveness: {impact['effectiveness']:.2f}")
|
|
567
|
+
print(f"Overall Improvement: {impact['overall_improvement']:.2f}")
|
|
568
|
+
|
|
569
|
+
# Review improvements by metric
|
|
570
|
+
for metric, data in impact["improvements"].items():
|
|
571
|
+
print(f"{metric}: {data['improvement_percent']:.1f}% improvement")
|
|
572
|
+
```
|
|
573
|
+
|
|
574
|
+
## Meta-Learning Best Practices
|
|
575
|
+
|
|
576
|
+
### 29. Regular Optimization
|
|
577
|
+
|
|
578
|
+
**Best Practice:** Run meta-learning optimization periodically.
|
|
579
|
+
|
|
580
|
+
```python
|
|
581
|
+
# Optimize learning system
|
|
582
|
+
optimization = await learner.optimize_learning(
|
|
583
|
+
capability_id="test",
|
|
584
|
+
)
|
|
585
|
+
|
|
586
|
+
# Review optimization results
|
|
587
|
+
print(f"Quality Assessment: {optimization['quality_assessment']['quality_score']:.2f}")
|
|
588
|
+
print(f"Learning Gaps: {optimization['learning_gaps']}")
|
|
589
|
+
print(f"Optimal Strategy: {optimization['optimal_strategy']}")
|
|
590
|
+
|
|
591
|
+
# Implement suggestions
|
|
592
|
+
for suggestion in optimization["improvement_suggestions"]:
|
|
593
|
+
logger.info(f"Improvement: {suggestion}")
|
|
594
|
+
```
|
|
595
|
+
|
|
596
|
+
**Benefits:**
|
|
597
|
+
- Autonomous optimization
|
|
598
|
+
- Identifies learning gaps
|
|
599
|
+
- Suggests improvements
|
|
600
|
+
|
|
601
|
+
### 30. Monitor Effectiveness
|
|
602
|
+
|
|
603
|
+
**Best Practice:** Track learning effectiveness over time.
|
|
604
|
+
|
|
605
|
+
```python
|
|
606
|
+
# Get effectiveness metrics
|
|
607
|
+
roi = learner.effectiveness_tracker.get_learning_roi(
|
|
608
|
+
capability_id="test",
|
|
609
|
+
)
|
|
610
|
+
|
|
611
|
+
print(f"Total Sessions: {roi['total_sessions']}")
|
|
612
|
+
print(f"Average Effectiveness: {roi['average_effectiveness']:.2f}")
|
|
613
|
+
print(f"ROI Score: {roi['roi_score']:.2f}")
|
|
614
|
+
|
|
615
|
+
# Get effective strategies
|
|
616
|
+
strategies = learner.effectiveness_tracker.get_effective_strategies(
|
|
617
|
+
capability_id="test",
|
|
618
|
+
)
|
|
619
|
+
|
|
620
|
+
# Use most effective strategies
|
|
621
|
+
best_strategy = max(strategies.items(), key=lambda x: x[1])
|
|
622
|
+
print(f"Best Strategy: {best_strategy[0]} ({best_strategy[1]:.2f})")
|
|
623
|
+
```
|
|
624
|
+
|
|
625
|
+
### 31. Self-Assessment
|
|
626
|
+
|
|
627
|
+
**Best Practice:** Regularly assess learning quality.
|
|
628
|
+
|
|
629
|
+
```python
|
|
630
|
+
# Assess learning quality
|
|
631
|
+
assessment = learner.self_assessor.assess_learning_quality(
|
|
632
|
+
pattern_count=len(learner.pattern_extractor.patterns),
|
|
633
|
+
anti_pattern_count=len(learner.anti_pattern_extractor.anti_patterns),
|
|
634
|
+
average_quality=0.85,
|
|
635
|
+
average_security=8.0,
|
|
636
|
+
)
|
|
637
|
+
|
|
638
|
+
# Identify gaps
|
|
639
|
+
gaps = learner.self_assessor.identify_learning_gaps(
|
|
640
|
+
capability_metrics={"success_rate": 0.75},
|
|
641
|
+
pattern_statistics={"total_patterns": 50, "average_quality": 0.8},
|
|
642
|
+
)
|
|
643
|
+
|
|
644
|
+
# Address gaps
|
|
645
|
+
for gap in gaps:
|
|
646
|
+
logger.warning(f"Learning Gap: {gap}")
|
|
647
|
+
```
|
|
648
|
+
|
|
649
|
+
## Common Pitfalls to Avoid
|
|
650
|
+
|
|
651
|
+
### ❌ Learning from All Tasks
|
|
652
|
+
|
|
653
|
+
**Problem:** Learning from low-quality tasks pollutes pattern library.
|
|
654
|
+
|
|
655
|
+
**Solution:** Use quality threshold filtering (>= 0.7).
|
|
656
|
+
|
|
657
|
+
### ❌ Too Many Capabilities
|
|
658
|
+
|
|
659
|
+
**Problem:** Over-granular capabilities fragment metrics.
|
|
660
|
+
|
|
661
|
+
**Solution:** Balance granularity - specific but not excessive.
|
|
662
|
+
|
|
663
|
+
### ❌ Ignoring Hardware Profile
|
|
664
|
+
|
|
665
|
+
**Problem:** Same learning intensity on all hardware wastes resources.
|
|
666
|
+
|
|
667
|
+
**Solution:** Use hardware-aware learning intensity.
|
|
668
|
+
|
|
669
|
+
### ❌ No Feedback Loop
|
|
670
|
+
|
|
671
|
+
**Problem:** Learning without quality feedback is blind.
|
|
672
|
+
|
|
673
|
+
**Solution:** Integrate code scoring system for objective feedback.
|
|
674
|
+
|
|
675
|
+
### ❌ Pattern Overfitting
|
|
676
|
+
|
|
677
|
+
**Problem:** Using same patterns repeatedly reduces creativity.
|
|
678
|
+
|
|
679
|
+
**Solution:** Maintain diverse pattern library, use multiple patterns.
|
|
680
|
+
|
|
681
|
+
### ❌ Ignoring Security
|
|
682
|
+
|
|
683
|
+
**Problem:** Learning from vulnerable code introduces security risks.
|
|
684
|
+
|
|
685
|
+
**Solution:** Always use security scanning, set appropriate thresholds.
|
|
686
|
+
|
|
687
|
+
### ❌ Not Learning from Failures
|
|
688
|
+
|
|
689
|
+
**Problem:** Repeating the same mistakes without learning.
|
|
690
|
+
|
|
691
|
+
**Solution:** Always extract anti-patterns from failures and rejections.
|
|
692
|
+
|
|
693
|
+
### ❌ Lack of Explainability
|
|
694
|
+
|
|
695
|
+
**Problem:** Can't understand why learning decisions were made.
|
|
696
|
+
|
|
697
|
+
**Solution:** Review decision logs and pattern selection explanations.
|
|
698
|
+
|
|
699
|
+
### ❌ No Meta-Learning
|
|
700
|
+
|
|
701
|
+
**Problem:** Learning system doesn't improve itself.
|
|
702
|
+
|
|
703
|
+
**Solution:** Run optimization periodically, monitor effectiveness.
|
|
704
|
+
|
|
705
|
+
## References
|
|
706
|
+
|
|
707
|
+
- [Agent Learning Guide](../../../docs/AGENT_LEARNING_GUIDE.md)
|
|
708
|
+
- [Learning Security Guide](../../../docs/LEARNING_SECURITY.md)
|
|
709
|
+
- [Negative Feedback Learning Guide](../../../docs/LEARNING_NEGATIVE_FEEDBACK.md)
|
|
710
|
+
- [Explainability Guide](../../../docs/LEARNING_EXPLAINABILITY.md)
|
|
711
|
+
- [Meta-Learning Guide](../../../docs/LEARNING_META_LEARNING.md)
|
|
712
|
+
- [Task Memory Guide](../../../docs/TASK_MEMORY_GUIDE.md)
|
|
713
|
+
- [Capability Registry](../../../tapps_agents/core/capability_registry.py)
|
|
714
|
+
- [Agent Learning System](../../../tapps_agents/core/agent_learning.py)
|
|
715
|
+
|