bug agent llm
1.0.0
이 에이전트는 Generative AI를 사용하여 오류의 원인을 파악하고 수정 사항을 제안하며 잘못된 코드를 수정하기도 합니다.
에이전트는 스택 추적에서 시작한 다음 더 많은 컨텍스트를 얻기 위해 관련된 모든 함수의 코드를 읽습니다. 그런 다음 오류를 설명하고 보고서에서 수정 사항을 제안합니다.
수정은 자동으로 그 자리에서 이루어질 수도 있습니다.
이 저장소의 풀 요청은 에이전트가 수정한 예입니다: https://github.com/Aschen/bug-agent-llm/pulls
에이전트를 가져오고 handleErrorWithAgent
함수를 사용하여 오류를 포착합니다.
app . post ( '/tasks' , ( req , res ) => {
try {
createTask ( req , res ) ;
}
catch ( error ) {
handleErrorWithAgent ( error , { modify : true , verbose : true } ) ;
throw error ;
}
} ) ;
예제 앱 중 하나를 실행합니다: npx ts-node ./examples/context-understanding/app.js
요청 보내기: bash ./examples/context-understanding/create.sh
이 오류는 개체에 존재하지 않는 속성에 액세스할 때 발생합니다.
이 속성은 app.js
의 createTask
함수에서 액세스되지만 database.js
의 addTask
함수에서 설정됩니다.
에이전트는 새 속성을 포함하여 업데이트된 작업을 반환하도록 성공적으로 제안했습니다.
PR #1 보기
(예제 앱 디렉토리 참조)
// app.js
function createTask ( req , res ) {
const newTask = req . body ;
verifyTask ( newTask ) ;
const savedTask = database . addTask ( newTask ) ;
res . status ( 201 ) . send ( `Task ${ savedTask . metadata . id } saved successfully` ) ;
}
// database.js
function addTask ( newTask ) {
const tasks = readTasksFromFile ( ) ;
tasks . push ( { ... newTask , metadata : { id : generateId ( ) } } ) ;
writeTasksToFile ( tasks ) ;
return newTask ;
}
오류는 거의 동일하지만 이번에는 이를 해결하기 위해 2개의 함수를 업데이트해야 합니다.
PR #2 보기
(예제 앱 디렉토리 참조)
// app.js
function createTask ( req , res ) {
const newTask = req . body ;
verifyTask ( newTask ) ;
database . addTask ( newTask ) ;
res . status ( 201 ) . send ( `Task ${ newTask . metadata . id } saved successfully` ) ;
}
// database.js
function addTask ( newTask ) {
const tasks = readTasksFromFile ( ) ;
tasks . push ( { ... newTask , metadata : { id : generateId ( ) } } ) ;
writeTasksToFile ( tasks ) ;
}