Jump to content

Draft:AI code agents

From Wikipedia, the free encyclopedia

Lead:

[edit]

I created a new article about AI code agent. When I checked the automatic programming wiki page I realized that when it talked about AI code agent, it linked the phrase to a wiki page about vibe coding, which is not exactly AI code agent but just a new phrase coined for the coding behavior when using AI code agent and thus not accurate enough for the context. So I decided to create the page to fill the gap.

AI Code Agent

[edit]

'''AI code agents''' are artificial intelligence systems designed to automate the generation of software code. They utilize inputs such as natural language prompts, examples, or formal specifications to produce functional code. These systems are part of the broader fields of Automatic programming and Program synthesis, which focus on automating software development tasks.

Historical Background

[edit]

Early Foundations (1940s–1970s)

[edit]

Early concepts of automated code generation trace back to Alan Turing's 1945 proposal for automatic computing engines. His work hinted at programmable machines capable of executing stored instructions. In the 1960s, Cordell Green applied logic-based theorem proving to program synthesis, establishing foundational principles for deductive methods. Zohar Manna and Richard Waldinger further advanced these ideas in the 1970s by deriving executable programs from logical specifications.

Growth of Practical Techniques (1980s–2000s)

[edit]

Practical applications emerged in the 1980s with systems like KIDS, developed by Douglas Smith, which automated algorithm design using domain-specific knowledge. Genetic programming, introduced by John Koza in the 1990s, used evolutionary algorithms to generate code. The 2011 release of [[Microsoft Excel]]'s Flash Fill demonstrated programming-by-example (PBE) techniques, automating string transformations based on user-provided examples.

AI-Based Code Generation (2010s–Present)

[edit]

Neural and Hybrid Approaches

[edit]

The 2010s saw the integration of deep learning into program synthesis. Projects like DeepCoder combined neural networks with symbolic methods to predict code components. Bayou, developed at Rice University, used neural sketch learning trained on GitHub data to generate Java code from natural language queries.

Large Language Models

[edit]

Advances in large language models (LLMs) led to tools like [[OpenAI]]'s Codex (2021), which powers GitHub Copilot for real-time code suggestions. [[DeepMind]]'s AlphaCode (2022) achieved median-level performance in competitive programming tasks. Meta AI's Code LLaMA (2023), derived from the LLaMA architecture, provided an open-source model for research purposes.

Challenges and Considerations

[edit]

Key challenges for AI code agents include:

  • Ensuring the correctness and security of generated code.
  • Addressing intellectual property concerns related to training data.
  • Mitigating ethical risks, such as biased or vulnerable outputs.

Research focuses on integrating formal verification tools to enhance reliability.

See Also

[edit]

References

[edit]

{{reflist}}

  • Balog, M. et al. (2017). "DeepCoder: Learning to Write Programs." ICLR.
  • Chen, M. et al. (2021). "Evaluating Large Language Models Trained on Code." arXiv:2107.03374.
  • Gulwani, S. (2011). "Automating string processing in spreadsheets using input-output examples." *Proceedings of the 38th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages*.
  • Koza, J. R. (1992). Genetic Programming: On the Programming of Computers by Means of Natural Selection. MIT Press.
  • Peng, B. et al. (2023). "What Do We Really Know About Code Generation Models?" arXiv:2302.01088.