{"passport":{"unfragile":{"@version":"1.0","version":"2026-05","artifact":{"id":"awesome-paper-chatdev-communicative-agents-for-software-development","slug":"paper-chatdev-communicative-agents-for-software-development","name":"Paper - ChatDev: Communicative Agents for Software Development","type":"repo","url":"https://arxiv.org/abs/2307.07924","page_url":"https://unfragile.ai/paper-chatdev-communicative-agents-for-software-development","categories":["productivity"],"tags":[],"pricing":{"model":"unknown","free":false,"starting_price":null},"status":"inactive","verified":false},"capabilities":[{"id":"awesome-paper-chatdev-communicative-agents-for-software-development__cap_0","uri":"capability://planning.reasoning.multi.agent.software.development.orchestration","name":"multi-agent software development orchestration","description":"Coordinates multiple specialized AI agents (CEO, CTO, programmer, tester) through a role-based communication protocol where each agent has distinct responsibilities and communicates via structured message passing. Agents maintain conversation history and context across development phases (requirements analysis, architecture design, implementation, testing), with a central coordinator managing task delegation and phase transitions based on agent outputs.","intents":["I want to generate a complete software project from a natural language specification without writing code myself","I need to simulate a software development team workflow to understand how requirements flow through design to implementation","I want to automate the entire pipeline from spec to tested code with intermediate review stages"],"best_for":["teams prototyping rapid MVP generation workflows","researchers studying multi-agent collaboration patterns","developers building LLM-based software factories"],"limitations":["Agent coordination adds latency — each phase requires sequential agent turns, making total generation time 5-10x longer than single-model generation","No persistent state management between runs — context is ephemeral within a single generation session","Quality degrades on complex requirements (>500 tokens) due to context window constraints in agent communication","No built-in rollback or iterative refinement — if an agent produces incorrect output, entire downstream phases are affected"],"requires":["API access to LLM provider (OpenAI GPT-4 or equivalent)","Python 3.8+","Sufficient API quota for multi-turn agent conversations (typically 10-50 API calls per project)"],"input_types":["natural language project specification","text-based requirements"],"output_types":["source code (Python, JavaScript, etc.)","project structure","test files","agent conversation logs"],"categories":["planning-reasoning","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-paper-chatdev-communicative-agents-for-software-development__cap_1","uri":"capability://memory.knowledge.agent.to.agent.communication.protocol.with.memory","name":"agent-to-agent communication protocol with memory","description":"Implements a structured message-passing system where agents exchange information through a shared conversation history that persists across turns. Each agent reads prior messages, generates responses following role-specific templates, and appends to a growing transcript. The protocol includes semantic routing — agents can reference specific prior messages and the system maintains context windows to prevent token overflow while preserving critical architectural decisions.","intents":["I want agents to build on each other's work without losing context from earlier decisions","I need to track the reasoning chain from requirements through design to code implementation","I want to debug multi-agent workflows by inspecting the full conversation history"],"best_for":["developers building transparent multi-agent systems","researchers analyzing agent collaboration patterns","teams needing audit trails of AI-driven development decisions"],"limitations":["Context window management is manual — no automatic summarization, so long projects may exceed token limits","Message ordering is strictly sequential — no parallel agent execution or concurrent task handling","No conflict resolution mechanism — if agents disagree on architecture, the system defaults to the last agent's output","Conversation history is uncompressed — grows linearly with project complexity, increasing latency per turn"],"requires":["LLM with sufficient context window (8k+ tokens)","Ability to store and retrieve conversation transcripts (file system or database)"],"input_types":["agent messages (structured text)","prior conversation history"],"output_types":["agent responses","conversation transcript","structured decision records"],"categories":["memory-knowledge","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-paper-chatdev-communicative-agents-for-software-development__cap_2","uri":"capability://automation.workflow.phase.based.software.development.workflow","name":"phase-based software development workflow","description":"Decomposes software development into discrete phases (requirements analysis, architecture design, implementation, testing) where each phase has specific agent responsibilities and success criteria. The system enforces phase ordering — agents cannot proceed to implementation until architecture is approved, and testing only occurs after code generation. Phase transitions are triggered by agent outputs meeting implicit quality thresholds or explicit approval signals.","intents":["I want to enforce a structured development process where design precedes implementation","I need to ensure requirements are analyzed before architecture is designed","I want to generate code that has been reviewed by a testing agent before delivery"],"best_for":["organizations enforcing SDLC governance through AI","teams building code generation tools that require quality gates","researchers studying how phase structure affects AI-generated code quality"],"limitations":["Phase boundaries are rigid — no backtracking if an earlier phase produces incorrect output (e.g., flawed architecture discovered during implementation)","Phase success criteria are implicit — no formal validation that a phase is complete before proceeding","Waterfall model limitations apply — changes to requirements after design phase are not handled","No parallel phase execution — total time is sum of all phases rather than critical path optimization"],"requires":["Clear phase definitions and agent role assignments","LLM capable of understanding phase context and constraints"],"input_types":["project specification","phase-specific prompts"],"output_types":["requirements document","architecture design","implementation code","test suite"],"categories":["automation-workflow","planning-reasoning"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-paper-chatdev-communicative-agents-for-software-development__cap_3","uri":"capability://planning.reasoning.role.based.agent.specialization.with.domain.prompting","name":"role-based agent specialization with domain prompting","description":"Assigns distinct roles to agents (CEO for strategic planning, CTO for technical architecture, Programmer for implementation, Tester for validation) and uses role-specific system prompts that constrain each agent's behavior and output format. The CEO agent synthesizes requirements and delegates tasks; the CTO designs architecture and validates feasibility; the Programmer implements based on specifications; the Tester generates test cases and validates correctness. Each role has implicit constraints on what outputs are acceptable.","intents":["I want different agents to focus on different aspects of software development without overlap","I need agents to respect domain boundaries (e.g., programmer doesn't redesign architecture)","I want to simulate how different roles in a development team would approach a problem"],"best_for":["teams modeling organizational structures in AI systems","researchers studying role-based agent behavior","developers building domain-specific multi-agent systems"],"limitations":["Role definitions are hardcoded — no dynamic role assignment based on project needs","Role boundaries are enforced only through prompting — a misbehaving agent can ignore its role constraints","No role negotiation — if agents disagree on role responsibilities, there's no resolution mechanism","Role specialization adds complexity — more agents means more coordination overhead and potential for miscommunication"],"requires":["Well-defined role descriptions and responsibilities","LLM capable of following role-specific instructions consistently"],"input_types":["role-specific prompts","domain context"],"output_types":["role-appropriate responses","domain-specific artifacts (architecture docs, code, tests)"],"categories":["planning-reasoning","text-generation-language"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-paper-chatdev-communicative-agents-for-software-development__cap_4","uri":"capability://code.generation.editing.code.generation.from.architectural.specifications","name":"code generation from architectural specifications","description":"Translates high-level architecture designs (produced by the CTO agent) into executable source code through a Programmer agent that reads architectural constraints, module definitions, and API specifications. The Programmer generates code that adheres to the specified architecture, including file structure, module boundaries, and inter-module communication patterns. The system supports multiple programming languages and generates complete, runnable projects rather than code snippets.","intents":["I want to generate code that strictly follows an architectural design without deviations","I need to produce complete projects with proper file structure and module organization","I want to ensure generated code respects architectural constraints like module dependencies"],"best_for":["teams generating code from formal architecture specifications","developers building architecture-driven code generation tools","organizations enforcing architectural governance through AI"],"limitations":["Code quality depends on architecture specification clarity — vague designs produce inconsistent code","No real-time compilation or syntax validation — generated code may have syntax errors requiring manual fixes","Limited to architectures that can be expressed in text — complex visual designs must be converted to text first","No support for legacy code integration — generated code assumes greenfield projects"],"requires":["Clear architectural specification in text format","LLM with knowledge of target programming languages","Target language compiler/interpreter for validation (optional)"],"input_types":["architecture design document","module specifications","API definitions"],"output_types":["source code files","project structure","configuration files"],"categories":["code-generation-editing"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-paper-chatdev-communicative-agents-for-software-development__cap_5","uri":"capability://code.generation.editing.automated.test.generation.and.validation","name":"automated test generation and validation","description":"A Tester agent automatically generates test cases based on code specifications and implementation details, then validates the generated code against those tests. The Tester reads the implementation code, infers test scenarios from function signatures and documented behavior, generates test cases in the appropriate framework (pytest, Jest, etc.), and reports pass/fail results. The system can identify bugs in generated code and flag them for developer review.","intents":["I want to automatically generate test suites for AI-generated code","I need to validate that generated code meets its specifications before delivery","I want to identify bugs in generated code through automated testing"],"best_for":["teams building code generation pipelines with quality gates","developers automating test generation for AI-generated code","organizations requiring test coverage for all generated artifacts"],"limitations":["Test generation is specification-driven — if code behavior doesn't match documented specs, tests may pass incorrectly","No support for integration testing — tests are limited to unit-level validation","Test coverage is incomplete — edge cases and error conditions may not be tested","Test generation quality depends on code documentation — poorly documented code produces weak tests"],"requires":["Generated code with clear function signatures and documentation","Test framework for target language (pytest, Jest, etc.)","Ability to execute tests and capture results"],"input_types":["source code","function specifications","API documentation"],"output_types":["test code","test results","coverage reports","bug reports"],"categories":["code-generation-editing","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-paper-chatdev-communicative-agents-for-software-development__cap_6","uri":"capability://planning.reasoning.requirements.to.specification.translation","name":"requirements-to-specification translation","description":"A CEO agent reads natural language project requirements and translates them into structured specifications that guide downstream agents. The CEO analyzes requirements for completeness, identifies ambiguities, decomposes high-level goals into concrete tasks, and produces a specification document that includes functional requirements, non-functional constraints, and success criteria. This specification becomes the input for the CTO's architecture design phase.","intents":["I want to convert vague project requirements into clear specifications","I need to identify missing requirements or ambiguities before design begins","I want to decompose complex projects into manageable tasks for other agents"],"best_for":["teams automating requirements analysis","developers building specification-driven code generation","organizations standardizing requirement documentation"],"limitations":["Specification quality depends on requirement clarity — incomplete requirements produce incomplete specifications","No stakeholder feedback loop — specifications are generated without user validation","Ambiguity resolution is automatic — the system may make incorrect assumptions about unclear requirements","No traceability — specifications may lose context from original requirements"],"requires":["Natural language project requirements","LLM capable of requirements analysis and decomposition"],"input_types":["natural language requirements","project description"],"output_types":["structured specification","requirement decomposition","task list"],"categories":["planning-reasoning","text-generation-language"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-paper-chatdev-communicative-agents-for-software-development__cap_7","uri":"capability://planning.reasoning.architecture.design.with.feasibility.validation","name":"architecture design with feasibility validation","description":"A CTO agent designs software architecture based on specifications, proposing module structure, component interactions, technology choices, and design patterns. The CTO validates architectural feasibility by checking for circular dependencies, ensuring modules are cohesive, and confirming that the design can be implemented with available technologies. The architecture is documented in a format that the Programmer agent can use to generate code, including module definitions, APIs, and inter-module communication patterns.","intents":["I want to automatically design software architecture from specifications","I need to validate that proposed architectures are technically feasible","I want to ensure generated code follows a coherent architectural design"],"best_for":["teams automating architecture design","developers building architecture-driven code generation","organizations enforcing architectural patterns through AI"],"limitations":["Architecture validation is heuristic-based — no formal verification of correctness","No support for non-functional requirements like scalability or security — architecture focuses on structural design","Technology choices are constrained by LLM knowledge — emerging technologies may not be considered","No iterative refinement — if architecture is flawed, the system doesn't automatically redesign"],"requires":["Clear specifications with functional and non-functional requirements","LLM with knowledge of software architecture patterns and design principles"],"input_types":["project specifications","requirement documents"],"output_types":["architecture design document","module definitions","API specifications","design pattern recommendations"],"categories":["planning-reasoning","code-generation-editing"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-paper-chatdev-communicative-agents-for-software-development__cap_8","uri":"capability://code.generation.editing.multi.language.code.generation.with.language.specific.patterns","name":"multi-language code generation with language-specific patterns","description":"Generates executable code in multiple programming languages (Python, JavaScript, Java, C++, etc.) by using language-specific code generation templates and patterns. The system understands language idioms, standard libraries, and framework conventions for each target language, producing idiomatic code rather than direct translations. The Programmer agent selects appropriate language features and design patterns based on the target language's strengths.","intents":["I want to generate code in multiple programming languages from a single specification","I need code that follows language-specific idioms and best practices","I want to support polyglot development where different modules use different languages"],"best_for":["teams building polyglot code generation tools","developers generating code for multiple platforms","organizations supporting diverse technology stacks"],"limitations":["Code quality varies by language — languages with less training data produce lower-quality code","Language-specific features may not be fully utilized — generated code may be overly generic","No cross-language type checking — generated code in different languages may have incompatible interfaces","Maintenance burden increases with language count — each language requires separate validation and testing"],"requires":["LLM trained on code in target languages","Compilers/interpreters for each target language (for validation)","Language-specific testing frameworks"],"input_types":["architecture specifications","target language selection"],"output_types":["source code in multiple languages","language-specific configuration files"],"categories":["code-generation-editing"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-paper-chatdev-communicative-agents-for-software-development__cap_9","uri":"capability://text.generation.language.conversation.based.refinement.and.clarification","name":"conversation-based refinement and clarification","description":"Agents can request clarification from users or other agents when specifications are ambiguous or incomplete. The system maintains a conversation interface where agents ask questions, users provide answers, and those answers are incorporated into the specification. This creates an iterative refinement loop where the system progressively clarifies requirements and specifications through dialogue rather than requiring complete specifications upfront.","intents":["I want to refine vague requirements through agent-driven clarification questions","I need to handle ambiguous specifications by asking for user input","I want to iteratively improve specifications based on feedback"],"best_for":["teams with incomplete or evolving requirements","developers building interactive code generation tools","organizations using AI to guide requirement gathering"],"limitations":["Clarification questions may be repetitive or off-topic — no guarantee of question quality","User responses are unstructured — system must parse natural language answers","Conversation state is not persistent — clarifications are lost if the session ends","No mechanism to detect when enough clarification has been gathered — process may continue indefinitely"],"requires":["User interface for agent-user conversation","Mechanism to incorporate user responses into specifications"],"input_types":["user responses to clarification questions","feedback on generated artifacts"],"output_types":["clarification questions","refined specifications","updated requirements"],"categories":["text-generation-language","planning-reasoning"],"confidence":0.5,"matches":0,"success_rate":0}],"trust":{"score":19,"verified":false,"data_access_risk":"high","permissions":["API access to LLM provider (OpenAI GPT-4 or equivalent)","Python 3.8+","Sufficient API quota for multi-turn agent conversations (typically 10-50 API calls per project)","LLM with sufficient context window (8k+ tokens)","Ability to store and retrieve conversation transcripts (file system or database)","Clear phase definitions and agent role assignments","LLM capable of understanding phase context and constraints","Well-defined role descriptions and responsibilities","LLM capable of following role-specific instructions consistently","Clear architectural specification in text format"],"failure_modes":["Agent coordination adds latency — each phase requires sequential agent turns, making total generation time 5-10x longer than single-model generation","No persistent state management between runs — context is ephemeral within a single generation session","Quality degrades on complex requirements (>500 tokens) due to context window constraints in agent communication","No built-in rollback or iterative refinement — if an agent produces incorrect output, entire downstream phases are affected","Context window management is manual — no automatic summarization, so long projects may exceed token limits","Message ordering is strictly sequential — no parallel agent execution or concurrent task handling","No conflict resolution mechanism — if agents disagree on architecture, the system defaults to the last agent's output","Conversation history is uncompressed — grows linearly with project complexity, increasing latency per turn","Phase boundaries are rigid — no backtracking if an earlier phase produces incorrect output (e.g., flawed architecture discovered during implementation)","Phase success criteria are implicit — no formal validation that a phase is complete before proceeding","builder identity is not verified yet","no observed match outcomes yet"],"rank_breakdown":{"adoption":0.05,"quality":0.2,"ecosystem":0.25,"match_graph":0.25,"freshness":0.5,"weights":{"adoption":0.3,"quality":0.2,"ecosystem":0.15,"match_graph":0.3,"freshness":0.05}},"observed_outcomes":{"matches":0,"success_rate":0,"avg_confidence":0,"top_intents":[],"last_matched_at":null},"maintenance":{"status":"inactive","updated_at":"2026-06-17T09:51:03.579Z","last_scraped_at":"2026-05-03T14:00:10.321Z","last_commit":null},"community":{"stars":null,"forks":null,"weekly_downloads":null,"model_downloads":null,"model_likes":null}},"distribution":{"claim_url":"https://unfragile.ai/submit?claim=paper-chatdev-communicative-agents-for-software-development","compare_url":"https://unfragile.ai/compare?artifact=paper-chatdev-communicative-agents-for-software-development"}},"signature":"kZnCQcrPqi3QNOZhZdfouyCtLavPQ/TLqbvgmm9a1se17UyqcJjhW0cVHPoRZddCyDkTQt4YUfJzVxFzAM6rCA==","signedAt":"2026-06-20T18:35:48.913Z","signedBy":"unfragile.ai","version":1},"_links":{"self":"https://unfragile.ai/api/v1/passport/paper-chatdev-communicative-agents-for-software-development","artifact":"https://unfragile.ai/paper-chatdev-communicative-agents-for-software-development","verify":"https://unfragile.ai/api/v1/verify?slug=paper-chatdev-communicative-agents-for-software-development","publicKey":"https://unfragile.ai/api/v1/trust-passport-public-key","spec":"https://unfragile.ai/trust","schema":"https://unfragile.ai/schema.json","docs":"https://unfragile.ai/docs"}}