bug agent llm
1.0.0
该代理使用生成式人工智能来确定错误原因,提出修复建议,甚至修改错误代码。
代理将从堆栈跟踪开始,然后读取所涉及的每个函数的代码以获取更多上下文。然后它会在报告中解释错误并建议修复。
修复也可以自动就地进行。
此存储库的拉取请求是代理所做的修复示例: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 ) ;
}