auto-dev icon indicating copy to clipboard operation
auto-dev copied to clipboard

AutoAction - the flow with custom agent

Open phodal opened this issue 1 year ago • 16 comments

aka AutoFlow

phodal avatar Mar 07 '24 11:03 phodal

Docs: https://ide.unitmesh.cc/devins/orchestration.html

Next Task: SmallAgent

like: update xxx in method (/symbol:xxx.method)

tdd with Auto

phodal avatar Mar 26 '24 04:03 phodal

I appreciate and support you! I'm not much help at coding but thank you for going hard

Cha-Ching13 avatar Mar 28 '24 06:03 Cha-Ching13

@phodal 請問,Flow的功能還沒有實作 對嗎???

ymli0215 avatar Apr 16 '24 05:04 ymli0215

嗯,还不确定最后的形态

phodal avatar Apr 16 '24 05:04 phodal

想問一下Flow的用途

例如測試流程 : 取得針對整檔或是部分內容->產生junit test code -> write to file -> run test code 這些動作應該會透過 /file、/write、/run 連續去跑 這時候就是Flow希望做到的事情,對嗎??

ymli0215 avatar Apr 16 '24 05:04 ymli0215

对,当时设计的想法是这样的。

  1. 由 #79 生成对应的 tasking。类似于 AI 生成的任务规划
  2. 由 #100 这里执行对应的 action

所以,基本上这个 issue 算是完成了,只是没有测试过连贯性。

phodal avatar Apr 16 '24 05:04 phodal

但是你說 這個issue算是完成,但是沒有測試過連貫性,那是不是可以跟我說要怎樣測試,我試試看呢 agent 回傳

`` ` devin
[flow]:xxx.devin  
`` `

想要去呼叫我實體存在的xxx.devin,但看起來沒動靜

ymli0215 avatar Apr 16 '24 08:04 ymli0215

那可能是 bug 了,哈哈哈,因为调起来成本很高。

不对,这个功能只是设计好了,没实现:

https://github.com/unit-mesh/auto-dev/blob/84c0700a64f91a515fc3a090bcf2b98be7890916/exts/devins-lang/src/main/kotlin/cc/unitmesh/devti/language/compiler/DevInsCompiler.kt#L52-L56

phodal avatar Apr 16 '24 09:04 phodal

求實現... XD

ymli0215 avatar Apr 16 '24 10:04 ymli0215

@ymli0215 我提交了一个简单的实现上去,你先试试。剩下的只能以后再做了

phodal avatar Apr 16 '24 10:04 phodal

回報一下

透過對話視窗 flow簡單測試成功

用 單獨.devin檔案去執行flow就沒有效果,我這邊找找看問題是啥,看看有沒有可能我可以知道怎樣改...XD

ymli0215 avatar Apr 16 '24 12:04 ymli0215

看看 DevInsCompile 里的 compile 的调用方,应该是漏了一个

phodal avatar Apr 16 '24 13:04 phodal

針對DevInsProcessProcessor 加上你的做法就可以了

ymli0215 avatar Apr 16 '24 14:04 ymli0215

請問一下

我透過agent回傳 ` devin [Flow]:flow/test.devin `

test.devin目前內容 是不是還不能再去呼叫另一個agent??
我在test.devin有寫 @test ,但是她沒有去呼叫test agent

這是不是我曾問過,你預期agent只會呼叫一次,因此沒辦法觸發??? 畢竟這樣連續行為算同一個thread?


另外請問,是可以做複合動作的嗎 例如我想要在一個 .devin檔案中寫 generate junit test code for /file:aaa.java /write:test.java <- 希望把上述產生的結果寫入test.java內

ymli0215 avatar Apr 17 '24 05:04 ymli0215

现在应该是不支持 devin flow 间的信息传递的。

原始版本的 DevIns Flow 设计是这样的:

假设当前是 action_1.devin

[flow]:flow/action_2.devin

xxx action 1

默认的设计应该是:

  1. 当你执行完现在的 flow,即:action_1.devin
  2. 在结束后会检查是 comments 里的内容,即 [flow]:flow/action_2.devin
  3. 执行 action_2.devin 中的内容

理论上,如果 action_2.devin 不执行 agent 的话,可能是个 bug ??

PS:預期 agent 只呼叫一次是在 chat panel 中的行为,如果是单独的 .devin 文件,可能是会执行的 —— 待确定。

phodal avatar Apr 17 '24 06:04 phodal

我現在測試 A.devin(透過agent呼叫B.devin) -> B.devin(透過agent呼叫C.devin) -> C.devin (/write) 但是C.devin沒有被呼叫寫檔

這邊我試著看看是哪裡的原因再來回報

ymli0215 avatar Apr 17 '24 08:04 ymli0215