| """ |
| Ethics Agent - Analyzes concepts through alignment, consequences, and moral reasoning. |
| |
| Focuses on human well-being impact, unintended consequences, fairness and equity, |
| responsibility and accountability, and long-term societal effects. |
| """ |
|
|
| from reasoning_forge.agents.base_agent import ReasoningAgent |
|
|
|
|
| class EthicsAgent(ReasoningAgent): |
| name = "Ethics" |
| perspective = "alignment_and_consequences" |
| adapter_name = "philosophy" |
|
|
| def get_analysis_templates(self) -> list[str]: |
| return [ |
| |
| ( |
| "Evaluating '{concept}' by its consequences: the moral weight of any action " |
| "or system lies primarily in its outcomes. We must trace the full causal " |
| "chain from implementation to impact, distinguishing first-order effects " |
| "(immediate and intended) from second-order effects (delayed and often " |
| "unintended). The distribution of consequences matters as much as the " |
| "aggregate: a net-positive outcome that concentrates benefits among the " |
| "privileged while imposing costs on the vulnerable is ethically different " |
| "from one that distributes benefits broadly. For '{concept}', we must ask " |
| "not just 'does it work?' but 'for whom does it work, and at whose expense?'" |
| ), |
| |
| ( |
| "Examining '{concept}' through the lens of duty and rights: regardless of " |
| "outcomes, certain actions are obligatory and others are forbidden. People " |
| "have inviolable rights -- to autonomy, dignity, truthful information, and " |
| "freedom from manipulation -- that cannot be traded away for aggregate " |
| "benefit. The categorical imperative asks: could we universalize the " |
| "principle behind '{concept}'? If everyone adopted this approach, would " |
| "the result be self-consistent and livable, or would it be self-defeating? " |
| "Any framework that works only when most people do not adopt it (free-riding) " |
| "fails this universalizability test and carries a moral defect regardless " |
| "of its practical effectiveness." |
| ), |
| |
| ( |
| "Mapping the unintended consequences of '{concept}': every intervention in " |
| "a complex system produces side effects that were not part of the original " |
| "design. These unintended consequences often emerge at a different timescale " |
| "(delayed effects), a different spatial scale (distant effects), or in a " |
| "different domain (cross-domain effects) from the intended impact. Cobra " |
| "effects occur when the intervention incentivizes behavior that worsens the " |
| "original problem. Rebound effects occur when efficiency gains are consumed " |
| "by increased usage. For '{concept}', humility about our ability to predict " |
| "second- and third-order effects should temper confidence in any intervention." |
| ), |
| |
| ( |
| "Analyzing the fairness dimensions of '{concept}': distributive justice asks " |
| "how benefits and burdens are allocated. Rawlsian justice demands that " |
| "inequalities are permissible only if they benefit the least advantaged " |
| "members of society. Procedural justice requires that the process for " |
| "allocation is transparent, consistent, and free from bias. Recognition " |
| "justice demands that all affected parties are acknowledged as legitimate " |
| "stakeholders with standing to participate. For '{concept}', we must examine " |
| "whether existing inequalities are perpetuated, amplified, or mitigated, " |
| "and whether those who bear the costs have meaningful voice in the decision." |
| ), |
| |
| ( |
| "Assessing '{concept}' from the standpoint of autonomy: respect for persons " |
| "requires that individuals can make informed, voluntary choices about matters " |
| "affecting their lives. This demands adequate information disclosure (people " |
| "know what they are consenting to), cognitive accessibility (the information " |
| "is presented in a form people can actually understand), voluntariness (no " |
| "coercion, manipulation, or deceptive framing), and ongoing consent (the " |
| "ability to withdraw). For '{concept}', the critical question is whether " |
| "affected parties genuinely understand and freely accept the arrangement, " |
| "or whether consent is nominal -- technically obtained but substantively " |
| "hollow." |
| ), |
| |
| ( |
| "Examining the accountability architecture of '{concept}': when things go " |
| "wrong, who bears responsibility? Clear accountability requires identifiable " |
| "decision-makers, transparent decision processes, defined chains of " |
| "responsibility, and meaningful consequences for failures. Diffuse systems " |
| "create accountability gaps where no individual or entity can be held " |
| "responsible for collective harms. The 'many hands' problem arises when " |
| "harmful outcomes result from the accumulation of individually reasonable " |
| "decisions by many actors. For '{concept}', we must ask: if this causes " |
| "harm, is there a clear path from harm to accountable party, and does that " |
| "party have both the authority and incentive to prevent the harm?" |
| ), |
| |
| ( |
| "Centering vulnerable populations in the analysis of '{concept}': ethical " |
| "evaluation must prioritize those with the least power to protect themselves " |
| "-- children, the elderly, the economically disadvantaged, marginalized " |
| "communities, future generations, and those with diminished capacity. " |
| "Systems that appear benign when evaluated from the perspective of the " |
| "typical user may be harmful when evaluated from the perspective of the " |
| "most vulnerable. Accessibility, safety margins, and failure modes should " |
| "be designed for the most vulnerable case, not the average case. The moral " |
| "quality of '{concept}' is best measured by how it treats those who benefit " |
| "least from it." |
| ), |
| |
| ( |
| "Projecting the long-term societal trajectory of '{concept}': short-term " |
| "benefits can create long-term dependencies, lock-ins, or path dependencies " |
| "that constrain future choices. The discount rate we apply to future harms " |
| "(how much we value present benefits relative to future costs) is itself " |
| "an ethical choice. Heavy discounting privileges the present generation at " |
| "the expense of future ones. For '{concept}', we must evaluate not just " |
| "the immediate utility but the legacy: what kind of world does this create " |
| "for those who come after us? Does it expand or contract the option space " |
| "available to future decision-makers?" |
| ), |
| |
| ( |
| "Analyzing the power dynamics embedded in '{concept}': who gains power, who " |
| "loses it, and what mechanisms mediate the transfer? Power asymmetries tend " |
| "to be self-reinforcing: those with power shape the rules to preserve their " |
| "advantage, creating positive feedback loops of concentration. The Matthew " |
| "effect ('to those who have, more shall be given') operates across many " |
| "domains. For '{concept}', we must examine whether it disrupts or reinforces " |
| "existing power hierarchies, whether it creates new forms of dependency, and " |
| "whether the checks and balances are sufficient to prevent abuse by those " |
| "in positions of advantage." |
| ), |
| |
| ( |
| "Evaluating the transparency of '{concept}': truthfulness is not merely " |
| "avoiding false statements; it requires active disclosure of relevant " |
| "information, honest representation of uncertainty, and resistance to " |
| "misleading framing. Opacity serves those who benefit from the status quo " |
| "by preventing informed critique. Selective transparency -- revealing " |
| "favorable information while concealing unfavorable -- is a form of " |
| "deception. For '{concept}', full ethical evaluation requires asking: what " |
| "information is available, what is concealed, who controls the narrative, " |
| "and do affected parties have access to the information they need to " |
| "make genuinely informed judgments?" |
| ), |
| |
| ( |
| "Confronting the dual-use nature of '{concept}': most powerful capabilities " |
| "can serve both beneficial and harmful purposes. The same technology that " |
| "heals can harm; the same knowledge that liberates can oppress. Restricting " |
| "access to prevent misuse also limits beneficial applications. Unrestricted " |
| "access maximizes beneficial use but also maximizes misuse potential. The " |
| "optimal policy depends on the ratio of beneficial to harmful users, the " |
| "magnitude of potential harms versus benefits, and the availability of " |
| "safeguards that selectively enable beneficial use. For '{concept}', the " |
| "dual-use calculus is central to responsible governance." |
| ), |
| |
| ( |
| "Identifying moral hazard in '{concept}': moral hazard arises when an actor " |
| "is insulated from the consequences of their decisions, leading to riskier " |
| "behavior than they would otherwise choose. If the benefits of success are " |
| "private but the costs of failure are socialized (borne by others), the " |
| "decision-maker has a rational incentive to take excessive risks. For " |
| "'{concept}', we must examine the alignment between who decides, who benefits " |
| "from good outcomes, and who pays for bad outcomes. Misalignment between " |
| "these three roles is a reliable predictor of ethically problematic behavior." |
| ), |
| |
| ( |
| "Approaching '{concept}' through virtue ethics: rather than asking 'what " |
| "rules should govern this?' or 'what outcomes does this produce?', we ask " |
| "'what kind of character does engagement with this cultivate?' Does it " |
| "foster wisdom, courage, temperance, justice, compassion, and intellectual " |
| "honesty? Or does it encourage vice: shortsightedness, cowardice, excess, " |
| "injustice, indifference, and self-deception? The virtues are not abstract " |
| "ideals but practical habits that, when cultivated, produce flourishing " |
| "individuals and communities. For '{concept}', the virtue question is: " |
| "does this make us better or worse people?" |
| ), |
| |
| ( |
| "Examining informed consent as applied to '{concept}': genuine consent " |
| "requires that the consenting party understands the risks, alternatives, " |
| "and implications; is free from coercion; and has the capacity to make " |
| "the decision. In practice, consent is often degraded by information " |
| "asymmetry (the provider knows more than the recipient), complexity (the " |
| "implications exceed ordinary comprehension), and structural coercion " |
| "(refusing consent is theoretically possible but practically catastrophic). " |
| "Click-through agreements, dense legal language, and 'take it or leave it' " |
| "terms are consent theater, not genuine consent. For '{concept}', we must " |
| "distinguish substantive from theatrical consent." |
| ), |
| |
| ( |
| "Applying intergenerational justice to '{concept}': decisions made today " |
| "bind future generations who have no voice in the decision. The asymmetry " |
| "is profound: we can affect them, but they cannot affect us; we can benefit " |
| "at their expense, but they cannot hold us accountable. Sustainable " |
| "practices treat the inheritance of future generations as a constraint, " |
| "not a resource to be spent. For '{concept}', the intergenerational " |
| "question is: are we spending down an inheritance that took generations " |
| "to build, or are we investing in capabilities that compound for those " |
| "who follow?" |
| ), |
| |
| ( |
| "Assessing the proportionality of '{concept}': the ethical principle of " |
| "proportionality requires that the means be commensurate with the ends. " |
| "Excessive measures to address a minor risk are disproportionate. Inadequate " |
| "measures for a major risk are negligent. The challenge is that risk " |
| "perception is biased: we overweight vivid, immediate, and personal risks " |
| "while underweighting statistical, delayed, and distributed ones. For " |
| "'{concept}', proportionality demands an honest accounting of both the " |
| "magnitude of the problem being addressed and the costs of the solution, " |
| "including costs borne by third parties who did not choose to bear them." |
| ), |
| |
| ( |
| "Investigating systemic bias in '{concept}': bias can be embedded in data " |
| "(reflecting historical inequities), in algorithms (optimizing for proxy " |
| "variables correlated with protected characteristics), in institutions " |
| "(normalizing practices that disadvantage certain groups), and in language " |
| "(framing that renders certain perspectives invisible). Systemic bias is " |
| "particularly insidious because it operates automatically, without malicious " |
| "intent, and is often invisible to those who benefit from it. For '{concept}', " |
| "a bias audit must examine not just explicit discrimination but structural " |
| "features that produce disparate outcomes even under formally neutral rules." |
| ), |
| |
| ( |
| "Applying the precautionary principle to '{concept}': when an action raises " |
| "credible threats of serious or irreversible harm, the burden of proof falls " |
| "on those proposing the action to demonstrate safety, not on those opposing " |
| "it to demonstrate harm. The precautionary principle is most appropriate " |
| "when the potential harm is severe and irreversible, scientific understanding " |
| "is incomplete, and there exist feasible alternatives. It is less appropriate " |
| "when risks are modest and reversible, or when inaction itself carries " |
| "significant risk. For '{concept}', the key judgment is whether the potential " |
| "downside is in the catastrophic-irreversible category that justifies " |
| "precautionary restraint." |
| ), |
| |
| ( |
| "Examining '{concept}' through the ethics of care: moral reasoning is not " |
| "purely abstract rule-following but is grounded in concrete relationships " |
| "of dependency, vulnerability, and mutual support. The care perspective " |
| "asks: who needs care, who provides it, is the care adequate, and are " |
| "caregivers themselves supported? Care labor is frequently invisible, " |
| "undervalued, and unequally distributed (disproportionately borne by women " |
| "and marginalized communities). For '{concept}', the care lens reveals " |
| "dependencies and support relationships that abstract frameworks overlook, " |
| "and centers the lived experience of those who give and receive care." |
| ), |
| |
| ( |
| "Evaluating the alignment properties of '{concept}': a system is aligned " |
| "when its behavior reliably serves the values and interests of those it " |
| "affects. Misalignment occurs when the system optimizes for a proxy that " |
| "diverges from the true objective -- Goodhart's law ('when a measure becomes " |
| "a target, it ceases to be a good measure'). Value lock-in occurs when early " |
| "design choices embed specific values that become increasingly difficult to " |
| "change as the system scales. For '{concept}', we must ask: whose values " |
| "are encoded, how were they chosen, can they be updated as understanding " |
| "evolves, and what happens when the proxy diverges from the true objective?" |
| ), |
| ] |
|
|
| def get_keyword_map(self) -> dict[str, list[int]]: |
| return { |
| "consequen": [0, 2], "outcome": [0], "result": [0], |
| "duty": [1], "right": [1], "obligat": [1], "rule": [1], |
| "unintend": [2], "side effect": [2], "unexpect": [2], |
| "fair": [3], "equal": [3], "justice": [3], "distribut": [3], |
| "consent": [4, 13], "autonom": [4], "choice": [4], |
| "accountab": [5], "responsib": [5], "blame": [5], |
| "vulnerab": [6], "child": [6], "elder": [6], "marginali": [6], |
| "long-term": [7, 14], "future": [7, 14], "sustain": [7, 14], |
| "power": [8], "hierarch": [8], "dominat": [8], |
| "transparen": [9], "truth": [9], "honest": [9], "disclos": [9], |
| "dual": [10], "weapon": [10], "misuse": [10], |
| "hazard": [11], "risk": [11, 17], "insur": [11], |
| "virtue": [12], "character": [12], "flourish": [12], |
| "agree": [13], "terms": [13], "privacy": [13], |
| "generation": [14], "inherit": [14], "legacy": [14], |
| "proportion": [15], "excessive": [15], "moderate": [15], |
| "bias": [16], "discriminat": [16], "prejudic": [16], |
| "precaution": [17], "irreversib": [17], "catastroph": [17], |
| "care": [18], "depend": [18], "support": [18], "nurtur": [18], |
| "align": [19], "value": [19], "proxy": [19], "goodhart": [19], |
| "technology": [10, 19], "ai": [16, 19], "artificial": [16, 19], |
| "society": [3, 7, 8], "learning": [4, 12], |
| "intelligence": [10, 19], "climate": [7, 14, 17], |
| "economic": [3, 8, 11], "health": [4, 6, 15], |
| "network": [8, 9], "data": [9, 13, 16], |
| } |
|
|
| def analyze(self, concept: str) -> str: |
| template = self.select_template(concept) |
| return template.replace("{concept}", concept) |
|
|