ByteComposer: a Human-like Melody Composition Method based on Language Model Agent