File size: 21,154 Bytes
ed1b365 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 | """
DaVinci Agent - Analyzes concepts through creative, inventive, and cross-domain reasoning.
Focuses on cross-domain connections, biomimicry and nature-inspired solutions,
iterative improvement possibilities, visual/spatial reasoning, and novel
combinations of existing ideas.
"""
from reasoning_forge.agents.base_agent import ReasoningAgent
class DaVinciAgent(ReasoningAgent):
name = "DaVinci"
perspective = "creative_and_inventive"
adapter_name = "davinci" # Use the DaVinci LoRA adapter for real inference
def get_analysis_templates(self) -> list[str]:
return [
# 0 - Cross-domain analogy
(
"Drawing cross-domain connections to '{concept}': the deepest insights often "
"come from recognizing structural similarities between apparently unrelated "
"fields. A river delta and a lightning bolt share the same branching "
"optimization geometry. A market economy and an ant colony share the same "
"decentralized coordination logic. For '{concept}', the creative question "
"is: what other domain exhibits the same deep structure? If we map the "
"entities, relationships, and dynamics of '{concept}' onto those of the "
"analogous domain, which features are preserved (revealing shared principles) "
"and which break (revealing domain-specific constraints)? The preserved "
"features point toward universal laws; the broken features point toward "
"opportunities for domain-specific innovation."
),
# 1 - Biomimicry lens
(
"Examining '{concept}' through biomimicry: nature has been solving design "
"problems for 3.8 billion years through evolutionary optimization. Bones "
"achieve maximum strength with minimum material by using trabecular "
"architecture -- hollow struts arranged along stress lines. Spider silk "
"achieves tensile strength exceeding steel at a fraction of the weight "
"through hierarchical nanostructure. Termite mounds maintain constant "
"internal temperature without energy input through passive ventilation "
"design. For '{concept}', the biomimicry question is: what organism or "
"ecosystem has already solved an analogous problem, and what principle "
"does its solution exploit that we have not yet applied?"
),
# 2 - Combinatorial invention
(
"Approaching '{concept}' through combinatorial creativity: most inventions "
"are novel combinations of existing elements. The printing press combined "
"the wine press, movable type, oil-based ink, and paper. The smartphone "
"combined a phone, camera, GPS, accelerometer, and internet browser into "
"a device that is qualitatively different from any of its components. For "
"'{concept}', the combinatorial strategy asks: what are the elemental "
"components, and what happens when we recombine them in unusual ways? "
"Pair each element with every other element and ask whether the combination "
"produces something valuable. The most productive combinations are often "
"between elements from distant categories that no one thought to connect."
),
# 3 - Inversion and reversal
(
"Inverting '{concept}': one of the most powerful creative strategies is "
"systematic inversion -- taking every assumption and reversing it. If the "
"current approach pushes, try pulling. If it adds, try subtracting. If it "
"centralizes, try distributing. If it speeds up, try slowing down. Many "
"breakthrough solutions came from inverting an assumption everyone took for "
"granted. Vacuum cleaners worked by pushing air until Dyson inverted the "
"flow. Assembly lines brought work to workers; Toyota inverted this by "
"bringing workers to work (cellular manufacturing). For '{concept}', "
"systematically listing and inverting each assumption reveals a space of "
"unconventional approaches that conventional thinking renders invisible."
),
# 4 - Visual-spatial reasoning
(
"Visualizing the spatial architecture of '{concept}': representing abstract "
"relationships as spatial structures makes hidden patterns visible. If we "
"map the components of '{concept}' to nodes and their relationships to "
"edges, the resulting graph reveals clustering (tightly connected subgroups), "
"bridges (elements connecting otherwise separate clusters), hubs (elements "
"with many connections), and periphery (weakly connected elements). The "
"topology of this graph -- its shape, density, and symmetry -- encodes "
"information about the concept's structure that verbal description alone "
"cannot capture. Hub nodes are high-leverage intervention points; bridges "
"are fragile connections whose failure would fragment the system."
),
# 5 - Constraint as catalyst
(
"Using constraints as creative catalysts for '{concept}': rather than seeing "
"limitations as obstacles, use them as forcing functions for innovation. "
"Twitter's 140-character limit forced a new style of writing. The sonnet's "
"14-line constraint forced poetic compression. Budget constraints force "
"elegant engineering. For '{concept}', deliberately imposing additional "
"constraints -- what if we had to solve this with half the resources? In "
"one-tenth the time? With no electricity? For a user who cannot see? -- "
"often breaks through conventional thinking by invalidating the default "
"approach and forcing genuinely creative alternatives."
),
# 6 - First principles reconstruction
(
"Reconstructing '{concept}' from first principles: strip away all inherited "
"conventions, historical accidents, and 'we have always done it this way' "
"accretions. What remains when we reduce the problem to its fundamental "
"requirements? Starting from physical laws, human needs, and mathematical "
"constraints, what is the minimum viable solution? Often the gap between "
"this first-principles design and the current state reveals enormous "
"inefficiency that is invisible from within the conventional framework. "
"SpaceX re-derived rocket design from first principles and found that "
"materials cost only 2% of the final price. For '{concept}', the first-"
"principles question is: if we were designing this from scratch today, "
"knowing what we know, what would it look like?"
),
# 7 - Morphological analysis
(
"Applying morphological analysis to '{concept}': decompose the concept into "
"its independent dimensions, list the possible values for each dimension, "
"and then systematically explore the combinatorial space. If '{concept}' has "
"five dimensions with four options each, the morphological space contains "
"1024 configurations. Most are impractical, but a systematic sweep guarantees "
"that no promising combination is overlooked by the biases of free-form "
"brainstorming. The power of morphological analysis is that it converts "
"creative search from a haphazard process into a structured exploration, "
"surfacing configurations that no one would think of spontaneously because "
"they cross conventional category boundaries."
),
# 8 - Prototype thinking
(
"Applying prototype thinking to '{concept}': instead of perfecting a plan "
"before executing, build the quickest possible embodiment of the core idea "
"and learn from its failures. The prototype is not the solution but a "
"question asked in physical form: 'does this work?' Each prototype cycle "
"-- build, test, learn, rebuild -- compresses the feedback loop and "
"generates knowledge that purely theoretical analysis cannot provide. For "
"'{concept}', the prototype question is: what is the smallest, cheapest, "
"fastest experiment that would test the most critical assumption? Building "
"that experiment, even if crude, will teach us more than months of "
"theoretical refinement."
),
# 9 - Emergent properties through scale
(
"Exploring emergent properties of '{concept}' at different scales: systems "
"often exhibit qualitatively new behavior when scaled up or down. A single "
"neuron computes nothing interesting; a billion networked neurons produce "
"consciousness. A single transaction is trivial; billions of transactions "
"produce market dynamics. For '{concept}', the scale question asks: what "
"happens when we multiply the instances by a thousand? By a million? What "
"new phenomena emerge at scale that are absent at the individual level? "
"Conversely, what happens when we reduce to a single instance? Scale "
"transitions often reveal the concept's most interesting properties."
),
# 10 - Da Vinci's sfumato (ambiguity as resource)
(
"Embracing the sfumato of '{concept}': Leonardo da Vinci practiced sfumato "
"-- the technique of leaving edges soft and ambiguous rather than sharply "
"defined. In creative reasoning, maintaining productive ambiguity resists "
"premature closure and keeps the interpretive space open. The undefined "
"edges of '{concept}' are not defects but fertile zones where new "
"connections can form. Attempts to define everything precisely may satisfy "
"the desire for clarity but kill the creative potential that lives in "
"the ambiguous spaces between categories. Sit with the ambiguity long "
"enough and patterns emerge that rigid definitions would have prevented."
),
# 11 - Lateral thinking transfer
(
"Applying lateral thinking to '{concept}': Edward de Bono's lateral "
"thinking techniques include random entry (inject an unrelated concept "
"and force a connection), provocation (make a deliberately absurd statement "
"and extract useful ideas from it), and challenge (question why things are "
"done the current way). For '{concept}', a random entry might connect it "
"to deep-sea bioluminescence, medieval cathedral construction, or jazz "
"improvisation. The forced connection between '{concept}' and a random "
"domain breaks habitual thought patterns and creates novel pathways that "
"logical deduction alone cannot reach."
),
# 12 - Fractal self-similarity
(
"Examining '{concept}' for fractal self-similarity: does the same pattern "
"recur at different scales? Coastlines look similar whether photographed "
"from a satellite or a drone. Organizational hierarchies replicate the same "
"power dynamics from teams to departments to divisions. Blood vessel "
"networks branch according to the same rules from arteries to capillaries. "
"If '{concept}' exhibits self-similarity, then understanding the pattern at "
"one scale gives us understanding at all scales. A single well-studied "
"instance contains the blueprint for the entire hierarchy, and interventions "
"that work at one scale can be adapted to work at others."
),
# 13 - Negative space analysis
(
"Analyzing the negative space of '{concept}': just as a sculptor defines a "
"form by removing material, we can define '{concept}' by examining what it "
"is not. What has been excluded, ignored, or left unsaid? The negative space "
"-- the complement of the concept -- often contains crucial information. "
"What alternatives were considered and rejected? What possibilities does "
"the current framing render invisible? The adjacent possible (the set of "
"things that are one step away from existing) is often more interesting "
"than the concept itself, because it represents the immediate frontier "
"of innovation."
),
# 14 - Systems of constraints (Rube Goldberg inversion)
(
"Simplifying '{concept}' by subtracting rather than adding: the natural "
"tendency in design is to add features, layers, and complexity. The "
"harder and more valuable creative move is subtraction: what can we "
"remove while preserving or improving function? Antoine de Saint-Exupery "
"said perfection is achieved not when there is nothing left to add, but "
"when there is nothing left to take away. For '{concept}', the subtraction "
"exercise asks: what happens if we remove each component in turn? Which "
"removals are catastrophic (essential components) and which are beneficial "
"(removing parasitic complexity)? The minimal viable version is often "
"more powerful than the maximal one."
),
# 15 - TRIZ inventive principles
(
"Applying TRIZ inventive principles to '{concept}': Genrich Altshuller's "
"analysis of 200,000 patents revealed 40 recurring inventive principles. "
"Segmentation (divide a monolithic system into parts). Extraction (remove "
"a problematic element and deal with it separately). Local quality (make "
"each part optimized for its local function rather than forcing uniformity). "
"Asymmetry (break the symmetry of a symmetric design to improve function). "
"Nesting (place one object inside another). Prior action (perform required "
"changes before they are needed). For '{concept}', systematically applying "
"each principle generates a structured menu of inventive strategies that "
"goes far beyond unconstrained brainstorming."
),
# 16 - Synesthesia and cross-modal thinking
(
"Engaging cross-modal perception for '{concept}': what does this concept "
"sound like? What texture does it have? What temperature? What color? "
"Cross-modal associations -- thinking about a concept through sensory "
"channels that do not literally apply -- activate neural pathways that "
"linear verbal reasoning does not reach. Kandinsky heard colors and saw "
"sounds; this synesthetic thinking produced radically new art. For "
"'{concept}', translating it into sensory terms (the rhythm of its "
"processes, the texture of its interactions, the weight of its consequences) "
"can reveal structural features that abstract analysis misses."
),
# 17 - Nature's design patterns
(
"Identifying nature's design patterns in '{concept}': evolution has converged "
"on certain solutions repeatedly because they are optimal under common "
"constraints. Hexagonal packing (beehives, basalt columns) maximizes area "
"with minimum material. Branching networks (trees, rivers, lungs, lightning) "
"optimize distribution from a source to a volume. Spiral growth (shells, "
"galaxies, hurricanes) manages expansion while maintaining structural "
"integrity. For '{concept}', asking which of nature's recurring design "
"patterns applies suggests time-tested architectures that human design "
"has not yet exploited."
),
# 18 - Bisociation and humor
(
"Applying Koestler's bisociation to '{concept}': Arthur Koestler proposed "
"that creativity, humor, and scientific discovery share the same cognitive "
"mechanism: bisociation -- the simultaneous perception of a situation in "
"two habitually incompatible frames of reference. The collision of frames "
"produces a flash of insight (in science), a punchline (in humor), or a "
"novel artifact (in art). For '{concept}', identifying two incompatible "
"but individually valid frames and forcing them to coexist generates the "
"cognitive tension from which genuinely original ideas spring. The more "
"distant the frames, the more surprising and potentially valuable the "
"bisociative insight."
),
# 19 - Future archaeology
(
"Practicing future archaeology on '{concept}': imagine examining the "
"artifacts of this concept a hundred years from now, from a future "
"civilization's perspective. What would they find elegant? What would "
"they find primitive? What would puzzle them about our choices? This "
"temporal displacement reveals assumptions we cannot see from within our "
"own era. The future archaeologist would ask: why did they do it this way "
"when a simpler method was available? What constraint -- technological, "
"social, or cognitive -- forced this particular design? For '{concept}', "
"this exercise separates the timeless core from the historically contingent "
"shell and suggests directions for forward-looking redesign."
),
]
def get_keyword_map(self) -> dict[str, list[int]]:
return {
"analog": [0, 18], "similar": [0, 12], "connect": [0, 4],
"nature": [1, 17], "biolog": [1, 17], "organism": [1],
"combin": [2, 7], "element": [2, 7], "component": [2],
"invert": [3], "revers": [3], "opposit": [3],
"visual": [4], "spatial": [4], "map": [4], "graph": [4],
"constrain": [5], "limit": [5], "restrict": [5],
"first principle": [6], "fundament": [6], "basic": [6],
"dimension": [7], "option": [7], "configur": [7],
"prototype": [8], "experiment": [8], "test": [8], "iterate": [8],
"scale": [9, 12], "grow": [9], "expand": [9],
"ambigu": [10], "fuzzy": [10], "unclear": [10],
"creativ": [11, 18], "novel": [11, 18], "innovat": [11],
"pattern": [12, 17], "recur": [12], "repeat": [12],
"absent": [13], "missing": [13], "negative": [13],
"simplif": [14], "remov": [14], "minimal": [14],
"invent": [15], "patent": [15], "engineer": [15],
"sense": [16], "perceiv": [16], "feel": [16],
"evolut": [17], "converge": [17], "branch": [17],
"humor": [18], "surprising": [18], "collision": [18],
"future": [19], "legacy": [19], "long-term": [19],
"technology": [2, 6, 15], "design": [1, 14, 15],
"art": [10, 16], "music": [16, 18],
}
def analyze(self, concept: str) -> str:
template = self.select_template(concept)
return template.replace("{concept}", concept)
|