Skip to content

Commit

Permalink
feat(devins-lang): introduce DevIns Lang as the AI Agent language #101
Browse files Browse the repository at this point in the history
DevIns Lang, a significant enhancement to our AutoDev AI Agent, has been introduced, aiming to elevate the agent's capabilities through a comprehensive language for defining and enhancing its behavior. This new language, designed to interact with Large Language Models (LLMs), allows developers to craft intricate instructions for the AI Agent, making it more intelligent and efficient in executing complex tasks. The language, previously known as DevInputLanguage, has been renamed to DevIns to avoid confusion with Devin AI, a renowned AI company. The documentation has been updated to reflect this change, providing a clear and concise overview of DevIns Lang and its key features, including enhanced intelligence and task segmentation.
  • Loading branch information
phodal committed Mar 16, 2024
1 parent 07a549d commit e109520
Show file tree
Hide file tree
Showing 3 changed files with 48 additions and 17 deletions.
29 changes: 19 additions & 10 deletions docs/devins/devins-language.md
Expand Up @@ -27,7 +27,7 @@ Based on: [JetBrains' Markdown Util](https://github.com/JetBrains/intellij-commu
## Language spec

```bnf
DevInsFile ::= (used | code | TEXT_SEGMENT | NEWLINE)*
DevInFile ::= (used | code | TEXT_SEGMENT | NEWLINE)*
used ::= (
AGENT_START AGENT_ID
Expand All @@ -45,19 +45,28 @@ code_contents ::= (NEWLINE | CODE_CONTENT)*

### Introduce file

For example:

```devin
Explain code /file:src/main/java/com/example/Controller.java
```

will call LLM to explain the code in the file `src/main/java/com/example/Controller.java`.

### Edit file

```devin
/edit /file:src/main/java/com/example/Controller.java#L1-L12
\`\`\`java
public class Controller {
public void method() {
System.out.println("Hello, World!");
If AI Agent returns a code snippet, AutoDev can edit the file with the code snippet.

For example:

/edit /file:src/main/java/com/example/Controller.java#L1-L12
```java
public class Controller {
public void method() {
System.out.println("Hello, World!");
}
}
}
\`\`\`
```
```

will edit the file `src/main/java/com/example/Controller.java` with the code snippet.
The `#L1-L12` is the line range to edit. The code snippet is in Java language.
10 changes: 7 additions & 3 deletions docs/devins/devins.md
Expand Up @@ -8,9 +8,13 @@ permalink: /devins

{: .no_toc }

# DevIn Language
# DevIns Language

DevIn lang is the AutoDev AI Agent language, which means Development Intelligence.
DevIn can make the AI Agent more intelligent and more powerful. It is a language that can be used to describe
DevIns lang is the AutoDev AI Agent language, which means Development Intelligence.
DevIns can make the AI Agent more intelligent and more powerful. It is a language that can be used to describe
the AI Agent's behavior and capabilities.

An AI Agent task can split into multiple instructions, and each instruction can be description by a DevIn file,
which is a markdown file with DevIn language.


26 changes: 22 additions & 4 deletions exts/devins-lang/README.md
@@ -1,8 +1,26 @@
# DevIns Language
# DevIns Lang: Enhancing AI Agent Capabilities

> DevIn lang is the AutoDev AI Agent language, which means Development Intelligence.
> DevIn can make the AI Agent more intelligent and more powerful. It is a language that can be used to describe
> the AI Agent's behavior and capabilities.
DevIns Lang, short for Development Intelligence Language, is the driving force behind our AutoDev AI Agent's advanced
capabilities. It serves as a comprehensive tool for defining and enhancing the behavior and functionalities of the AI
Agent.

## What is DevIns?

DevIns Lang empowers developers to craft intricate instructions for the AI Agent, enabling it to perform tasks with
greater intelligence and efficiency. By breaking down tasks into manageable instructions, developers can leverage the
full potential of the AI Agent in various scenarios.

### Key Features:

- **Enhanced Intelligence**: DevIns Lang equips the AI Agent with a higher level of intelligence, enabling it to
understand and execute complex instructions effectively.
- **Task Segmentation**: Complex AI tasks are divided into smaller, more manageable instructions, each defined using
DevIns language within markdown files.

### Why DevIns?

Originally named DevInputLanguage in Issue [#101](https://github.com/unit-mesh/auto-dev/issues/101) for better
interaction with LLM, we later renamed it to DevIns. This change was prompted by the discovery of Devin AI, a renowned
AI company, to avoid confusion. The name DevIns, derived from DevInstruction, succinctly captures the essence of the
language in guiding the AI Agent's actions.

0 comments on commit e109520

Please sign in to comment.