Skill: Explainable by Design Architecture (EDA)
Version: 1.0 Author: Manus AI
1. Description
This skill implements an Explainable by Design Architecture (EDA), a framework that forces the AI to document its reasoning as it makes architectural decisions. Instead of producing a "black box" of code, an AI using EDA generates a rich, human-readable log of every significant choice it makes—why it chose a specific database, why it selected a particular framework, and what alternatives it considered. This creates a transparent and auditable development process.
This skill is a direct implementation of the eighth of the 10 breakthrough LLM innovations.
Key Features:
- Built-in Transparency: Makes explainability a core part of the architecture, not an afterthought.
- Structured Decision Logging: Provides a clear, consistent format for documenting every architectural choice.
- Auditable Rationale: Captures not just what the AI decided, but why, including the alternatives it rejected.
- Human-Readable Reports: Can generate a comprehensive report that explains the entire system architecture in plain English.
2. How to Use
2.1. Installation
This skill is a self-contained Python module. To use it, import the ExplanationEngine class.
from skills.eda.src.eda_engine import ExplanationEngine
2.2. Logging Decisions
As the AI makes architectural choices during the development process, it should log them with the ExplanationEngine.
eda = ExplanationEngine()
# The AI decides on a database
eda.log_decision(
component="Database",
decision="PostgreSQL",
rationale="Chosen for its robustness, scalability, and strong support for JSON data types, which is ideal for flexible product catalogs.",
alternatives=["MySQL", "SQLite"]
)
# The AI decides on a frontend framework
eda.log_decision(
component="Frontend Framework",
decision="React.js",
rationale="Selected for its large ecosystem, component-based architecture, and performance. It is well-suited for building an interactive user experience.",
alternatives=["Vue.js", "Angular"]
)
2.3. Retrieving Explanations
You can query the engine to get explanations for specific parts of the system.
db_decisions = eda.get_explanations_for_component("Database")
for decision in db_decisions:
print(f"Why did we choose {decision.decision}? Rationale: {decision.rationale}")
2.4. Generating a Full Report
At the end of the development process, you can generate a complete architectural decision record.
full_report = eda.generate_report()
print(full_report)
3. Development Roadmap
EDA is fundamental to building trust in AI-generated software. Future development will focus on making the explanations richer and more integrated.
v1.1: Code-to-Decision Linking:
- Goal: When logging a decision, also include a reference to the specific code file(s) or function(s) that implement that decision. This will create a powerful link between the abstract rationale and the concrete implementation.
- Timeline: 3 weeks
v1.2: Visualization of Decision Tree:
- Goal: Create a tool to visualize the decision-making process as a tree. This will make it easy to see how high-level choices cascade down into lower-level implementation details.
- Timeline: 4 weeks
v1.3: Interactive Explanation Interface:
- Goal: Build a simple web interface where a human developer can click on a component in a diagram and see the full explanation for why it was designed that way.
- Timeline: 6 weeks
v2.0: Proactive Explanation:
- Goal: The AI will learn to anticipate which parts of its design are most likely to be confusing to a human and will automatically generate more detailed explanations for those areas. It will move from simply logging decisions to actively teaching the user about its design.
- Timeline: 8 weeks